pcs/xli.equ

70 lines
2.4 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; 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