1 " BEGIN INCLUDE FILE probe_request_macros.incl.alm
2 " Created from subsys_request_macros 04/08/79 W. Olin Sibert
3 "
4 " Macros to create request tables for probe and probe extensions
5
6
7 equ request_table_version,1
8
9 bool flags.is_request,040000 " this entry is a request
10 bool flags.is_builtin,020000 " this entry is a builtin function
11
12 bool flags.unimplemented,400000 " this request is not yet implemented
13 bool flags.secret,200000 " this is an internal request, and doesn't show up in a "?" listing
14
15
16 "
17 " begin_table tablename
18 "
19
20 macro begin_table
21 segdef &1
22 maclist object,save
23 use tables
24 &1: vfd 36/request_table_version
25 aci @&1@,32
26 dup 6 " six words of padding, for later use as flags
27 vfd 36/0
28 dupend
29 vfd 36/&1.rc
30 maclist off
31 set .rc,0
32 maclist restore
33 &end
34
35 "
36 " Request generating macro. Intended use:
37 "
38 " request name,alias,segname$entryname,
39 " Short description of request.flags
40 "
41
42 macro request
43 maclist off,save
44 set .rc,.rc+1
45 maclist object
46 use tables
47 vfd 18/&U.call,18/&U.names
48 &=&4,& vfd 36/0
49 &; vfd 18/&U.info18/&l4
50 vfd 36/0 " usage string info will go here
51 maclist off
52 use info
53 &U.info: aci @&4@
54 &
55 use tables
56 &=&5,& set .flagsflags.is_request
57 &; set .flags&5+flags.is_request
58 &
59 maclist object
60 vfd 18/.flags,18/0
61 maclist off
62 use calls
63 &U.call: epaq *
64 lprp4 7|stack_header.lot_ptr,*au
65 call6 &3
66 use names
67 &U.names: namelist &1&^=&2,&&2&
68 maclist restore
69 &end
70
71 "
72 " Macro for generating builtins. Syntax is same as request macro
73 "
74
75 macro builtin
76 maclist off,save
77 set .rc,.rc+1
78 maclist object
79 use tables
80 vfd 18/&U.call,18/&U.names
81 &=&4,& vfd 36/0
82 &; vfd 18/&U.info18/&l4
83 vfd 36/0 " usage string info will go here
84 maclist off
85 use info
86 &U.info: aci @&4@
87 &
88 use tables
89 &=&5,& set .flagsflags.is_builtin
90 &; set .flags&5+flags.is_builtin
91 &
92 maclist object
93 vfd 18/.flags,18/0
94 maclist off
95 use calls
96 &U.call: epaq *
97 lprp4 7|stack_header.lot_ptr,*au
98 call6 &3
99 use names
100 &U.names: namelist &1&^=&2,&&2&
101 maclist restore
102 &end
103
104 "
105 " internal macro for generating name lists
106 "
107
108 macro namelist
109 maclist off,save
110 vfd 36/&K
111 &R& aci @&i@32
112 &
113 maclist restore
114 &end
115
116 "
117 " end_table tablename
118 "
119
120 macro end_table
121 maclist off,save
122 set &1.rc,.rc
123 maclist restore
124 &end
125
126
127 use tables
128 use calls
129 use names
130 use info
131 join /text/tables,calls,names,info
132
133 equ stack_header.lot_ptr,22
134
135 " END INCLUDE FILE probe_request_macros.incl.alm