The form_error function has been extended in N.AES, so that a sensible message can be output for all GEMDOS errors for a form_error call.
An N.AES form_error code is calculated from a GEMDOS error-code with:
formcode = ~gemdoscode - 30
~ ist bitweises NOT
In the 'form_error codes' table (below) all possible N.AES form_error codes are listed next to the corresponding GEMDOS errors. The first column holds the form_error code and the name of the associated object in the system resource, the second column the corresponding GEMDOS error and the third column a short description of the error.
Please note that not all form_error codes have a GEMDOS error assigned to them.
Code | GEMDOS error | Meaning |
0 ERR_TOSERR | !~ | |
1 ERR_INVFN | -32 EINVFN | Invalid function |
2 ERR_NOTFOUND | -33 EFILNF | File not found |
3 ERR_NOTFOUND | -34 EPTHNF | Path not found |
4 ERR_NHNDL | -35 ENHNDL | No more handles |
5 ERR_ACCDN | -36 EACCDN | Access denied |
6 ERR_IHNDL | -37 EBADF | Invalid handle |
8 ERR_NSMEM | -39 ENSMEM | Insufficient memory |
9 ERR_IMBA | -40 EIMBA | Invalid memory block address |
15 ERR_DRIVE | -46 EDRIVE | Invalid drive specification |
17 ERR_XDEV | -48 EXDEV | Cross device rename |
18 ERR_NOTFOUND | -49 ENMFIL | No more files (fsnext) |
27 ERR_LOCKING | -58 ELOCKED | Record is locked already |
28 ERR_LOCKING | -59 ENSLOCK | Invalid lock removal request |
33 ERR_TOSERR | -64 ERANGE | Range error |
34 ERR_INTRN | -65 EINTRN | Internal error |
35 ERR_PLFMT | -66 EPLFMT | Invalid program load format |
36 ERR_GSBF | -67 EGSBF | Memory block growth failure |
49 ERR_LOOP | -80 ELOOP | Too many symbolic links |
50 ERR_PIPE | -81 EPIPE | Write to a broken pipe |
For each of the various form_errors there is also a corresponding alert box in the system resource file N_AESSYS.RSC, whose symbolic constant starts with 'ERR_' and is also listed in the first column of the 'form_error codes' table.