| name NAME |
| type win16|win32 |
| id ID_NUMBER |
| |
| ORDINAL VARTYPE EXPORTNAME (DATA [DATA [DATA [...]]]) |
| |
| ORDINAL FUNCTYPE EXPORTNAME([ARGTYPE [ARGTYPE [...]]]) HANDLERNAME |
| |
| ORDINAL stub EXPORTNAME |
| |
| ORDINAL equate EXPORTNAME DATA |
| |
| ORDINAL return EXPORTNAME ARGLENGTH RETVALUE |
| |
| # COMMENT_TEXT |
| |
| -------------------- |
| General: |
| |
| "name", "type" and "id" fields are mandatory. Specific ordinal |
| declarations are optional, but the default handler will print an error |
| message. Lines whose first character is a '#' will be ignored as |
| comments. |
| |
| Variable ordinals: |
| |
| This type defines data storage at the ordinal specified. You may |
| store items as bytes, 16-bit words, or 32-bit words. |
| "ORDINAL" is replaced by the ordinal number corresponding to the |
| variable. "VARTYPE" should be "byte", "word" or "long" for 8, 16, or |
| 32 bits respectively. "EXPORTNAME" will be the name available for |
| dynamic linking. "DATA" can be a decimal number or a hex number preceeded |
| by "0x". The following example defines the variable "VariableA" at |
| ordinal 2 and containing 4 bytes: |
| |
| 2 byte VariableA -1 0xff 0 0 |
| |
| Function ordinals: |
| |
| This type defines a function entry point. The prototype defined by |
| "EXPORTNAME ([ARGTYPE [ARGTYPE [...]]])" specifies the name available for |
| dynamic linking and the format of the 16-bit stack. "ORDINAL" is replaced |
| by the ordinal number corresponding to the function. "FUNCTYPE" should be |
| "pascal16" or "pascal" for 16-bit or 32-bit return values. "ARGTYPE" |
| should be "byte", "word", "long", "ptr" (linear pointer), "s_byte" (signed |
| byte), "s_word" (signed word), "s_long" (signed long), or "segptr" |
| (segmented pointer). "HANDLERNAME" is the name of the actual function that |
| will process the request in 32-bit mode. |
| |
| This first example defines an entry point for the CreateWindow() |
| call (the ordinal 100 is just an example): |
| |
| 100 pascal CreateWindow(ptr ptr long s_word s_word s_word s_word |
| word word word ptr) |
| WIN_CreateWindow |
| |
| This second example defines an entry point for the GetFocus() |
| call (the ordinal 100 is just an example): |
| |
| 100 pascal GetFocus() WIN_GetFocus() |
| |
| Stub ordinals: |
| |
| This type defines a stub function. It makes the name and ordinal |
| available for dynamic linking, but will terminate execution with an |
| error message if the function is ever called. |
| |
| Equate ordinals: |
| |
| This type defines an ordinal as an absolute value. |
| "ORDINAL" is replaced by the ordinal number corresponding to the |
| variable. "EXPORTNAME" will be the name available for dynamic linking. |
| "DATA" can be a decimal number or a hex number preceeded by "0x". |
| |
| Return ordinals: |
| |
| This type defines a function entry point whose handler should do |
| nothing but return a value. |
| "ORDINAL" is replaced by the ordinal number corresponding to the |
| variable. ARGLENGTH is the number of bytes that need to be removed |
| from the stack before returning to the caller. RETVALUE is the |
| return value which will be passed back to the caller. |