70 lines
2.4 KiB
Plaintext
70 lines
2.4 KiB
Plaintext
|
||
; XLI constants
|
||
; note: if N_EXE is ever made larger, examine macro "load_index" also
|
||
XLI_ID equ 4252h ;XLI version number
|
||
;(PCS 3.0, 3.02 XLI id = 4252)
|
||
N_EXE equ 10 ;no. of .EXE files allowed
|
||
N_ARGS equ 16 ;no. of xesc args allowed
|
||
N_RV equ 4 ;no. of return values
|
||
;same as for SW-INT: 0-3, with same meaning
|
||
SWI_TF equ 1 ;SW-INT true/false return value
|
||
SWI_STR equ 2 ;SW-INT string return value
|
||
RV_ERR equ 10 ;error return value code
|
||
PAD_SIZE equ 8 ;max size of 1 elementary data type,
|
||
;which is size of 1 elt in work_area
|
||
;(flonum/double)
|
||
|
||
; XLI errors
|
||
XLI_ERR_UNKNOWN_LENGTH equ 1 ;fatal error
|
||
XLI_ERR_NAME_BAD_TYPE equ 2
|
||
;XLI_ERR_MISMATCHED_LENGTH equ 3
|
||
XLI_ERR_ARGN_BAD_TYPE equ 4
|
||
XLI_ERR_VALUE_BAD_TYPE equ 5
|
||
XLI_ERR_NO_SUCH_NAME equ 6
|
||
XLI_ERR_BIG_TO_32_BITS equ 7
|
||
XLI_ERR_SYNC_ERR equ 8
|
||
XLI_ERR_RELMEM equ 9
|
||
XLI_ERR_NO_MEMORY equ 10
|
||
XLI_ERR_BAD_EXEC equ 11
|
||
XLI_ERR_NO_AVAILABLE_SLOTS equ 12
|
||
XLI_ERR_NO_SUCH_FILE equ 13
|
||
XLI_ERR_BIG_TO_16_BITS equ 14
|
||
XLI_ERR_BAD_VERSION equ 15
|
||
XLI_ERR_EXTERNAL_ERROR equ 16
|
||
|
||
; DOS function requests
|
||
FR_TSR equ 3100h ;TSR (keep process)
|
||
FR_OPEN equ 3D00h ;open file
|
||
FR_CLOSE equ 3E00h ;close file
|
||
FR_READ equ 3F00h ;read from file
|
||
FR_RELMEM equ 4900h ;release memory block
|
||
FR_EXEC equ 4B00h ;bid (exec) child process
|
||
FR_FIND1 equ 4E00h ;find match file
|
||
|
||
; .EXE states
|
||
EXE_NONE equ 0 ;this spot is open (haven't EXEC'ed child)
|
||
EXE_TSR equ 1 ;have EXEC'ed child but not yet TSR'ed it
|
||
EXE_NORM equ 2 ;child loaded and waiting
|
||
EXE_TERM equ 3 ;child terminating
|
||
|
||
; File block flags
|
||
FB_NEAR equ 01h ;1=copy to child's space (near data)
|
||
;0=no copy (far data)
|
||
FB_INT equ 02h ;1=convert PCS integers to 16-bit int's
|
||
;0=convert to 32-bit longint's
|
||
FB_KEEPENV equ 04h ;1=don't release child's env block
|
||
;0=we do it for child automatically
|
||
FB_PAD equ 08h ;1=space each arg in dest 8 bytes apart
|
||
;0=pack args contiguously
|
||
FB_SYSINT equ 10h ;1=system callable routine
|
||
;0=normal xli routine
|
||
|
||
; Special services
|
||
SS_SWAP equ 1 ;swap
|
||
|
||
; PSP offsets
|
||
env_ptr equ 02Ch ;env block offset
|
||
fb_ptr equ 05Ch ;file block offset
|
||
|
||
|
||
|