blob: 76140c8b20a1f94480b190dce211d69691ab1eec (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
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
|