FreeBSD 10 clang port
[oweals/cde.git] / cde / lib / csa / rtable2.h
1 /*
2  * CDE - Common Desktop Environment
3  *
4  * Copyright (c) 1993-2012, The Open Group. All rights reserved.
5  *
6  * These libraries and programs are free software; you can
7  * redistribute them and/or modify them under the terms of the GNU
8  * Lesser General Public License as published by the Free Software
9  * Foundation; either version 2 of the License, or (at your option)
10  * any later version.
11  *
12  * These libraries and programs are distributed in the hope that
13  * they will be useful, but WITHOUT ANY WARRANTY; without even the
14  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15  * PURPOSE. See the GNU Lesser General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with these librararies and programs; if not, write
20  * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21  * Floor, Boston, MA 02110-1301 USA
22  */
23 /*******************************************************************************
24 **
25 **  rtable2.h
26 **
27 **  static char sccsid[] = "@(#)rtable2.h 1.1 94/09/05 Copyr 1991 Sun Microsystems, Inc.";
28 **
29 **  $TOG: rtable2.h /main/3 1999/10/14 17:47:41 mgreess $
30 **
31 **  RESTRICTED CONFIDENTIAL INFORMATION:
32 **
33 **  The information in this document is subject to special
34 **  restrictions in a confidential disclosure agreement between
35 **  HP, IBM, Sun, USL, SCO and Univel.  Do not distribute this
36 **  document outside HP, IBM, Sun, USL, SCO, or Univel without
37 **  Sun's specific written approval.  This document and all copies
38 **  and derivative works thereof must be returned or destroyed at
39 **  Sun's request.
40 **
41 **  Copyright 1993 Sun Microsystems, Inc.  All rights reserved.
42 **
43 *******************************************************************************/
44
45 #ifndef _RTABLE2_H
46 #define _RTABLE2_H
47
48 #ifndef SunOS
49 #include <rpc/types.h>
50 #endif /* HPUX */
51
52
53 #include <rpc/rpc.h>
54
55 #ifdef __cplusplus
56 extern "C" {
57 #endif
58
59 #include "connection.h"
60
61 extern bool_t xdr_time_t();
62
63 typedef char *Buffer_2;
64
65 enum Transaction_2 {
66         add_2 = 0,
67         cm_remove_2 = 1
68 };
69 typedef enum Transaction_2 Transaction_2;
70
71 enum Period_2 {
72         single_2 = 0,
73         daily_2 = 1,
74         weekly_2 = 2,
75         biweekly_2 = 3,
76         monthly_2 = 4,
77         yearly_2 = 5,
78         nthWeekday_2 = 6,
79         everyNthDay_2 = 7,
80         everyNthWeek_2 = 8,
81         everyNthMonth_2 = 9,
82         otherPeriod_2 = 10
83 };
84 typedef enum Period_2 Period_2;
85
86 enum Tag_2 {
87         appointment_2 = 0,
88         reminder_2 = 1,
89         otherTag_2 = 2
90 };
91 typedef enum Tag_2 Tag_2;
92
93 struct Attribute_2 {
94         struct Attribute_2 *next;
95         Buffer_2 attr;
96         Buffer_2 value;
97 };
98 typedef struct Attribute_2 Attribute_2;
99
100 typedef Attribute_2 *Attr_2;
101
102 struct Except_2 {
103         int ordinal;
104         struct Except_2 *next;
105 };
106 typedef struct Except_2 Except_2;
107
108 typedef Except_2 *Exception_2;
109
110 struct Id_2 {
111         time_t tick;
112         long key;
113 };
114 typedef struct Id_2 Id_2;
115
116 struct Uid_2 {
117         struct Id_2 appt_id;
118         struct Uid_2 *next;
119 };
120 typedef struct Uid_2 Uid_2;
121
122 struct Appt_2 {
123         struct Id_2 appt_id;
124         Tag_2 tag;
125         int duration;
126         int ntimes;
127         Buffer_2 what;
128         Buffer_2 mailto;
129         Buffer_2 script;
130         Period_2 period;
131         Buffer_2 author;
132         Buffer_2 client_data;
133         struct Except_2 *exception;
134         struct Attribute_2 *attr;
135         struct Appt_2 *next;
136 };
137 typedef struct Appt_2 Appt_2;
138
139 struct Abb_Appt_2 {
140         struct Id_2 appt_id;
141         Buffer_2 what;
142         int duration;
143         Period_2 period;
144         struct Abb_Appt_2 *next;
145 };
146 typedef struct Abb_Appt_2 Abb_Appt_2;
147
148 struct Apptid_2 {
149         struct Id_2 *oid;
150         struct Appt_2 *new_appt;
151 };
152 typedef struct Apptid_2 Apptid_2;
153
154 struct Reminder_2 {
155         struct Id_2 appt_id;
156         long tick;
157         Attribute_2 attr;
158         struct Reminder_2 *next;
159 };
160 typedef struct Reminder_2 Reminder_2;
161
162 enum Table_Res_Type_2 {
163         AP_2 = 0,
164         RM_2 = 1,
165         AB_2 = 2,
166         ID_2 = 3
167 };
168 typedef enum Table_Res_Type_2 Table_Res_Type_2;
169
170 struct Table_Res_List_2 {
171         Table_Res_Type_2 tag;
172         union {
173                 Appt_2 *a;
174                 Reminder_2 *r;
175                 Abb_Appt_2 *b;
176                 Uid_2 *i;
177         } Table_Res_List_2_u;
178 };
179 typedef struct Table_Res_List_2 Table_Res_List_2;
180
181 enum Access_Status_2 {
182         access_ok_2 = 0,
183         access_added_2 = 1,
184         access_removed_2 = 2,
185         access_failed_2 = 3,
186         access_exists_2 = 4,
187         access_partial_2 = 5,
188         access_other_2 = 6
189 };
190 typedef enum Access_Status_2 Access_Status_2;
191
192 struct Table_Res_2 {
193         Access_Status_2 status;
194         Table_Res_List_2 res;
195 };
196 typedef struct Table_Res_2 Table_Res_2;
197 #define access_none_2   0x0     /* owner only */
198 #define access_read_2   0x1
199 #define access_write_2  0x2
200 #define access_delete_2 0x4
201 #define access_exec_2   0x8     /* execution permission is a hack! */
202 #define VOIDPID -1      /* pre-V3 tools do present pids */
203
204 struct Access_Entry_2 {
205         Buffer_2 who;
206         int access_type;
207         struct Access_Entry_2 *next;
208 };
209 typedef struct Access_Entry_2 Access_Entry_2;
210
211 struct Access_Args_2 {
212         Buffer_2 target;
213         Access_Entry_2 *access_list;
214 };
215 typedef struct Access_Args_2 Access_Args_2;
216
217 struct Range_2 {
218         long key1;
219         long key2;
220         struct Range_2 *next;
221 };
222 typedef struct Range_2 Range_2;
223
224 enum Table_Args_Type_2 {
225         TICK_2 = 0,
226         APPTID_2 = 1,
227         UID_2 = 2,
228         APPT_2 = 3,
229         RANGE_2 = 4
230 };
231 typedef enum Table_Args_Type_2 Table_Args_Type_2;
232
233 struct Args_2 {
234         Table_Args_Type_2 tag;
235         union {
236                 long tick;
237                 Apptid_2 apptid;
238                 Uid_2 *key;
239                 Appt_2 *appt;
240                 Range_2 *range;
241         } Args_2_u;
242 };
243 typedef struct Args_2 Args_2;
244
245 struct Table_Args_2 {
246         Buffer_2 target;
247         Args_2 args;
248 };
249 typedef struct Table_Args_2 Table_Args_2;
250
251 struct Registration_2 {
252         Buffer_2 target;
253         u_long prognum;
254         u_long versnum;
255         u_long procnum;
256         struct Registration_2 *next;
257 };
258 typedef struct Registration_2 Registration_2;
259
260 enum Table_Status_2 {
261         ok_2 = 0,
262         duplicate_2 = 1,
263         badtable_2 = 2,
264         notable_2 = 3,
265         denied_2 = 4,
266         other_2 = 5
267 };
268 typedef enum Table_Status_2 Table_Status_2;
269
270 enum Registration_Status_2 {
271         registered_2 = 0,
272         failed_2 = 1,
273         deregistered_2 = 2,
274         confused_2 = 3
275 };
276 typedef enum Registration_Status_2 Registration_Status_2;
277
278 #define TABLEPROG ((unsigned long)(100068))
279 #define TABLEVERS_2 ((unsigned long)(2))
280
281 #if defined(__STDC__) || defined(__cplusplus)
282 #define rtable_ping ((unsigned long)(0))
283 extern  void * _DtCm_rtable_ping_2(void *, _DtCm_Connection *);
284 extern  void * _DtCm_rtable_ping_2_svc(void *, struct svc_req *);
285 #define rtable_lookup ((unsigned long)(1))
286 extern  Table_Res_2 * _DtCm_rtable_lookup_2(Table_Args_2 *, _DtCm_Connection *);
287 extern  Table_Res_2 * _DtCm_rtable_lookup_2_svc(Table_Args_2 *, struct svc_req *);
288 #define rtable_lookup_next_larger ((unsigned long)(2))
289 extern  Table_Res_2 * _DtCm_rtable_lookup_next_larger_2(Table_Args_2 *, _DtCm_Connection *);
290 extern  Table_Res_2 * _DtCm_rtable_lookup_next_larger_2_svc(Table_Args_2 *, struct svc_req *);
291 #define rtable_lookup_next_smaller ((unsigned long)(3))
292 extern  Table_Res_2 * _DtCm_rtable_lookup_next_smaller_2(Table_Args_2 *, _DtCm_Connection *);
293 extern  Table_Res_2 * _DtCm_rtable_lookup_next_smaller_2_svc(Table_Args_2 *, struct svc_req *);
294 #define rtable_lookup_range ((unsigned long)(4))
295 extern  Table_Res_2 * _DtCm_rtable_lookup_range_2(Table_Args_2 *, _DtCm_Connection *);
296 extern  Table_Res_2 * _DtCm_rtable_lookup_range_2_svc(Table_Args_2 *, struct svc_req *);
297 #define rtable_abbreviated_lookup_range ((unsigned long)(5))
298 extern  Table_Res_2 * _DtCm_rtable_abbreviated_lookup_range_2(Table_Args_2 *, _DtCm_Connection *);
299 extern  Table_Res_2 * _DtCm_rtable_abbreviated_lookup_range_2_svc(Table_Args_2 *, struct svc_req *);
300 #define rtable_insert ((unsigned long)(6))
301 extern  Table_Res_2 * _DtCm_rtable_insert_2(Table_Args_2 *, _DtCm_Connection *);
302 extern  Table_Res_2 * _DtCm_rtable_insert_2_svc(Table_Args_2 *, struct svc_req *);
303 #define rtable_delete ((unsigned long)(7))
304 extern  Table_Res_2 * _DtCm_rtable_delete_2(Table_Args_2 *, _DtCm_Connection *);
305 extern  Table_Res_2 * _DtCm_rtable_delete_2_svc(Table_Args_2 *, struct svc_req *);
306 #define rtable_delete_instance ((unsigned long)(8))
307 extern  Table_Res_2 * _DtCm_rtable_delete_instance_2(Table_Args_2 *, _DtCm_Connection *);
308 extern  Table_Res_2 * _DtCm_rtable_delete_instance_2_svc(Table_Args_2 *, struct svc_req *);
309 #define rtable_change ((unsigned long)(9))
310 extern  Table_Res_2 * _DtCm_rtable_change_2(Table_Args_2 *, _DtCm_Connection *);
311 extern  Table_Res_2 * _DtCm_rtable_change_2_svc(Table_Args_2 *, struct svc_req *);
312 #define rtable_change_instance ((unsigned long)(10))
313 extern  Table_Res_2 * _DtCm_rtable_change_instance_2(Table_Args_2 *, _DtCm_Connection *);
314 extern  Table_Res_2 * _DtCm_rtable_change_instance_2_svc(Table_Args_2 *, struct svc_req *);
315 #define rtable_lookup_next_reminder ((unsigned long)(11))
316 extern  Table_Res_2 * _DtCm_rtable_lookup_next_reminder_2(Table_Args_2 *, _DtCm_Connection *);
317 extern  Table_Res_2 * _DtCm_rtable_lookup_next_reminder_2_svc(Table_Args_2 *, struct svc_req *);
318 #define rtable_check ((unsigned long)(12))
319 extern  Table_Status_2 * _DtCm_rtable_check_2(Table_Args_2 *, _DtCm_Connection *);
320 extern  Table_Status_2 * _DtCm_rtable_check_2_svc(Table_Args_2 *, struct svc_req *);
321 #define rtable_flush_table ((unsigned long)(13))
322 extern  Table_Status_2 * _DtCm_rtable_flush_table_2(Table_Args_2 *, _DtCm_Connection *);
323 extern  Table_Status_2 * _DtCm_rtable_flush_table_2_svc(Table_Args_2 *, struct svc_req *);
324 #define rtable_size ((unsigned long)(14))
325 extern  int * _DtCm_rtable_size_2(Table_Args_2 *, _DtCm_Connection *);
326 extern  int * _DtCm_rtable_size_2_svc(Table_Args_2 *, struct svc_req *);
327 #define register_callback ((unsigned long)(15))
328 extern  Registration_Status_2 * _DtCm_register_callback_2(Registration_2 *, _DtCm_Connection *);
329 extern  Registration_Status_2 * _DtCm_register_callback_2_svc(Registration_2 *, struct svc_req *);
330 #define deregister_callback ((unsigned long)(16))
331 extern  Registration_Status_2 * _DtCm_deregister_callback_2(Registration_2 *, _DtCm_Connection *);
332 extern  Registration_Status_2 * _DtCm_deregister_callback_2_svc(Registration_2 *, struct svc_req *);
333 #define rtable_set_access ((unsigned long)(17))
334 extern  Access_Status_2 * _DtCm_rtable_set_access_2(Access_Args_2 *, _DtCm_Connection *);
335 extern  Access_Status_2 * _DtCm_rtable_set_access_2_svc(Access_Args_2 *, struct svc_req *);
336 #define rtable_get_access ((unsigned long)(18))
337 extern  Access_Args_2 * _DtCm_rtable_get_access_2(Access_Args_2 *, _DtCm_Connection *);
338 extern  Access_Args_2 * _DtCm_rtable_get_access_2_svc(Access_Args_2 *, struct svc_req *);
339 extern int tableprog_2_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
340
341 #else /* K&R C */
342 #define rtable_ping ((unsigned long)(0))
343 extern  void * _DtCm_rtable_ping_2();
344 extern  void * _DtCm_rtable_ping_2_svc();
345 #define rtable_lookup ((unsigned long)(1))
346 extern  Table_Res_2 * _DtCm_rtable_lookup_2();
347 extern  Table_Res_2 * _DtCm_rtable_lookup_2_svc();
348 #define rtable_lookup_next_larger ((unsigned long)(2))
349 extern  Table_Res_2 * _DtCm_rtable_lookup_next_larger_2();
350 extern  Table_Res_2 * _DtCm_rtable_lookup_next_larger_2_svc();
351 #define rtable_lookup_next_smaller ((unsigned long)(3))
352 extern  Table_Res_2 * _DtCm_rtable_lookup_next_smaller_2();
353 extern  Table_Res_2 * _DtCm_rtable_lookup_next_smaller_2_svc();
354 #define rtable_lookup_range ((unsigned long)(4))
355 extern  Table_Res_2 * _DtCm_rtable_lookup_range_2();
356 extern  Table_Res_2 * _DtCm_rtable_lookup_range_2_svc();
357 #define rtable_abbreviated_lookup_range ((unsigned long)(5))
358 extern  Table_Res_2 * _DtCm_rtable_abbreviated_lookup_range_2();
359 extern  Table_Res_2 * _DtCm_rtable_abbreviated_lookup_range_2_svc();
360 #define rtable_insert ((unsigned long)(6))
361 extern  Table_Res_2 * _DtCm_rtable_insert_2();
362 extern  Table_Res_2 * _DtCm_rtable_insert_2_svc();
363 #define rtable_delete ((unsigned long)(7))
364 extern  Table_Res_2 * _DtCm_rtable_delete_2();
365 extern  Table_Res_2 * _DtCm_rtable_delete_2_svc();
366 #define rtable_delete_instance ((unsigned long)(8))
367 extern  Table_Res_2 * _DtCm_rtable_delete_instance_2();
368 extern  Table_Res_2 * _DtCm_rtable_delete_instance_2_svc();
369 #define rtable_change ((unsigned long)(9))
370 extern  Table_Res_2 * _DtCm_rtable_change_2();
371 extern  Table_Res_2 * _DtCm_rtable_change_2_svc();
372 #define rtable_change_instance ((unsigned long)(10))
373 extern  Table_Res_2 * _DtCm_rtable_change_instance_2();
374 extern  Table_Res_2 * _DtCm_rtable_change_instance_2_svc();
375 #define rtable_lookup_next_reminder ((unsigned long)(11))
376 extern  Table_Res_2 * _DtCm_rtable_lookup_next_reminder_2();
377 extern  Table_Res_2 * _DtCm_rtable_lookup_next_reminder_2_svc();
378 #define rtable_check ((unsigned long)(12))
379 extern  Table_Status_2 * _DtCm_rtable_check_2();
380 extern  Table_Status_2 * _DtCm_rtable_check_2_svc();
381 #define rtable_flush_table ((unsigned long)(13))
382 extern  Table_Status_2 * _DtCm_rtable_flush_table_2();
383 extern  Table_Status_2 * _DtCm_rtable_flush_table_2_svc();
384 #define rtable_size ((unsigned long)(14))
385 extern  int * _DtCm_rtable_size_2();
386 extern  int * _DtCm_rtable_size_2_svc();
387 #define register_callback ((unsigned long)(15))
388 extern  Registration_Status_2 * _DtCm_register_callback_2();
389 extern  Registration_Status_2 * _DtCm_register_callback_2_svc();
390 #define deregister_callback ((unsigned long)(16))
391 extern  Registration_Status_2 * _DtCm_deregister_callback_2();
392 extern  Registration_Status_2 * _DtCm_deregister_callback_2_svc();
393 #define rtable_set_access ((unsigned long)(17))
394 extern  Access_Status_2 * _DtCm_rtable_set_access_2();
395 extern  Access_Status_2 * _DtCm_rtable_set_access_2_svc();
396 #define rtable_get_access ((unsigned long)(18))
397 extern  Access_Args_2 * _DtCm_rtable_get_access_2();
398 extern  Access_Args_2 * _DtCm_rtable_get_access_2_svc();
399 extern int tableprog_2_freeresult();
400 #endif /* K&R C */
401
402 /* the xdr functions */
403
404 #if defined(__STDC__) || defined(__cplusplus)
405 extern  bool_t _DtCm_xdr_Buffer_2(XDR *, Buffer_2*);
406 extern  bool_t _DtCm_xdr_Transaction_2(XDR *, Transaction_2*);
407 extern  bool_t _DtCm_xdr_Period_2(XDR *, Period_2*);
408 extern  bool_t _DtCm_xdr_Tag_2(XDR *, Tag_2*);
409 extern  bool_t _DtCm_xdr_Attribute_2(XDR *, Attribute_2*);
410 extern  bool_t _DtCm_xdr_Attr_2(XDR *, Attr_2*);
411 extern  bool_t _DtCm_xdr_Except_2(XDR *, Except_2*);
412 extern  bool_t _DtCm_xdr_Exception_2(XDR *, Exception_2*);
413 extern  bool_t _DtCm_xdr_Id_2(XDR *, Id_2*);
414 extern  bool_t _DtCm_xdr_Uid_2(XDR *, Uid_2*);
415 extern  bool_t _DtCm_xdr_Appt_2(XDR *, Appt_2*);
416 extern  bool_t _DtCm_xdr_Abb_Appt_2(XDR *, Abb_Appt_2*);
417 extern  bool_t _DtCm_xdr_Apptid_2(XDR *, Apptid_2*);
418 extern  bool_t _DtCm_xdr_Reminder_2(XDR *, Reminder_2*);
419 extern  bool_t _DtCm_xdr_Table_Res_Type_2(XDR *, Table_Res_Type_2*);
420 extern  bool_t _DtCm_xdr_Table_Res_List_2(XDR *, Table_Res_List_2*);
421 extern  bool_t _DtCm_xdr_Access_Status_2(XDR *, Access_Status_2*);
422 extern  bool_t _DtCm_xdr_Table_Res_2(XDR *, Table_Res_2*);
423 extern  bool_t _DtCm_xdr_Access_Entry_2(XDR *, Access_Entry_2*);
424 extern  bool_t _DtCm_xdr_Access_Args_2(XDR *, Access_Args_2*);
425 extern  bool_t _DtCm_xdr_Range_2(XDR *, Range_2*);
426 extern  bool_t _DtCm_xdr_Table_Args_Type_2(XDR *, Table_Args_Type_2*);
427 extern  bool_t _DtCm_xdr_Args_2(XDR *, Args_2*);
428 extern  bool_t _DtCm_xdr_Table_Args_2(XDR *, Table_Args_2*);
429 extern  bool_t _DtCm_xdr_Registration_2(XDR *, Registration_2*);
430 extern  bool_t _DtCm_xdr_Table_Status_2(XDR *, Table_Status_2*);
431 extern  bool_t _DtCm_xdr_Registration_Status_2(XDR *, Registration_Status_2*);
432
433 #else /* K&R C */
434 extern bool_t _DtCm_xdr_Buffer_2();
435 extern bool_t _DtCm_xdr_Transaction_2();
436 extern bool_t _DtCm_xdr_Period_2();
437 extern bool_t _DtCm_xdr_Tag_2();
438 extern bool_t _DtCm_xdr_Attribute_2();
439 extern bool_t _DtCm_xdr_Attr_2();
440 extern bool_t _DtCm_xdr_Except_2();
441 extern bool_t _DtCm_xdr_Exception_2();
442 extern bool_t _DtCm_xdr_Id_2();
443 extern bool_t _DtCm_xdr_Uid_2();
444 extern bool_t _DtCm_xdr_Appt_2();
445 extern bool_t _DtCm_xdr_Abb_Appt_2();
446 extern bool_t _DtCm_xdr_Apptid_2();
447 extern bool_t _DtCm_xdr_Reminder_2();
448 extern bool_t _DtCm_xdr_Table_Res_Type_2();
449 extern bool_t _DtCm_xdr_Table_Res_List_2();
450 extern bool_t _DtCm_xdr_Access_Status_2();
451 extern bool_t _DtCm_xdr_Table_Res_2();
452 extern bool_t _DtCm_xdr_Access_Entry_2();
453 extern bool_t _DtCm_xdr_Access_Args_2();
454 extern bool_t _DtCm_xdr_Range_2();
455 extern bool_t _DtCm_xdr_Table_Args_Type_2();
456 extern bool_t _DtCm_xdr_Args_2();
457 extern bool_t _DtCm_xdr_Table_Args_2();
458 extern bool_t _DtCm_xdr_Registration_2();
459 extern bool_t _DtCm_xdr_Table_Status_2();
460 extern bool_t _DtCm_xdr_Registration_Status_2();
461
462 #endif /* K&R C */
463
464 #ifdef __cplusplus
465 }
466 #endif
467
468 #ifdef HPUX
469 #undef hpux
470 #define hpux
471 #endif
472 #endif
473