.enabl lc .title fsdef File Server definitions .ident "V02.00" ; ; Edit History ; V01.00 19-Oct-82 TTC Initial edit ; ; ; File specification block. ; .MACRO FSDEF$,B FS.FSP = 'B'0 ; ASCII file spec FS.PRO = 'B'50 ; Static file protection FS.EXT = 'B'52 ; Extent increment, blocks FS.FMT = 'B'54 ; File format FS.REC = 'B'55 ; Recording mode FS.BSZ = 'B'56 ; # blocks in file (SEQ) FS.RSZ = 'B'60 ; Data record len, bytes (REL, ISAM) FS.NRC = 'B'62 ; Record capacity (REL, ISAM) FS.NDF = 'B'66 ; Number of data files (ISAM) FS.NKY = 'B'67 ; Number of keys (ISAM) FS.KYS = 'B'70 ; Offset to first key KD.KSZ = 'B'0 ; Length of key, bytes (ISAM) KD.KFL = 'B'1 ; Key flags (ISAM) KD.KOF = 'B'2 ; Offset to key in data rec (ISAM) ; ; Recording mode values - mutually exclusive ; RM.ANO = 'B'0 ; ASCII - No carriage control RM.AFT = 'B'1 ; ASCII - FORTRAN carriage control RM.ACR = 'B'2 ; ASCII - Normal carriage control RM.ISA = 'B'100 ; ISAM RM.BIN = 'B'200 ; Binary ; ; File format values - mutually exclusive ; FF.ISA = 'B'1 ; ISAM (F.RTYP = R.FIX) FF.REL = 'B'1 ; Relative (R.FIX) FF.SEQ = 'B'2 ; Sequential (R.VAR) ; ; Key flags - KF.DUP may be specified together with ONE of the ; other KF values. ; KF.ASC = 'B'0 ; ASCII - code order KF.DIC = 'B'1 ; ASCII - dictionary order KF.BIN = 'B'2 ; 16 bit unsigned integer key KF.DUP = 'B'200 ; Duplicates allowed this key ; ; I/O Function codes supported by FLSERV ; ; ; RSX standard codes ; IO.MOU = 'B'2400 ; Mount/Enable IO.DMO = 'B'3000 ; Dismount/Disable IO.CLN = 'B'3400 ; Abort User Task Connections ; ; FLSERV-specific I/O functions ; FS.CON = 'B'17400 ; Connect to file FS.DIS = 'B'17401 ; Disconnect from file FS.CRE = 'B'17402 ; Create file FS.DEL = 'B'17403 ; Delete file FS.GET = 'B'17404 ; Get existing record FS.PUT = 'B'17405 ; Put new record FS.UPD = 'B'17406 ; Update existing record FS.ERA = 'B'17407 ; Erase existing record FS.ULK = 'B'17410 ; Unlock all records on stream FS.POS = 'B'17411 ; Position stream on key FS.MRK = 'B'17412 ; Mark current stream position FS.PNT = 'B'17413 ; Point stream to saved position FS.RWD = 'B'17414 ; Rewind stream FS.RFS = 'B'17415 ; Read file specifications FS.CTL = 'B'17416 ; Control function ; ; Options values for FS.CRE and FS.CON ; O.SUP = 'B'1 ; Allow supersede for create O.NXT = 'B'2 ; Disable auto-extend at EOF O.DEL = 'B'20 ; Delete on disconnect O.WTD = 'B'100 ; Disable write-thru caching ; ; Options for FS.DIS ; O.MKD = 'B'2 ; Mark for delete on final deaccess O.SPL = 'B'4 ; Spool on deaccess O.TRN = 'B'8. ; Truncate to LEOF before deaccess ; ; Options for FS.GET, FS.UPD and FS.ERA ; O.LOK = 'B'1 ; Read with lock (FS.GET) O.WAI = 'B'2 ; Wait on locked record O.SKR = 'B'4 ; Set new key of reference (FS.GET) ; (Hi byte = new KOR number) O.PGT = 'B'8. ; Position > key (GET ONLY) O.PGE = 'B'16. ; Position >= key (GET ONLY)*/ ; ; Options for FS.POS ; O.SKR = 'B'4 ; Set new key of reference O.PGT = 'B'8. ; Position > key O.PGE = 'B'16. ; Position >= key ; ; Options for FS.RWD ; O.SKR = 'B'4 ; Set new key of reference ; ; Access values ; CM.INP = 'B'1 ; INPUT CM.OTP = 'B'2 ; OUTPUT CM.IO = 'B'3 ; INPUT|OUTPUT CM.UPD = 'B'3 ; Synonym for CM.IO CM.APD = 'B'100 ; APPEND ; ; Dynamic protection codes ; DP.SHR = 'B'1 ; SHARED access DP.PRO = 'B'2 ; PROTECTED access DP.EXC = 'B'3 ; EXCLUSIVE access ; ; FLSERV-specific error codes returned to user task ; ; These codes have a 200(8) in the low byte and the specific ; code in the high byte. ; ; ; Filespec syntax errors ; FE.SDV = 'B'600 ; Code: 1 => Syntax: Device Name FE.SDR = 'B'1200 ; Code: 2 => Syntax: Directory (UIC) FE.SFN = 'B'1600 ; Code: 3 => Syntax: File Name FE.SEX = 'B'2200 ; Code: 4 => Syntax: Extension FE.SVR = 'B'2600 ; Code: 5 => Syntax: Version ; ; Device Errors ; FE.NSD = 'B'4200 ; Code: 8 => No Such Device on System */ FE.DNL = 'B'4600 ; Code: 9 => Driver Not Loaded FE.NFS = 'B'5200 ; Code: 10 => Device not Files-11 FE.DNM = 'B'5600 ; Code: 11 => Device Not Mounted ; ; Directory Errors ; FE.DNF = 'B'10200 ; Code: 16 => Directory Not Found FE.DPR = 'B'10600 ; Code: 17 => Directory prot violation ; ; File Creation, Deletion and Access Errors ; FE.FEX = 'B'11600 ; Code: 19 => File Already Exists FE.FAC = 'B'12200 ; Code: 20 => File Currently Accessed FE.BVR = 'B'12600 ; Code: 21 => Bad Version Number FE.LCK = 'B'13200 ; Code: 22 => File Locked FE.SPV = 'B'13600 ; Code: 23 => Static prot violation FE.DPV = 'B'14200 ; Code: 24 => Dynamic prot violation FE.ZFS = 'B'14600 ; Code: 25 => Zero file size (create) FE.ILA = 'B'15200 ; Code: 26 => Bad file and/or rec. mode */ FE.CLO = 'B'15600 ; Code: 27 => Error closing file FE.IUF = 'B'16200 ; Code: 28 => Index update flag set ; ; This one's checked for all over the place ; FE.BSI = 'B'17200 ; Code: 30 => Bad stream ID (handle) ; ; Data transfer errors ; FE.RTL = 'B'17600 ; Code: 31 => Record too long FE.LIV = 'B'20200 ; Code: 32 => Record already exists FE.RDL = 'B'20600 ; Code: 33 => Record logically deleted FE.IRS = 'B'21200 ; Code: 34 => Inconsistent record size FE.ACC = 'B'21600 ; Code: 35 => Illegal access FE.LOK = 'B'22200 ; Code: 36 => Record already locked FE.TMO = 'B'22600 ; Code: 37 => Wait-lock timed out FE.ILK = 'B'23200 ; Code: 38 => Invalid key FE.NSK = 'B'23600 ; Code: 39 => No such key ; ; Misc. Internal Errors ; FE.DYN = 'B'34200 ; Code: 56 => Insuf. Dynamic Memory FE.DIR = 'B'34600 ; Code: 57 => Directive Error FE.FVA = 'B'35200 ; Code: 58 => File vanished .ENDM