bozo: bosserver -pidfiles option
[openafs.git] / src / bozo / bosint.xg
1 /*
2  * Copyright 2000, International Business Machines Corporation and others.
3  * All Rights Reserved.
4  *
5  * This software has been released under the terms of the IBM Public
6  * License.  For details, see the LICENSE file in the top-level source
7  * directory or online at http://www.openafs.org/dl/license10.html
8  */
9
10 typedef int bstring;    /*force xdr output */
11
12 const BOZO_BSSIZE = 256;
13 %#undef min
14 struct bozo_netKTime {
15     int mask;
16     short hour;     /* 0 - 23 */
17     short min;      /* 0 - 60 */
18     short sec;      /* 0 - 60 */
19     short day;      /* 0 is sunday */
20 };
21
22 struct bozo_key {
23     char data[8];
24 };
25
26 struct bozo_keyInfo {
27         afs_int32 mod_sec;
28         afs_int32 mod_usec;
29         afs_uint32 keyCheckSum;
30         afs_int32 spare2;
31 };
32
33 struct bozo_status {
34         afs_int32 goal;                 /* the short-term goal */
35         afs_int32 fileGoal;                     /* the goal field in the file  */
36         afs_int32 procStartTime;                /* last time a process was started */
37         afs_int32 procStarts;           /* process starts */
38         afs_int32 lastAnyExit;          /* time process exited, any reason */
39         afs_int32 lastErrorExit;                /* time process exited unexpectedly */
40         afs_int32 errorCode;                    /* last exit return code */
41         afs_int32 errorSignal;          /* last proc terminating signal */
42         afs_int32 flags;                        /* flags (see below) */
43         afs_int32 spare[8];                     /* spare fields */
44 };
45
46 %#define BOZO_HASCORE           1       /* core file exists */
47 %#define BOZO_ERRORSTOP         2       /* stopped due to too many errors */
48 %#define BOZO_BADDIRACCESS      4       /* bad mode bits on /usr/afs dirs */
49
50 %#define BOZO_PRUNEOLD          1       /* prune .OLD files */
51 %#define BOZO_PRUNEBAK          2       /* prune .BAK files */
52 %#define BOZO_PRUNECORE         4       /* prune core files */
53
54 package BOZO_
55 prefix S
56 statindex 1
57
58 CreateBnode(
59   IN string type<BOZO_BSSIZE>,
60   string instance<BOZO_BSSIZE>,
61   string p1<BOZO_BSSIZE>,
62   string p2<BOZO_BSSIZE>,
63   string p3<BOZO_BSSIZE>,
64   string p4<BOZO_BSSIZE>,
65   string p5<BOZO_BSSIZE>,
66   string p6<BOZO_BSSIZE>
67 ) = 80;
68
69 DeleteBnode(
70   IN string instance<BOZO_BSSIZE>
71 ) = 81;
72
73 SetStatus(
74   IN string instance<BOZO_BSSIZE>,
75   IN afs_int32 status
76 ) = 82;
77
78 GetStatus(
79   IN string instance<BOZO_BSSIZE>,
80   OUT afs_int32 *intStat,
81   OUT string statdescr<BOZO_BSSIZE>
82 ) = 83;
83
84 EnumerateInstance(
85   IN afs_int32 instance,
86   OUT string iname<BOZO_BSSIZE>
87 )=84;
88
89 GetInstanceInfo(
90   IN string instance<BOZO_BSSIZE>,
91   OUT string type<BOZO_BSSIZE>,
92   struct bozo_status *status
93 ) = 85;
94
95 GetInstanceParm(
96   IN string instance<BOZO_BSSIZE>,
97   afs_int32 num,
98   OUT string parm<BOZO_BSSIZE>
99 ) =86;
100
101 AddSUser(
102   IN string name<BOZO_BSSIZE>
103 ) = 87;
104
105 DeleteSUser(
106   IN string name<BOZO_BSSIZE>
107 ) = 88;
108
109 ListSUsers(
110   IN afs_int32 an,
111   OUT string name<BOZO_BSSIZE>
112 ) = 89;
113
114 ListKeys(
115   IN afs_int32 an,
116   OUT afs_int32 *kvno,
117   struct bozo_key *key,
118   struct bozo_keyInfo *keyinfo
119 ) = 90;
120
121 AddKey(
122   IN afs_int32 an,
123   struct bozo_key *key
124 ) = 91;
125
126 DeleteKey(
127   IN afs_int32 an
128 ) = 92;
129
130 SetCellName(
131   IN string name<BOZO_BSSIZE>
132 ) = 93;
133
134 GetCellName(
135   OUT string name<BOZO_BSSIZE>
136 ) = 94;
137
138 GetCellHost(
139   IN afs_uint32 awhich,
140   OUT string name<BOZO_BSSIZE>
141 ) = 95;
142
143 AddCellHost(
144   IN string name<BOZO_BSSIZE>
145 ) = 96;
146
147 DeleteCellHost(
148   IN string name<BOZO_BSSIZE>
149 ) = 97;
150
151 SetTStatus(
152   IN string instance<BOZO_BSSIZE>,
153   IN afs_int32 status
154 ) = 98;
155
156 ShutdownAll(
157 ) = 99;
158
159 RestartAll(
160 ) = 100;
161
162 StartupAll(
163 ) = 101;
164
165 SetNoAuthFlag(
166   IN afs_int32 flag
167 )= 102;
168
169 ReBozo(
170 ) = 103;
171
172 Restart(
173   IN string instance<BOZO_BSSIZE>
174 ) = 104;
175
176 Install(
177   IN string path<BOZO_BSSIZE>,
178   afs_int32 size,
179   afs_int32 flags,
180   afs_int32 date
181 ) split = 105;
182
183 UnInstall(
184   IN string path<BOZO_BSSIZE>
185 ) = 106;
186
187 GetDates(
188   IN string path<BOZO_BSSIZE>,
189   OUT afs_int32 *newtime,
190   afs_int32 *baktime,
191   afs_int32 *oldtime
192 ) = 107;
193
194 Exec(
195   IN string cmd<BOZO_BSSIZE>
196 ) = 108;
197
198 Prune(
199   IN afs_int32 flags
200 ) = 109;
201
202 SetRestartTime(
203   IN afs_int32 type,
204   IN struct bozo_netKTime *restartTime
205 ) = 110;
206
207 GetRestartTime(
208   IN afs_int32 type,
209   OUT struct bozo_netKTime *restartTime
210 ) = 111;
211
212 GetLog(
213   IN string name<BOZO_BSSIZE>
214 ) split = 112;
215
216 WaitAll(
217 ) = 113;
218
219 GetInstanceStrings(
220   IN string instance<BOZO_BSSIZE>,
221   OUT string errorName<BOZO_BSSIZE>,
222   OUT string spare1<BOZO_BSSIZE>,
223   OUT string spare2<BOZO_BSSIZE>,
224   OUT string spare3<BOZO_BSSIZE>
225 ) = 114;
226
227 GetRestrictedMode(
228   OUT afs_int32 *restmode
229 ) = 115;
230
231 SetRestrictedMode(
232   IN afs_int32 restmode
233 ) = 116;
234 /* RPC #117 will be Salvage, if I get around to it */