diff options
author | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
---|---|---|
committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2015-07-08 20:46:52 -0400 |
commit | fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch) | |
tree | bdda434976bc09c864f2e4fa6f16ba1952b1e555 /sys/ki/ki.h | |
download | iraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz |
Initial commit
Diffstat (limited to 'sys/ki/ki.h')
-rw-r--r-- | sys/ki/ki.h | 139 |
1 files changed, 139 insertions, 0 deletions
diff --git a/sys/ki/ki.h b/sys/ki/ki.h new file mode 100644 index 00000000..76140c8b --- /dev/null +++ b/sys/ki/ki.h @@ -0,0 +1,139 @@ +# KI.H -- IRAF Kernel Interface definitions. + +define MAX_NODES 512 # max nodes known to KI +define MAX_CHANNELS LAST_FD # requires <config.h> +define MAX_INDIRECT 20 # max indirection in a route +define MAX_ALIAS 6 # maximum number of aliases per node +define SZ_ALIAS 16 # size of a node name alias +define SZ_SERVER 128 # size of a server name +define HNT_SUBDIR "dev" # parts of host name table filename +define HNT_FILENAME "hosts" # default host name table +define HNT_ENVNAME "irafhnt" # user host name table + +define READ_IN_PROGRESS (-11) # used in binary file i/o +define OSHIFT 128 # optype= (opcode * OSHIFT) + subcode +define FIRST_CHAN 4 # first available kchan. +define LOCAL 0 # node is a local node +define REMOTE 1 # node is a remote node + +# Node status flags. +define F_IOERR 01B # fatal error on kschan +define F_REUSE 02B # node descriptor may be reused + +# ZFIOTX buffer descriptor. + +define SZ_TXBUF 16386 # size of text file buffer (should be + # at least (2*LEN_SEQBUF*SZ_LINE)) +define LEN_TXBDES (5+SZ_TXBUF/SZ_STRUCT) + +define B_CI Memi[$1] # character index into current record +define B_RP Memi[$1+1] # pointer to current record +define B_ITOP Memi[$1+2] # end of input buffer +define B_OTOP Memi[$1+3] # end of output buffer +define B_BUFTOP Memi[$1+4] # end of buffer +define B_BUFPTR P2C(($1)+5) # first char of buffer + +# ZGFDIR buffer descriptor. + +define SZ_DIRDATA 2048 # amount of directory data to read +define LEN_DIRBDES (5+SZ_DIRDATA/SZ_STRUCT) + +define D_IP Memi[$1] # input pointer into dirbuf +define D_ITOP Memi[$1+1] # top of dirbuf +define D_EOFSEEN Memi[$1+2] # dirbuf contains last of data +define D_DATA P2C(($1)+5) # pointer to data area + +# Record descriptor structure (format of a line of text record in the input +# buffer when reading from a remote text file). + +define R_RECLEN Memc[$1] # encoded record length (2 chars) +define R_SEKOFF Memc[$1+2] # encoded seek offset (5 chars) +define R_DATA (($1)+7) # pointer to data text + +define NCHARS_INT 2 # nchars to encode an int +define NCHARS_LONG 5 # nchars to encode a long +define R_GETNCHARS (($1)-7) # reclen to nchars +define R_GETRECLEN (($1)+7) # nchars to reclen + +# KII instruction format. + +define LEN_INTFIELDS 16 # number of integer fields +define FIRSTINTFIELD p_opcode # first integer field in common +define MAX_ARGS 13 # max procedure arguments +define SZ_SBUF 255 # size of string buffer +define SZB_PACKET 320 # packet size, bytes + +# KII opcodes. + +define KI_ENVINIT 1 +define KI_SETROOT 2 +define KI_ZOSCMD 3 +define KI_FMAPFN 4 + +define KI_ZFACSS 10 +define KI_ZFALOC 11 +define KI_ZFCHDR 12 +define KI_ZFDELE 13 +define KI_ZFINFO 14 +define KI_ZFGCWD 15 +define KI_ZFMKCP 16 +define KI_ZFMKDR 17 +define KI_ZFPATH 18 +define KI_ZFPROT 19 +define KI_ZFRNAM 20 +define KI_ZFRMDR 21 +define KI_ZFSUBD 22 +define KI_ZDVALL 23 +define KI_ZDVOWN 24 +define KI_ZFUTIM 25 + +define KI_ZOPDIR 30 +define KI_ZCLDIR 31 +define KI_ZGFDIR 32 + +define KI_ZOPDPR 35 +define KI_ZCLDPR 36 +define KI_ZOPCPR 37 +define KI_ZCLCPR 38 +define KI_ZINTPR 39 + +# Device driver opcodes. BF must be the lowest numbered binary file driver +# and TX must be the lowest number text file driver. + +define KI_ZFIOBF 40 +define KI_ZFIOLP 41 +define KI_ZFIOPL 42 +define KI_ZFIOPR 43 +define KI_ZFIOSF 44 +define KI_ZFIOGD 45 + +define KI_ZFIOTX 50 +define KI_ZFIOTY 51 + +define KI_ZFIOMT 55 + +# KII subcodes. + +define BF_OPN 1 # binary files (BF, SF, PR, PL, etc.) +define BF_CLS 2 +define BF_ARD 3 +define BF_AWR 4 +define BF_AWT 5 +define BF_STT 6 + +define TX_OPN 1 # text files (TX, TY) +define TX_CLS 2 +define TX_GET 3 +define TX_PUT 4 +define TX_FLS 5 +define TX_SEK 6 +define TX_NOT 7 +define TX_STT 8 + +define MT_OP 1 # magtape zz-routines +define MT_CL 2 +define MT_RD 3 +define MT_WR 4 +define MT_WT 5 +define MT_ST 6 +define MT_RW 7 |