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
|
|||
|
|
|||
|
|
|||
|
|