{ File: [22,320]QIO.CON Last Edit: 7-AUG-1989 08:52:19 History: Philip Hannay. 31-Jan-89. Created. Philip Hannay. 4-May-89. Added SF.GMC, SF.SMC. } {These are the constant definitions used with QIO calls. First is a set of common function codes. They can be ANDed by just adding them. This is not meant to be all inclusive - just the common ones. NOTE that all values are given in octal. See the IO DRIVERS REFERENCE manual for more info - chapter 1 for general info, chapter 2 for full duplex terminal driver, and appendix B for all IO and status codes.} CONST { functions } IO_ATT =1400b; { attach a lun for exclusive use } IO_DET = 2000b; { detach a lun } IO_KIL = 12b; { kill any outstanding IO } IO_RLB = 1000b; { read logical block } IO_WLB = 400b; { write logical block } IO_EIO = 17400b; { use the extended IO feature - must supply EIO parameter list } IO_ORG = 15410b; { connect to a remote (LAT) application port } IO_HNG = 3000b; { hang up remote line or disconnect a LAT port } IO_RPR = 4400b; { read after sending a prompt } IO_RTT = 5001b; { read using a terminator table - must supply the table } SF_GMC = 2560b; { get terminal characteristics - must supply list to fill in } SF_SMC = 2440b; { set terminal charactersistics - must supply list of commands } { subfunctions - if "R" in comment, can be applied to IO.RLB or IO.RPR, if "W" in comment, can be applied to IO.WLB, if "E" in comment, can be applied to IO.EIO, if "M" in comment, if used with EIO, MUST be applied in the "EIO paramter list buffer" and NOT ANDed with IO.EIO.} TF_BIN = 2b; { RM: binary prompt - send prompt in "write all" mode } TF_RLB = 2b; { E: read logical block - for EIO only } TF_RNE = 20b; { RM: read with no echo } TF_RPR = 2000b; { M: read after sending prompt - for EIO only } TF_RST = 1b; { RM: read using special terminators } TF_RTT = 400b; { M: read using terminator table - for EIO only } TF_TMO = 200b; { RM: read with a timeout } TF_WAL = 10b; { WM: write pass all (binary) with no interpretation } TF_WBT = 100b; { WM: write with break through } TF_WLB = 1b; { E: write logical block - for EIO only } { Selected I/O status codes - are done as unsigned bytes, thus you can directly compare them to IO_STATUS_BLOCK.BYT[1], and also use them in a case statement. Remember, we only try and define the most commonly encountered codes. You are free to define additional ones in your own program. } IS_SUC = 1b; { success completion } IS_TMO = 2b; { successful completion with read timeout } IE_VER = 374b; { parity error on device } IE_DNA = 371b; { device not attached } IE_DAA = 370b; { device already attached } IE_DAO = 363b; { data overrun } IE_ABO = 361b; { request terminated } IE_CKS = 342b; { file header checksum error } IE_BCC = 276b; { block check, CRC error, framing error } IE_IES = 256b; { invalid escape sequence } { end QIO.CON }