* File: E16.GSOS * * These equates can be used with the GSOS.MACS in the MACRO.LIBRARY * directory. You can also copy the data structures at the end of this * file directly into your own source files. * *----------------------------------------------- * File access - CreateRec, OpenRec access and requestAccess fields readEnable = $0001 ;read enable bit: writeEnable = $0002 ;write enable bit: backupNeeded = $0020 ;backup needed bit:must be '0' in requestAccess field ) renameEnable = $0040 ;rename enable bit: destroyEnable = $0080 ;read enable bit: * base - > setMark = ... startPlus = $0000 ;base - setMark = displacement eofMinus = $0001 ;base - setMark = eof - displacement markPlus = $0002 ;base - setMark = mark + displacement markMinus = $0003 ;base - setMark = mark - displacement * cachePriority noCache = $0000 ;cachePriority - do not cache blocks invloved in this read cache = $0001 ;cachePriority - cache blocks invloved in this read if possible *----------------------------------------------- * GS/OS Error codes badSystemCall = $0001 ;bad system call number invalidPcount = $0004 ;invalid parameter count gsosActive = $0007 ;GS/OS already active devNotFound = $0010 ;device not found invalidDevNum = $0011 ;invalid device number drvrBadReq = $0020 ;bad request or command drvrBadCode = $0021 ;bad control or status code drvrBadParm = $0022 ;bad call parameter drvrNotOpen = $0023 ;character device not open drvrPriorOpen = $0024 ;character device already open irqTableFull = $0025 ;interrupt table full drvrNoResrc = $0026 ;resources not available drvrIOError = $0027 ;I/O error drvrNoDevice = $0028 ;device not connected drvrBusy = $0029 ;call aborted, driver is busy drvrWrtProt = $002B ;device is write protected drvrBadCount = $002C ;invalid byte count drvrBadBlock = $002D ;invalid block address drvrDiskSwitch = $002E ;disk has been switched drvrOffLine = $002F ;device off line/ no media present badPathSyntax = $0040 ;invalid pathname syntax invalidRefNum = $0043 ;invalid reference number pathNotFound = $0044 ;subdirectory does not exist volNotFound = $0045 ;volume not found fileNotFound = $0046 ;file not found dupPathname = $0047 ;create or rename with existing name volumeFull = $0048 ;volume full error volDirFull = $0049 ;volume directory full badFileFormat = $004A ;version error (incompatible file format) badStoreType = $004B ;unsupported (or incorrect) storage type eofEncountered = $004C ;end-of-file encountered outOfRange = $004D ;position out of range invalidAccess = $004E ;access not allowed buffTooSmall = $004F ;buffer too small fileBusy = $0050 ;file is already open dirError = $0051 ;directory error unknownVol = $0052 ;unknown volume type paramRangeErr = $0053 ;parameter out of range outOfMem = $0054 ;out of memory dupVolume = $0057 ;duplicate volume name notBlockDev = $0058 ;not a block device invalidLevel = $0059 ;specifield level outside legal range damagedBitMap = $005A ;block number too large badPathNames = $005B ;invalid pathnames for ChangePath notSystemFile = $005C ;not an executable file osUnsupported = $005D ;Operating System not supported stackOverflow = $005F ;too many applications on stack dataUnavail = $0060 ;Data unavailable endOfDir = $0061 ;end of directory has been reached invalidClass = $0062 ;invalid FST call class resNotFound = $0063 ;file does not contain required resource *----------------------------------------------- * FileSysID's proDOS = $0001 ;ProDOS/SOS dos33 = $0002 ;DOS 3.3 dos32 = $0003 ;DOS 3.2 dos31 = $0003 ;DOS 3.1 appleIIPascal = $0004 ;Apple II Pascal mfs = $0005 ;Macintosh (flat file system) hfs = $0006 ;Macintosh (hierarchical file system) lisa = $0007 ;Lisa file system appleCPM = $0008 ;Apple CP/M charFST = $0009 ;Character FST msDOS = $000A ;MS/DOS highSierra = $000B ;High Sierra * fileSysID (NEW FOR GSOS 5.0) ProDOSFSID = $01 ;ProDOS/SOS dos33FSID = $02 ;DOS 3.3 dos32FSID = $03 ;DOS 3.2 dos31FSID = $03 ;DOS 3.1 appleIIPascalFSID = $04 ;Apple II Pascal mfsFSID = $05 ;Macintosh (flat file system) hfsFSID = $06 ;Macintosh (hierarchical file system) lisaFSID = $07 ;Lisa file system appleCPMFSID = $08 ;Apple CP/M charFSTFSID = $09 ;Character FST msDOSFSID = $0A ;MS/DOS highSierraFSID = $0B ;High Sierra ISO9660FSID = $0C ;ISO 9660 AppleShare = $0D ;AppleShare * FSTInfo.attributes characterFST = $4000 ;character FST ucFST = $8000 ;SCM should upper case pathnames before ; passing them to the FST * QuitRec.flags onStack = $8000 ;place state information about quitting ; program on the quit return stack restartable = $4000 ;the quitting program is capable of being ; restarted from its dormant memory * StorageType seedling = $0001 ;standard file with seedling structure standardFile = $01 ;standard file type (no resource fork) sapling = $0002 ;standard file with sapling structure tree = $0003 ;standard file with tree structure pascalRegion = $0004 ;UCSD Pascal region on a partitioned disk extendedFile = $0005 ;extended file type (with resource fork) directoryFile = $000D ;volume directory or subdirectory file * version minorRelNum = $00FF ;version - minor release number majorRelNum = $7F00 ;version - major release number finalRel = $8000 ;version - final release isFileExtended = $8000 *----------------------------------------------- * GSOS Call ID numbers, as is for class '0' * * 'OR' these numbers with $2000 for class '1' * See the macros iGSOS and sGSOS. * * NOTE: The v4.0 and v5.0 calls are identical with * the exception that the APW v5.0 macros have * 'GS' appended to the end of each call name. _Create = $0001 _Destroy = $0002 _OSShutdown = $2003 ;class '1' only _ChangePath = $0004 _SetFileInfo = $0005 _GetFileInfo = $0006 _Volume = $0008 _SetPrefix = $0009 _GetPrefix = $000A _ClearBackupBit = $000B _SetSysPrefs = $200C ;class '1' only _Null = $200D ;class '1' only _ExpandPath = $200E ;class '1' only _GetSysPrefs = $200F ;class '1' only _Open = $0010 _Newline = $0011 _Read = $0012 _Write = $0013 _Close = $0014 _Flush = $0015 _SetMark = $0016 _GetMark = $0017 _SetEOF = $0018 _GetEOF = $0019 _SetLevel = $001A _GetLevel = $001B _GetDirEntry = $001C _BeginSession = $201D ;class '1' only _EndSession = $201E ;class '1' only _SessionStatus = $201F ;class '1' only _GetDevNumber = $0020 _GetLastDev = $0021 _ReadBlock = $0022 ;class '0' only _WriteBlock = $0023 ;class '0' only _Format = $0024 _EraseDisk = $0025 _ResetCache = $2026 ;class '1' only _GetName = $0027 _GetBootVol = $0028 _Quit = $0029 _GetVersion = $002A _GetFSTInfo = $202B ;class '1' only _DInfo = $002C _DStatus = $202D ;class '1' only _DControl = $202E ;class '1' only _DRead = $202F ;class '1' only _DWrite = $2030 ;class '1' only _AllocInterrupt = $0031 ;P16 call _BindInt = $2031 ;GS/OS call _DeallocInterrupt = $0032 ;P16 call _UnbindInt = $2032 ;GS/OS call _AddNotifyProc = $2034 ;class '1' only _DelNotifyProc = $2035 ;class '1' only _DRename = $2036 ;class '1' only _GetStdRefNum = $2037 ;class '1' only _GetRefNum = $2038 ;class '1' only _GetRefInfo = $2039 ;class '1' only *=============================================== * Class 1 parameter tables. * (partial listing for reference only.) * (also refer to the class_1 help file) DUM 0 ; Currently set so the following doesn't ; generate any code if you include this ; entire file in your source file with ; a PUT or USE. ChangePathRec DA 0 ;pCount ADRL 0 ;pathname ADRL 0 ;newPathname CreateRec DA 0 ;pCount ADRL 0 ;pathname DA 0 ;access DA 0 ;fileType ADRL 0 ;auxType DA 0 ;storageType ADRL 0 ;eof ADRL 0 ;resourceEOF DAccessRec DA 0 ;pCount DA 0 ;devNum DA 0 ;code ADRL 0 ;list ADRL 0 ;requestCount ADRL 0 ;transferCount DevNumRec DA 0 ;pCount ADRL 0 ;devName DA 0 ;devNum DInfoRec DA 0 ;pCount DA 0 ;devNum ADRL 0 ;devName DA 0 ;characteristics ADRL 0 ;totalBlocks DA 0 ;slotNum DA 0 ;unitNum DA 0 ;version DA 0 ;deviceID DA 0 ;headLink DA 0 ;forwardLink DIORec DA 0 ;pCount DA 0 ;devNum ADRL 0 ;buffer ADRL 0 ;requestCount ADRL 0 ;startingBlock DA 0 ;blockSize ADRL 0 ;transferCount DirEntryRec DA 0 ;pCount DA 0 ;refNum DA 0 ;flags DA 0 ;base DA 0 ;displacement ADRL 0 ;name DA 0 ;entryNum DA 0 ;fileType ADRL 0 ;eof ADRL 0 ;blockCount DS 8 ;createDateTime DS 8 ;modDateTime DA 0 ;access ADRL 0 ;auxType DA 0 ;fileSysID ADRL 0 ;optionList ADRL 0 ;resourceEof ADRL 0 ;resourceBlocks ExpandPathRec DA 0 ;pCount ADRL 0 ;inputPath ADRL 0 ;outputPath DA 0 ;flags FileInfoRec DA 0 ;pCount ADRL 0 ;pathname DA 0 ;access DA 0 ;fileType ADRL 0 ;auxType DA 0 ;null/storageType DS 8 ;createDateTime DS 8 ;modDateTime ADRL 0 ;optionList ADRL 0 ;null/eof ADRL 0 ;null/blocksUsed ADRL 0 ;null/resourceEOF ADRL 0 ;null/resourceBlocks FormatRec DA 0 ;pCount ADRL 0 ;devName ADRL 0 ;volName DA 0 ;fileSysID FSTInfoRec DA 0 ;pCount DA 0 ;fstNum DA 0 ;fileSysId ADRL 0 ;fstName DA 0 ;version DA 0 ;attributes DA 0 ;blockSize ADRL 0 ;maxVolSize ADRL 0 ;maxFileSize InterruptRec DA 0 ;pCount DA 0 ;intNum DA 0 ;vrn ADRL 0 ;intCode IORec DA 0 ;pCount DA 0 ;refNum ADRL 0 ;dataBuffer ADRL 0 ;requestCount ADRL 0 ;transferCount DA 0 ;cachePriority LevelRec DA 0 ;pCount DA 0 ;level NameRec DA 0 ;pCount ADRL 0 ;pathname NewlineRec DA 0 ;pCount DA 0 ;refNum DA 0 ;enableMask DA 0 ;numChars ADRL 0 ;newlineTable OpenRec DA 0 ;pCount DA 0 ;refNum ADRL 0 ;pathname DA 0 ;requestAccess DA 0 ;resourceNumber DA 0 ;access DA 0 ;fileType ADRL 0 ;auxType DA 0 ;storageType DS 8 ;createDateTime DS 8 ;modDateTime ADRL 0 ;optionList ADRL 0 ;eof ADRL 0 ;blocksUsed ADRL 0 ;resourceEOF ADRL 0 ;resourceBlocks PositionRec DA 0 ;pCount DA 0 ;refNum ADRL 0 ;position PrefixRec DA 0 ;pCount DA 0 ;prefixNum ADRL 0 ;prefix QuitRec DA 0 ;pCount ADRL 0 ;pathname DA 0 ;flags RefNumRec DA 0 ;pCount DA 0 ;refNum SetPositionRec DA 0 ;pCount DA 0 ;refNum DA 0 ;base ADRL 0 ;displacement ShutdownRec DA 0 ;pCount DA 0 ;flag TimeRec DB 0 ;second DB 0 ;minute DB 0 ;hour DB 0 ;year DB 0 ;day DB 0 ;month DB 0 ;extra DB 0 ;weekDay VersionRec DA 0 ;pCount DA 0 ;version VolumeRec DA 0 ;pCount ADRL 0 ;devName ADRL 0 ;volName ADRL 0 ;totalBlocks ADRL 0 ;freeBlocks DA 0 ;fileSysID DA 0 ;blockSize DEND ; End of dummy section...