; File:  E16.GSOS
;
;
; Copyright Apple Computer, Inc. 1986-90
; All Rights Reserved
;
;
readEnableAllowWrite EQU $0000
readEnable EQU $0001
writeEnable EQU $0002
readWriteEnable EQU $0003
fileInvisible EQU $0004  ; Invisible bit
backupNeeded EQU $0020  ; backup needed bit: CreateRec/ OpenRec access  field. (Must be 0 in requestAccess field )
renameEnable EQU $0040  ; rename enable bit: CreateRec/ OpenRec access and requestAccess fields
destroyEnable EQU $0080  ; destroy enable  bit: CreateRec/ OpenRec access and requestAccess fields
startPlus EQU $0000  ; base -> setMark = displacement
eofMinus EQU $0001  ; base -> setMark = eof - displacement
markPlus EQU $0002  ; base -> setMark = mark + displacement
markMinus EQU $0003  ; base -> setMark = mark - displacement
cacheOff EQU $0000  ; do not cache blocks invloved in this read
cacheOn EQU $0001  ; cache blocks invloved in this read if possible
badSystemCall EQU $0001  ; bad system call number
invalidPcount EQU $0004  ; invalid parameter count
gsosActive EQU $0007  ; GS/OS already active
    IF &FINDSYM(&SYSGLOBAL,'DEVNOTFOUND')=0 AND &FINDSYM(&SYSGLOBAL,'devnotfound')=0 THEN  ; device not found
devNotFound EQU $10
    ENDIF
invalidDevNum EQU $11  ; invalid device number
drvrBadReq EQU $20  ; bad request or command
drvrBadCode EQU $0021  ; bad control or status code
drvrBadParm EQU $0022  ; bad call parameter
drvrNotOpen EQU $0023  ; character device not open
drvrPriorOpen EQU $0024  ; character device already open
irqTableFull EQU $0025  ; interrupt table full
drvrNoResrc EQU $0026  ; resources not available
drvrIOError EQU $0027  ; I/O error
drvrNoDevice EQU $0028  ; device not connected
drvrBusy EQU $0029  ; call aborted; driver is busy
drvrWrtProt EQU $002B  ; device is write protected
drvrBadCount EQU $002C  ; invalid byte count
drvrBadBlock EQU $002D  ; invalid block address
drvrDiskSwitch EQU $002E  ; disk has been switched
drvrOffLine EQU $002F  ; device off line/ no media present
badPathSyntax EQU $0040  ; invalid pathname syntax
invalidRefNum EQU $0043  ; invalid reference number
    IF &FINDSYM(&SYSGLOBAL,'PATHNOTFOUND')=0 AND &FINDSYM(&SYSGLOBAL,'pathnotfound')=0 THEN  ; subdirectory does not exist
pathNotFound EQU $44
    ENDIF
volNotFound EQU $0045  ; volume not found
    IF &FINDSYM(&SYSGLOBAL,'FILENOTFOUND')=0 AND &FINDSYM(&SYSGLOBAL,'filenotfound')=0 THEN  ; file not found
fileNotFound EQU $0046
    ENDIF
dupPathname EQU $0047  ; create or rename with existing name
volumeFull EQU $0048  ; volume full error
volDirFull EQU $0049  ; volume directory full
badFileFormat EQU $004A  ; version error (incompatible file format)
    IF &FINDSYM(&SYSGLOBAL,'BADSTORETYPE')=0 AND &FINDSYM(&SYSGLOBAL,'badstoretype')=0 THEN  ; unsupported (or incorrect) storage type
badStoreType EQU $004B
    ENDIF
    IF &FINDSYM(&SYSGLOBAL,'EOFENCOUNTERED')=0 AND &FINDSYM(&SYSGLOBAL,'eofencountered')=0 THEN  ; end-of-file encountered
eofEncountered EQU $004C
    ENDIF
outOfRange EQU $004D  ; position out of range
invalidAccess EQU $004E  ; access not allowed
buffTooSmall EQU $004F  ; buffer too small
fileBusy EQU $0050  ; file is already open
dirError EQU $0051  ; directory error
unknownVol EQU $0052  ; unknown volume type
    IF &FINDSYM(&SYSGLOBAL,'PARAMRANGEERR')=0 AND &FINDSYM(&SYSGLOBAL,'paramrangeerr')=0 THEN  ; parameter out of range
paramRangeErr EQU $0053
    ENDIF
outOfMem EQU $0054  ; out of memory
dupVolume EQU $0057  ; duplicate volume name
notBlockDev EQU $0058  ; not a block device
    IF &FINDSYM(&SYSGLOBAL,'INVALIDLEVEL')=0 AND &FINDSYM(&SYSGLOBAL,'invalidlevel')=0 THEN  ; specifield level outside legal range
invalidLevel EQU $0059
    ENDIF
damagedBitMap EQU $005A  ; block number too large
badPathNames EQU $005B  ; invalid pathnames for ChangePath
notSystemFile EQU $005C  ; not an executable file
osUnsupported EQU $005D  ; Operating System not supported
    IF &FINDSYM(&SYSGLOBAL,'STACKOVERFLOW')=0 AND &FINDSYM(&SYSGLOBAL,'stackoverflow')=0 THEN  ; too many applications on stack
stackOverflow EQU $005F
    ENDIF
dataUnavail EQU $0060  ; Data unavailable
endOfDir EQU $0061  ; end of directory has been reached
invalidClass EQU $0062  ; invalid FST call class
resForkNotFound EQU $0063  ; file does not contain required resource
invalidFSTID EQU $0064  ; error - FST ID is invalid
devNameErr EQU $0067  ; device exists with same name as replacement name
resExistsErr EQU $0070  ; cannot expand file, resource already exists
resAddErr EQU $0071  ; cannot add resource fork to this type file
proDOSFSID EQU $0001  ; ProDOS/SOS 
dos33FSID EQU $0002  ; DOS 3.3
dos32FSID EQU $0003  ; DOS 3.2
dos31FSID EQU $0003  ; DOS 3.1
appleIIPascalFSID EQU $0004  ; Apple II Pascal
mfsFSID EQU $0005  ; Macintosh (flat file system)
hfsFSID EQU $0006  ; Macintosh (hierarchical file system)
lisaFSID EQU $0007  ; Lisa file system
appleCPMFSID EQU $0008  ; Apple CP/M
charFSTFSID EQU $0009  ; Character FST
msDOSFSID EQU $000A  ; MS/DOS
highSierraFSID EQU $000B  ; High Sierra
iso9660FSID EQU $000C  ; ISO 9660
appleShareFSID EQU $000D  ; ISO 9660
characterFST EQU $4000  ; character FST
ucFST EQU $8000  ; SCM should upper case pathnames before passing them to the FST
onStack EQU $8000  ; place state information about quitting program on the quit return stack
restartable EQU $4000  ; the quitting program is capable of being restarted from its dormant memory
seedling EQU $0001  ; standard file with seedling structure
standardFile EQU $0001  ; standard file type (no resource fork)
sapling EQU $0002  ; standard file with sapling structure
tree EQU $0003  ; standard file with tree structure
pascalRegion EQU $0004  ; UCSD Pascal region on a partitioned disk
extendedFile EQU $0005  ; extended file type (with resource fork)
directoryFile EQU $000D  ; volume directory or subdirectory file
minorRelNumMask EQU $00FF  ; minor release number
majorRelNumMask EQU $7F00  ; major release number
finalRelNumMask EQU $8000  ; final release number
isFileExtended EQU $8000  ; GetDirEntryGS
resetDevice EQU $0000
formatDevice EQU $0001
eject EQU $0002
setConfigParameters EQU $0003
setWaitStatus EQU $0004
setFormatOptions EQU $0005
assignPartitionOwner EQU $0006
armSignal EQU $0007
disarmSignal EQU $0008
setPartitionMap EQU $0009
PrefixRecGS RECORD 0 ; GSOS
pCount  DS.B 2 ; Word - 
prefixNum  DS.B 2 ; Word - 
prefix  DS.B 4 ; ResultBuf255Ptr or GSString255Ptr - 
  ENDR

