1 /*******************************************************************************
5 ** $TOG: rtable4.h /main/3 1999/10/14 17:48:06 mgreess $
7 ** RESTRICTED CONFIDENTIAL INFORMATION:
9 ** The information in this document is subject to special
10 ** restrictions in a confidential disclosure agreement between
11 ** HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
12 ** document outside HP, IBM, Sun, USL, SCO, or Univel without
13 ** Sun's specific written approval. This document and all copies
14 ** and derivative works thereof must be returned or destroyed at
17 ** (c) Copyright 1996 Digital Equipment Corporation.
18 ** (c) Copyright 1996 Hewlett-Packard Company.
19 ** (c) Copyright 1996 International Business Machines Corp.
20 ** (c) Copyright 1993,1996 Sun Microsystems, Inc.
21 ** (c) Copyright 1996 Novell, Inc.
22 ** (c) Copyright 1996 FUJITSU LIMITED.
23 ** (c) Copyright 1996 Hitachi.
25 *******************************************************************************/
30 #include <rpc/types.h>
40 #include "connection.h"
42 extern bool_t xdr_time_t();
44 typedef char *Buffer_4;
63 typedef enum Interval_4 Interval_4;
70 typedef struct Period_4 Period_4;
79 typedef enum Event_Type_4 Event_Type_4;
86 typedef enum Options_4 Options_4;
93 typedef struct Tag_4 Tag_4;
95 enum Privacy_Level_4 {
100 typedef enum Privacy_Level_4 Privacy_Level_4;
103 struct Attribute_4 *next;
108 typedef struct Attribute_4 Attribute_4;
110 typedef Attribute_4 *Attr_4;
114 struct Except_4 *next;
116 typedef struct Except_4 Except_4;
118 typedef Except_4 *Exception_4;
124 typedef struct Id_4 Id_4;
130 typedef struct Uid_4 Uid_4;
140 typedef enum Appt_Status_4 Appt_Status_4;
148 struct Period_4 period;
150 Buffer_4 client_data;
151 struct Except_4 *exception;
152 struct Attribute_4 *attr;
153 Appt_Status_4 appt_status;
154 Privacy_Level_4 privacy;
157 typedef struct Appt_4 Appt_4;
164 struct Period_4 period;
165 struct Abb_Appt_4 *next;
166 Appt_Status_4 appt_status;
167 Privacy_Level_4 privacy;
169 typedef struct Abb_Appt_4 Abb_Appt_4;
173 struct Appt_4 *new_appt;
176 typedef struct Apptid_4 Apptid_4;
182 struct Reminder_4 *next;
184 typedef struct Reminder_4 Reminder_4;
186 enum Table_Res_Type_4 {
192 typedef enum Table_Res_Type_4 Table_Res_Type_4;
194 struct Table_Res_List_4 {
195 Table_Res_Type_4 tag;
201 } Table_Res_List_4_u;
203 typedef struct Table_Res_List_4 Table_Res_List_4;
205 enum Access_Status_4 {
208 access_removed_4 = 2,
211 access_partial_4 = 5,
213 access_notable_4 = 7,
214 access_notsupported_4 = 8,
215 access_incomplete_4 = 9
217 typedef enum Access_Status_4 Access_Status_4;
220 Access_Status_4 status;
221 Table_Res_List_4 res;
223 typedef struct Table_Res_4 Table_Res_4;
224 #define access_none_4 0x0 /* owner only */
225 #define access_read_4 0x1
226 #define access_write_4 0x2
227 #define access_delete_4 0x4
228 #define access_exec_4 0x8 /* execution permission is a hack! */
229 #define WORLD "world" /* special user */
231 struct Access_Entry_4 {
234 struct Access_Entry_4 *next;
236 typedef struct Access_Entry_4 Access_Entry_4;
238 struct Access_Args_4 {
240 Access_Entry_4 *access_list;
242 typedef struct Access_Args_4 Access_Args_4;
247 struct Range_4 *next;
249 typedef struct Range_4 Range_4;
255 struct Keyrange_4 *next;
257 typedef struct Keyrange_4 Keyrange_4;
262 struct Uidopt_4 *next;
264 typedef struct Uidopt_4 Uidopt_4;
266 enum Table_Args_Type_4 {
275 typedef enum Table_Args_Type_4 Table_Args_Type_4;
278 Table_Args_Type_4 tag;
285 Keyrange_4 *keyrange;
289 typedef struct Args_4 Args_4;
291 struct Table_Args_4 {
296 typedef struct Table_Args_4 Table_Args_4;
298 struct Registration_4 {
303 struct Registration_4 *next;
306 typedef struct Registration_4 Registration_4;
308 struct Table_Op_Args_4 {
312 typedef struct Table_Op_Args_4 Table_Op_Args_4;
314 enum Table_Status_4 {
323 tbl_notsupported_4 = 8
325 typedef enum Table_Status_4 Table_Status_4;
327 enum Registration_Status_4 {
334 typedef enum Registration_Status_4 Registration_Status_4;
337 * rtable_delete and rtable_change take over the functionality of
338 * rtable_delete_instance and rtable_change_instance repectively.
339 * rtable_delete_instance and rtable_change_instance are now dummy
340 * routines exist for backward compatibility purpose and return
341 * access_notsupported.
344 #define TABLEPROG ((unsigned long)(100068))
345 #define TABLEVERS_4 ((unsigned long)(4))
347 #if defined(__STDC__) || defined(__cplusplus)
348 #define rtable_ping ((unsigned long)(0))
349 extern void * _DtCm_rtable_ping_4(void *, _DtCm_Connection *);
350 extern void * _DtCm_rtable_ping_4_svc(void *, struct svc_req *);
351 #define rtable_lookup ((unsigned long)(1))
352 extern Table_Res_4 * _DtCm_rtable_lookup_4(Table_Args_4 *, _DtCm_Connection *);
353 extern Table_Res_4 * _DtCm_rtable_lookup_4_svc(Table_Args_4 *, struct svc_req *);
354 #define rtable_lookup_next_larger ((unsigned long)(2))
355 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4(Table_Args_4 *, _DtCm_Connection *);
356 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4_svc(Table_Args_4 *, struct svc_req *);
357 #define rtable_lookup_next_smaller ((unsigned long)(3))
358 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4(Table_Args_4 *, _DtCm_Connection *);
359 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4_svc(Table_Args_4 *, struct svc_req *);
360 #define rtable_lookup_range ((unsigned long)(4))
361 extern Table_Res_4 * _DtCm_rtable_lookup_range_4(Table_Args_4 *, _DtCm_Connection *);
362 extern Table_Res_4 * _DtCm_rtable_lookup_range_4_svc(Table_Args_4 *, struct svc_req *);
363 #define rtable_abbreviated_lookup_range ((unsigned long)(5))
364 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4(Table_Args_4 *, _DtCm_Connection *);
365 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4_svc(Table_Args_4 *, struct svc_req *);
366 #define rtable_insert ((unsigned long)(6))
367 extern Table_Res_4 * _DtCm_rtable_insert_4(Table_Args_4 *, _DtCm_Connection *);
368 extern Table_Res_4 * _DtCm_rtable_insert_4_svc(Table_Args_4 *, struct svc_req *);
369 #define rtable_delete ((unsigned long)(7))
370 extern Table_Res_4 * _DtCm_rtable_delete_4(Table_Args_4 *, _DtCm_Connection *);
371 extern Table_Res_4 * _DtCm_rtable_delete_4_svc(Table_Args_4 *, struct svc_req *);
372 #define rtable_delete_instance ((unsigned long)(8))
373 extern Table_Res_4 * _DtCm_rtable_delete_instance_4(Table_Args_4 *, _DtCm_Connection *);
374 extern Table_Res_4 * _DtCm_rtable_delete_instance_4_svc(Table_Args_4 *, struct svc_req *);
375 #define rtable_change ((unsigned long)(9))
376 extern Table_Res_4 * _DtCm_rtable_change_4(Table_Args_4 *, _DtCm_Connection *);
377 extern Table_Res_4 * _DtCm_rtable_change_4_svc(Table_Args_4 *, struct svc_req *);
378 #define rtable_change_instance ((unsigned long)(10))
379 extern Table_Res_4 * _DtCm_rtable_change_instance_4(Table_Args_4 *, _DtCm_Connection *);
380 extern Table_Res_4 * _DtCm_rtable_change_instance_4_svc(Table_Args_4 *, struct svc_req *);
381 #define rtable_lookup_next_reminder ((unsigned long)(11))
382 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4(Table_Args_4 *, _DtCm_Connection *);
383 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4_svc(Table_Args_4 *, struct svc_req *);
384 #define rtable_check ((unsigned long)(12))
385 extern Table_Status_4 * _DtCm_rtable_check_4(Table_Args_4 *, _DtCm_Connection *);
386 extern Table_Status_4 * _DtCm_rtable_check_4_svc(Table_Args_4 *, struct svc_req *);
387 #define rtable_flush_table ((unsigned long)(13))
388 extern Table_Status_4 * _DtCm_rtable_flush_table_4(Table_Args_4 *, _DtCm_Connection *);
389 extern Table_Status_4 * _DtCm_rtable_flush_table_4_svc(Table_Args_4 *, struct svc_req *);
390 #define rtable_size ((unsigned long)(14))
391 extern int * _DtCm_rtable_size_4(Table_Args_4 *, _DtCm_Connection *);
392 extern int * _DtCm_rtable_size_4_svc(Table_Args_4 *, struct svc_req *);
393 #define register_callback ((unsigned long)(15))
394 extern Registration_Status_4 * _DtCm_register_callback_4(Registration_4 *, _DtCm_Connection *);
395 extern Registration_Status_4 * _DtCm_register_callback_4_svc(Registration_4 *, struct svc_req *);
396 #define deregister_callback ((unsigned long)(16))
397 extern Registration_Status_4 * _DtCm_deregister_callback_4(Registration_4 *, _DtCm_Connection *);
398 extern Registration_Status_4 * _DtCm_deregister_callback_4_svc(Registration_4 *, struct svc_req *);
399 #define rtable_set_access ((unsigned long)(17))
400 extern Access_Status_4 * _DtCm_rtable_set_access_4(Access_Args_4 *, _DtCm_Connection *);
401 extern Access_Status_4 * _DtCm_rtable_set_access_4_svc(Access_Args_4 *, struct svc_req *);
402 #define rtable_get_access ((unsigned long)(18))
403 extern Access_Args_4 * _DtCm_rtable_get_access_4(Access_Args_4 *, _DtCm_Connection *);
404 extern Access_Args_4 * _DtCm_rtable_get_access_4_svc(Access_Args_4 *, struct svc_req *);
405 #define rtable_abbreviated_lookup_key_range ((unsigned long)(19))
406 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4(Table_Args_4 *, _DtCm_Connection *);
407 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4_svc(Table_Args_4 *, struct svc_req *);
408 #define rtable_gmtoff ((unsigned long)(20))
409 extern long * _DtCm_rtable_gmtoff_4(void *, _DtCm_Connection *);
410 extern long * _DtCm_rtable_gmtoff_4_svc(void *, struct svc_req *);
411 #define rtable_create ((unsigned long)(21))
412 extern Table_Status_4 * _DtCm_rtable_create_4(Table_Op_Args_4 *, _DtCm_Connection *);
413 extern Table_Status_4 * _DtCm_rtable_create_4_svc(Table_Op_Args_4 *, struct svc_req *);
414 #define rtable_remove ((unsigned long)(22))
415 extern Table_Status_4 * _DtCm_rtable_remove_4(Table_Op_Args_4 *, _DtCm_Connection *);
416 extern Table_Status_4 * _DtCm_rtable_remove_4_svc(Table_Op_Args_4 *, struct svc_req *);
417 #define rtable_rename ((unsigned long)(23))
418 extern Table_Status_4 * _DtCm_rtable_rename_4(Table_Op_Args_4 *, _DtCm_Connection *);
419 extern Table_Status_4 * _DtCm_rtable_rename_4_svc(Table_Op_Args_4 *, struct svc_req *);
420 extern int tableprog_4_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
423 #define rtable_ping ((unsigned long)(0))
424 extern void * _DtCm_rtable_ping_4();
425 extern void * _DtCm_rtable_ping_4_svc();
426 #define rtable_lookup ((unsigned long)(1))
427 extern Table_Res_4 * _DtCm_rtable_lookup_4();
428 extern Table_Res_4 * _DtCm_rtable_lookup_4_svc();
429 #define rtable_lookup_next_larger ((unsigned long)(2))
430 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4();
431 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4_svc();
432 #define rtable_lookup_next_smaller ((unsigned long)(3))
433 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4();
434 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4_svc();
435 #define rtable_lookup_range ((unsigned long)(4))
436 extern Table_Res_4 * _DtCm_rtable_lookup_range_4();
437 extern Table_Res_4 * _DtCm_rtable_lookup_range_4_svc();
438 #define rtable_abbreviated_lookup_range ((unsigned long)(5))
439 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4();
440 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4_svc();
441 #define rtable_insert ((unsigned long)(6))
442 extern Table_Res_4 * _DtCm_rtable_insert_4();
443 extern Table_Res_4 * _DtCm_rtable_insert_4_svc();
444 #define rtable_delete ((unsigned long)(7))
445 extern Table_Res_4 * _DtCm_rtable_delete_4();
446 extern Table_Res_4 * _DtCm_rtable_delete_4_svc();
447 #define rtable_delete_instance ((unsigned long)(8))
448 extern Table_Res_4 * _DtCm_rtable_delete_instance_4();
449 extern Table_Res_4 * _DtCm_rtable_delete_instance_4_svc();
450 #define rtable_change ((unsigned long)(9))
451 extern Table_Res_4 * _DtCm_rtable_change_4();
452 extern Table_Res_4 * _DtCm_rtable_change_4_svc();
453 #define rtable_change_instance ((unsigned long)(10))
454 extern Table_Res_4 * _DtCm_rtable_change_instance_4();
455 extern Table_Res_4 * _DtCm_rtable_change_instance_4_svc();
456 #define rtable_lookup_next_reminder ((unsigned long)(11))
457 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4();
458 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4_svc();
459 #define rtable_check ((unsigned long)(12))
460 extern Table_Status_4 * _DtCm_rtable_check_4();
461 extern Table_Status_4 * _DtCm_rtable_check_4_svc();
462 #define rtable_flush_table ((unsigned long)(13))
463 extern Table_Status_4 * _DtCm_rtable_flush_table_4();
464 extern Table_Status_4 * _DtCm_rtable_flush_table_4_svc();
465 #define rtable_size ((unsigned long)(14))
466 extern int * _DtCm_rtable_size_4();
467 extern int * _DtCm_rtable_size_4_svc();
468 #define register_callback ((unsigned long)(15))
469 extern Registration_Status_4 * _DtCm_register_callback_4();
470 extern Registration_Status_4 * _DtCm_register_callback_4_svc();
471 #define deregister_callback ((unsigned long)(16))
472 extern Registration_Status_4 * _DtCm_deregister_callback_4();
473 extern Registration_Status_4 * _DtCm_deregister_callback_4_svc();
474 #define rtable_set_access ((unsigned long)(17))
475 extern Access_Status_4 * _DtCm_rtable_set_access_4();
476 extern Access_Status_4 * _DtCm_rtable_set_access_4_svc();
477 #define rtable_get_access ((unsigned long)(18))
478 extern Access_Args_4 * _DtCm_rtable_get_access_4();
479 extern Access_Args_4 * _DtCm_rtable_get_access_4_svc();
480 #define rtable_abbreviated_lookup_key_range ((unsigned long)(19))
481 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4();
482 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4_svc();
483 #define rtable_gmtoff ((unsigned long)(20))
484 extern long * _DtCm_rtable_gmtoff_4();
485 extern long * _DtCm_rtable_gmtoff_4_svc();
486 #define rtable_create ((unsigned long)(21))
487 extern Table_Status_4 * _DtCm_rtable_create_4();
488 extern Table_Status_4 * _DtCm_rtable_create_4_svc();
489 #define rtable_remove ((unsigned long)(22))
490 extern Table_Status_4 * _DtCm_rtable_remove_4();
491 extern Table_Status_4 * _DtCm_rtable_remove_4_svc();
492 #define rtable_rename ((unsigned long)(23))
493 extern Table_Status_4 * _DtCm_rtable_rename_4();
494 extern Table_Status_4 * _DtCm_rtable_rename_4_svc();
495 extern int tableprog_4_freeresult();
498 /* the xdr functions */
500 #if defined(__STDC__) || defined(__cplusplus)
501 extern bool_t _DtCm_xdr_Buffer_4(XDR *, Buffer_4*);
502 extern bool_t _DtCm_xdr_Interval_4(XDR *, Interval_4*);
503 extern bool_t _DtCm_xdr_Period_4(XDR *, Period_4*);
504 extern bool_t _DtCm_xdr_Event_Type_4(XDR *, Event_Type_4*);
505 extern bool_t _DtCm_xdr_Options_4(XDR *, Options_4*);
506 extern bool_t _DtCm_xdr_Tag_4(XDR *, Tag_4*);
507 extern bool_t _DtCm_xdr_Privacy_Level_4(XDR *, Privacy_Level_4*);
508 extern bool_t _DtCm_xdr_Attribute_4(XDR *, Attribute_4*);
509 extern bool_t _DtCm_xdr_Attr_4(XDR *, Attr_4*);
510 extern bool_t _DtCm_xdr_Except_4(XDR *, Except_4*);
511 extern bool_t _DtCm_xdr_Exception_4(XDR *, Exception_4*);
512 extern bool_t _DtCm_xdr_Id_4(XDR *, Id_4*);
513 extern bool_t _DtCm_xdr_Uid_4(XDR *, Uid_4*);
514 extern bool_t _DtCm_xdr_Appt_Status_4(XDR *, Appt_Status_4*);
515 extern bool_t _DtCm_xdr_Appt_4(XDR *, Appt_4*);
516 extern bool_t _DtCm_xdr_Abb_Appt_4(XDR *, Abb_Appt_4*);
517 extern bool_t _DtCm_xdr_Apptid_4(XDR *, Apptid_4*);
518 extern bool_t _DtCm_xdr_Reminder_4(XDR *, Reminder_4*);
519 extern bool_t _DtCm_xdr_Table_Res_Type_4(XDR *, Table_Res_Type_4*);
520 extern bool_t _DtCm_xdr_Table_Res_List_4(XDR *, Table_Res_List_4*);
521 extern bool_t _DtCm_xdr_Access_Status_4(XDR *, Access_Status_4*);
522 extern bool_t _DtCm_xdr_Table_Res_4(XDR *, Table_Res_4*);
523 extern bool_t _DtCm_xdr_Access_Entry_4(XDR *, Access_Entry_4*);
524 extern bool_t _DtCm_xdr_Access_Args_4(XDR *, Access_Args_4*);
525 extern bool_t _DtCm_xdr_Range_4(XDR *, Range_4*);
526 extern bool_t _DtCm_xdr_Keyrange_4(XDR *, Keyrange_4*);
527 extern bool_t _DtCm_xdr_Uidopt_4(XDR *, Uidopt_4*);
528 extern bool_t _DtCm_xdr_Table_Args_Type_4(XDR *, Table_Args_Type_4*);
529 extern bool_t _DtCm_xdr_Args_4(XDR *, Args_4*);
530 extern bool_t _DtCm_xdr_Table_Args_4(XDR *, Table_Args_4*);
531 extern bool_t _DtCm_xdr_Registration_4(XDR *, Registration_4*);
532 extern bool_t _DtCm_xdr_Table_Op_Args_4(XDR *, Table_Op_Args_4*);
533 extern bool_t _DtCm_xdr_Table_Status_4(XDR *, Table_Status_4*);
534 extern bool_t _DtCm_xdr_Registration_Status_4(XDR *, Registration_Status_4*);
537 extern bool_t _DtCm_xdr_Buffer_4();
538 extern bool_t _DtCm_xdr_Interval_4();
539 extern bool_t _DtCm_xdr_Period_4();
540 extern bool_t _DtCm_xdr_Event_Type_4();
541 extern bool_t _DtCm_xdr_Options_4();
542 extern bool_t _DtCm_xdr_Tag_4();
543 extern bool_t _DtCm_xdr_Privacy_Level_4();
544 extern bool_t _DtCm_xdr_Attribute_4();
545 extern bool_t _DtCm_xdr_Attr_4();
546 extern bool_t _DtCm_xdr_Except_4();
547 extern bool_t _DtCm_xdr_Exception_4();
548 extern bool_t _DtCm_xdr_Id_4();
549 extern bool_t _DtCm_xdr_Uid_4();
550 extern bool_t _DtCm_xdr_Appt_Status_4();
551 extern bool_t _DtCm_xdr_Appt_4();
552 extern bool_t _DtCm_xdr_Abb_Appt_4();
553 extern bool_t _DtCm_xdr_Apptid_4();
554 extern bool_t _DtCm_xdr_Reminder_4();
555 extern bool_t _DtCm_xdr_Table_Res_Type_4();
556 extern bool_t _DtCm_xdr_Table_Res_List_4();
557 extern bool_t _DtCm_xdr_Access_Status_4();
558 extern bool_t _DtCm_xdr_Table_Res_4();
559 extern bool_t _DtCm_xdr_Access_Entry_4();
560 extern bool_t _DtCm_xdr_Access_Args_4();
561 extern bool_t _DtCm_xdr_Range_4();
562 extern bool_t _DtCm_xdr_Keyrange_4();
563 extern bool_t _DtCm_xdr_Uidopt_4();
564 extern bool_t _DtCm_xdr_Table_Args_Type_4();
565 extern bool_t _DtCm_xdr_Args_4();
566 extern bool_t _DtCm_xdr_Table_Args_4();
567 extern bool_t _DtCm_xdr_Registration_4();
568 extern bool_t _DtCm_xdr_Table_Op_Args_4();
569 extern bool_t _DtCm_xdr_Table_Status_4();
570 extern bool_t _DtCm_xdr_Registration_Status_4();