2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
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)
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
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
23 /*******************************************************************************
27 ** $TOG: rtable4.h /main/3 1999/10/14 17:48:06 mgreess $
29 ** RESTRICTED CONFIDENTIAL INFORMATION:
31 ** The information in this document is subject to special
32 ** restrictions in a confidential disclosure agreement between
33 ** HP, IBM, Sun, USL, SCO and Univel. Do not distribute this
34 ** document outside HP, IBM, Sun, USL, SCO, or Univel without
35 ** Sun's specific written approval. This document and all copies
36 ** and derivative works thereof must be returned or destroyed at
39 ** (c) Copyright 1996 Digital Equipment Corporation.
40 ** (c) Copyright 1996 Hewlett-Packard Company.
41 ** (c) Copyright 1996 International Business Machines Corp.
42 ** (c) Copyright 1993,1996 Sun Microsystems, Inc.
43 ** (c) Copyright 1996 Novell, Inc.
44 ** (c) Copyright 1996 FUJITSU LIMITED.
45 ** (c) Copyright 1996 Hitachi.
47 *******************************************************************************/
52 #include <rpc/types.h>
62 #include "connection.h"
64 extern bool_t xdr_time_t();
66 typedef char *Buffer_4;
85 typedef enum Interval_4 Interval_4;
92 typedef struct Period_4 Period_4;
101 typedef enum Event_Type_4 Event_Type_4;
108 typedef enum Options_4 Options_4;
115 typedef struct Tag_4 Tag_4;
117 enum Privacy_Level_4 {
122 typedef enum Privacy_Level_4 Privacy_Level_4;
125 struct Attribute_4 *next;
130 typedef struct Attribute_4 Attribute_4;
132 typedef Attribute_4 *Attr_4;
136 struct Except_4 *next;
138 typedef struct Except_4 Except_4;
140 typedef Except_4 *Exception_4;
146 typedef struct Id_4 Id_4;
152 typedef struct Uid_4 Uid_4;
162 typedef enum Appt_Status_4 Appt_Status_4;
170 struct Period_4 period;
172 Buffer_4 client_data;
173 struct Except_4 *exception;
174 struct Attribute_4 *attr;
175 Appt_Status_4 appt_status;
176 Privacy_Level_4 privacy;
179 typedef struct Appt_4 Appt_4;
186 struct Period_4 period;
187 struct Abb_Appt_4 *next;
188 Appt_Status_4 appt_status;
189 Privacy_Level_4 privacy;
191 typedef struct Abb_Appt_4 Abb_Appt_4;
195 struct Appt_4 *new_appt;
198 typedef struct Apptid_4 Apptid_4;
204 struct Reminder_4 *next;
206 typedef struct Reminder_4 Reminder_4;
208 enum Table_Res_Type_4 {
214 typedef enum Table_Res_Type_4 Table_Res_Type_4;
216 struct Table_Res_List_4 {
217 Table_Res_Type_4 tag;
223 } Table_Res_List_4_u;
225 typedef struct Table_Res_List_4 Table_Res_List_4;
227 enum Access_Status_4 {
230 access_removed_4 = 2,
233 access_partial_4 = 5,
235 access_notable_4 = 7,
236 access_notsupported_4 = 8,
237 access_incomplete_4 = 9
239 typedef enum Access_Status_4 Access_Status_4;
242 Access_Status_4 status;
243 Table_Res_List_4 res;
245 typedef struct Table_Res_4 Table_Res_4;
246 #define access_none_4 0x0 /* owner only */
247 #define access_read_4 0x1
248 #define access_write_4 0x2
249 #define access_delete_4 0x4
250 #define access_exec_4 0x8 /* execution permission is a hack! */
251 #define WORLD "world" /* special user */
253 struct Access_Entry_4 {
256 struct Access_Entry_4 *next;
258 typedef struct Access_Entry_4 Access_Entry_4;
260 struct Access_Args_4 {
262 Access_Entry_4 *access_list;
264 typedef struct Access_Args_4 Access_Args_4;
269 struct Range_4 *next;
271 typedef struct Range_4 Range_4;
277 struct Keyrange_4 *next;
279 typedef struct Keyrange_4 Keyrange_4;
284 struct Uidopt_4 *next;
286 typedef struct Uidopt_4 Uidopt_4;
288 enum Table_Args_Type_4 {
297 typedef enum Table_Args_Type_4 Table_Args_Type_4;
300 Table_Args_Type_4 tag;
307 Keyrange_4 *keyrange;
311 typedef struct Args_4 Args_4;
313 struct Table_Args_4 {
318 typedef struct Table_Args_4 Table_Args_4;
320 struct Registration_4 {
325 struct Registration_4 *next;
328 typedef struct Registration_4 Registration_4;
330 struct Table_Op_Args_4 {
334 typedef struct Table_Op_Args_4 Table_Op_Args_4;
336 enum Table_Status_4 {
345 tbl_notsupported_4 = 8
347 typedef enum Table_Status_4 Table_Status_4;
349 enum Registration_Status_4 {
356 typedef enum Registration_Status_4 Registration_Status_4;
359 * rtable_delete and rtable_change take over the functionality of
360 * rtable_delete_instance and rtable_change_instance repectively.
361 * rtable_delete_instance and rtable_change_instance are now dummy
362 * routines exist for backward compatibility purpose and return
363 * access_notsupported.
366 #define TABLEPROG ((unsigned long)(100068))
367 #define TABLEVERS_4 ((unsigned long)(4))
369 #if defined(__STDC__) || defined(__cplusplus)
370 #define rtable_ping ((unsigned long)(0))
371 extern void * _DtCm_rtable_ping_4(void *, _DtCm_Connection *);
372 extern void * _DtCm_rtable_ping_4_svc(void *, struct svc_req *);
373 #define rtable_lookup ((unsigned long)(1))
374 extern Table_Res_4 * _DtCm_rtable_lookup_4(Table_Args_4 *, _DtCm_Connection *);
375 extern Table_Res_4 * _DtCm_rtable_lookup_4_svc(Table_Args_4 *, struct svc_req *);
376 #define rtable_lookup_next_larger ((unsigned long)(2))
377 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4(Table_Args_4 *, _DtCm_Connection *);
378 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4_svc(Table_Args_4 *, struct svc_req *);
379 #define rtable_lookup_next_smaller ((unsigned long)(3))
380 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4(Table_Args_4 *, _DtCm_Connection *);
381 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4_svc(Table_Args_4 *, struct svc_req *);
382 #define rtable_lookup_range ((unsigned long)(4))
383 extern Table_Res_4 * _DtCm_rtable_lookup_range_4(Table_Args_4 *, _DtCm_Connection *);
384 extern Table_Res_4 * _DtCm_rtable_lookup_range_4_svc(Table_Args_4 *, struct svc_req *);
385 #define rtable_abbreviated_lookup_range ((unsigned long)(5))
386 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4(Table_Args_4 *, _DtCm_Connection *);
387 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4_svc(Table_Args_4 *, struct svc_req *);
388 #define rtable_insert ((unsigned long)(6))
389 extern Table_Res_4 * _DtCm_rtable_insert_4(Table_Args_4 *, _DtCm_Connection *);
390 extern Table_Res_4 * _DtCm_rtable_insert_4_svc(Table_Args_4 *, struct svc_req *);
391 #define rtable_delete ((unsigned long)(7))
392 extern Table_Res_4 * _DtCm_rtable_delete_4(Table_Args_4 *, _DtCm_Connection *);
393 extern Table_Res_4 * _DtCm_rtable_delete_4_svc(Table_Args_4 *, struct svc_req *);
394 #define rtable_delete_instance ((unsigned long)(8))
395 extern Table_Res_4 * _DtCm_rtable_delete_instance_4(Table_Args_4 *, _DtCm_Connection *);
396 extern Table_Res_4 * _DtCm_rtable_delete_instance_4_svc(Table_Args_4 *, struct svc_req *);
397 #define rtable_change ((unsigned long)(9))
398 extern Table_Res_4 * _DtCm_rtable_change_4(Table_Args_4 *, _DtCm_Connection *);
399 extern Table_Res_4 * _DtCm_rtable_change_4_svc(Table_Args_4 *, struct svc_req *);
400 #define rtable_change_instance ((unsigned long)(10))
401 extern Table_Res_4 * _DtCm_rtable_change_instance_4(Table_Args_4 *, _DtCm_Connection *);
402 extern Table_Res_4 * _DtCm_rtable_change_instance_4_svc(Table_Args_4 *, struct svc_req *);
403 #define rtable_lookup_next_reminder ((unsigned long)(11))
404 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4(Table_Args_4 *, _DtCm_Connection *);
405 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4_svc(Table_Args_4 *, struct svc_req *);
406 #define rtable_check ((unsigned long)(12))
407 extern Table_Status_4 * _DtCm_rtable_check_4(Table_Args_4 *, _DtCm_Connection *);
408 extern Table_Status_4 * _DtCm_rtable_check_4_svc(Table_Args_4 *, struct svc_req *);
409 #define rtable_flush_table ((unsigned long)(13))
410 extern Table_Status_4 * _DtCm_rtable_flush_table_4(Table_Args_4 *, _DtCm_Connection *);
411 extern Table_Status_4 * _DtCm_rtable_flush_table_4_svc(Table_Args_4 *, struct svc_req *);
412 #define rtable_size ((unsigned long)(14))
413 extern int * _DtCm_rtable_size_4(Table_Args_4 *, _DtCm_Connection *);
414 extern int * _DtCm_rtable_size_4_svc(Table_Args_4 *, struct svc_req *);
415 #define register_callback ((unsigned long)(15))
416 extern Registration_Status_4 * _DtCm_register_callback_4(Registration_4 *, _DtCm_Connection *);
417 extern Registration_Status_4 * _DtCm_register_callback_4_svc(Registration_4 *, struct svc_req *);
418 #define deregister_callback ((unsigned long)(16))
419 extern Registration_Status_4 * _DtCm_deregister_callback_4(Registration_4 *, _DtCm_Connection *);
420 extern Registration_Status_4 * _DtCm_deregister_callback_4_svc(Registration_4 *, struct svc_req *);
421 #define rtable_set_access ((unsigned long)(17))
422 extern Access_Status_4 * _DtCm_rtable_set_access_4(Access_Args_4 *, _DtCm_Connection *);
423 extern Access_Status_4 * _DtCm_rtable_set_access_4_svc(Access_Args_4 *, struct svc_req *);
424 #define rtable_get_access ((unsigned long)(18))
425 extern Access_Args_4 * _DtCm_rtable_get_access_4(Access_Args_4 *, _DtCm_Connection *);
426 extern Access_Args_4 * _DtCm_rtable_get_access_4_svc(Access_Args_4 *, struct svc_req *);
427 #define rtable_abbreviated_lookup_key_range ((unsigned long)(19))
428 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4(Table_Args_4 *, _DtCm_Connection *);
429 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4_svc(Table_Args_4 *, struct svc_req *);
430 #define rtable_gmtoff ((unsigned long)(20))
431 extern long * _DtCm_rtable_gmtoff_4(void *, _DtCm_Connection *);
432 extern long * _DtCm_rtable_gmtoff_4_svc(void *, struct svc_req *);
433 #define rtable_create ((unsigned long)(21))
434 extern Table_Status_4 * _DtCm_rtable_create_4(Table_Op_Args_4 *, _DtCm_Connection *);
435 extern Table_Status_4 * _DtCm_rtable_create_4_svc(Table_Op_Args_4 *, struct svc_req *);
436 #define rtable_remove ((unsigned long)(22))
437 extern Table_Status_4 * _DtCm_rtable_remove_4(Table_Op_Args_4 *, _DtCm_Connection *);
438 extern Table_Status_4 * _DtCm_rtable_remove_4_svc(Table_Op_Args_4 *, struct svc_req *);
439 #define rtable_rename ((unsigned long)(23))
440 extern Table_Status_4 * _DtCm_rtable_rename_4(Table_Op_Args_4 *, _DtCm_Connection *);
441 extern Table_Status_4 * _DtCm_rtable_rename_4_svc(Table_Op_Args_4 *, struct svc_req *);
442 extern int tableprog_4_freeresult(SVCXPRT *, xdrproc_t, caddr_t);
445 #define rtable_ping ((unsigned long)(0))
446 extern void * _DtCm_rtable_ping_4();
447 extern void * _DtCm_rtable_ping_4_svc();
448 #define rtable_lookup ((unsigned long)(1))
449 extern Table_Res_4 * _DtCm_rtable_lookup_4();
450 extern Table_Res_4 * _DtCm_rtable_lookup_4_svc();
451 #define rtable_lookup_next_larger ((unsigned long)(2))
452 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4();
453 extern Table_Res_4 * _DtCm_rtable_lookup_next_larger_4_svc();
454 #define rtable_lookup_next_smaller ((unsigned long)(3))
455 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4();
456 extern Table_Res_4 * _DtCm_rtable_lookup_next_smaller_4_svc();
457 #define rtable_lookup_range ((unsigned long)(4))
458 extern Table_Res_4 * _DtCm_rtable_lookup_range_4();
459 extern Table_Res_4 * _DtCm_rtable_lookup_range_4_svc();
460 #define rtable_abbreviated_lookup_range ((unsigned long)(5))
461 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4();
462 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_range_4_svc();
463 #define rtable_insert ((unsigned long)(6))
464 extern Table_Res_4 * _DtCm_rtable_insert_4();
465 extern Table_Res_4 * _DtCm_rtable_insert_4_svc();
466 #define rtable_delete ((unsigned long)(7))
467 extern Table_Res_4 * _DtCm_rtable_delete_4();
468 extern Table_Res_4 * _DtCm_rtable_delete_4_svc();
469 #define rtable_delete_instance ((unsigned long)(8))
470 extern Table_Res_4 * _DtCm_rtable_delete_instance_4();
471 extern Table_Res_4 * _DtCm_rtable_delete_instance_4_svc();
472 #define rtable_change ((unsigned long)(9))
473 extern Table_Res_4 * _DtCm_rtable_change_4();
474 extern Table_Res_4 * _DtCm_rtable_change_4_svc();
475 #define rtable_change_instance ((unsigned long)(10))
476 extern Table_Res_4 * _DtCm_rtable_change_instance_4();
477 extern Table_Res_4 * _DtCm_rtable_change_instance_4_svc();
478 #define rtable_lookup_next_reminder ((unsigned long)(11))
479 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4();
480 extern Table_Res_4 * _DtCm_rtable_lookup_next_reminder_4_svc();
481 #define rtable_check ((unsigned long)(12))
482 extern Table_Status_4 * _DtCm_rtable_check_4();
483 extern Table_Status_4 * _DtCm_rtable_check_4_svc();
484 #define rtable_flush_table ((unsigned long)(13))
485 extern Table_Status_4 * _DtCm_rtable_flush_table_4();
486 extern Table_Status_4 * _DtCm_rtable_flush_table_4_svc();
487 #define rtable_size ((unsigned long)(14))
488 extern int * _DtCm_rtable_size_4();
489 extern int * _DtCm_rtable_size_4_svc();
490 #define register_callback ((unsigned long)(15))
491 extern Registration_Status_4 * _DtCm_register_callback_4();
492 extern Registration_Status_4 * _DtCm_register_callback_4_svc();
493 #define deregister_callback ((unsigned long)(16))
494 extern Registration_Status_4 * _DtCm_deregister_callback_4();
495 extern Registration_Status_4 * _DtCm_deregister_callback_4_svc();
496 #define rtable_set_access ((unsigned long)(17))
497 extern Access_Status_4 * _DtCm_rtable_set_access_4();
498 extern Access_Status_4 * _DtCm_rtable_set_access_4_svc();
499 #define rtable_get_access ((unsigned long)(18))
500 extern Access_Args_4 * _DtCm_rtable_get_access_4();
501 extern Access_Args_4 * _DtCm_rtable_get_access_4_svc();
502 #define rtable_abbreviated_lookup_key_range ((unsigned long)(19))
503 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4();
504 extern Table_Res_4 * _DtCm_rtable_abbreviated_lookup_key_range_4_svc();
505 #define rtable_gmtoff ((unsigned long)(20))
506 extern long * _DtCm_rtable_gmtoff_4();
507 extern long * _DtCm_rtable_gmtoff_4_svc();
508 #define rtable_create ((unsigned long)(21))
509 extern Table_Status_4 * _DtCm_rtable_create_4();
510 extern Table_Status_4 * _DtCm_rtable_create_4_svc();
511 #define rtable_remove ((unsigned long)(22))
512 extern Table_Status_4 * _DtCm_rtable_remove_4();
513 extern Table_Status_4 * _DtCm_rtable_remove_4_svc();
514 #define rtable_rename ((unsigned long)(23))
515 extern Table_Status_4 * _DtCm_rtable_rename_4();
516 extern Table_Status_4 * _DtCm_rtable_rename_4_svc();
517 extern int tableprog_4_freeresult();
520 /* the xdr functions */
522 #if defined(__STDC__) || defined(__cplusplus)
523 extern bool_t _DtCm_xdr_Buffer_4(XDR *, Buffer_4*);
524 extern bool_t _DtCm_xdr_Interval_4(XDR *, Interval_4*);
525 extern bool_t _DtCm_xdr_Period_4(XDR *, Period_4*);
526 extern bool_t _DtCm_xdr_Event_Type_4(XDR *, Event_Type_4*);
527 extern bool_t _DtCm_xdr_Options_4(XDR *, Options_4*);
528 extern bool_t _DtCm_xdr_Tag_4(XDR *, Tag_4*);
529 extern bool_t _DtCm_xdr_Privacy_Level_4(XDR *, Privacy_Level_4*);
530 extern bool_t _DtCm_xdr_Attribute_4(XDR *, Attribute_4*);
531 extern bool_t _DtCm_xdr_Attr_4(XDR *, Attr_4*);
532 extern bool_t _DtCm_xdr_Except_4(XDR *, Except_4*);
533 extern bool_t _DtCm_xdr_Exception_4(XDR *, Exception_4*);
534 extern bool_t _DtCm_xdr_Id_4(XDR *, Id_4*);
535 extern bool_t _DtCm_xdr_Uid_4(XDR *, Uid_4*);
536 extern bool_t _DtCm_xdr_Appt_Status_4(XDR *, Appt_Status_4*);
537 extern bool_t _DtCm_xdr_Appt_4(XDR *, Appt_4*);
538 extern bool_t _DtCm_xdr_Abb_Appt_4(XDR *, Abb_Appt_4*);
539 extern bool_t _DtCm_xdr_Apptid_4(XDR *, Apptid_4*);
540 extern bool_t _DtCm_xdr_Reminder_4(XDR *, Reminder_4*);
541 extern bool_t _DtCm_xdr_Table_Res_Type_4(XDR *, Table_Res_Type_4*);
542 extern bool_t _DtCm_xdr_Table_Res_List_4(XDR *, Table_Res_List_4*);
543 extern bool_t _DtCm_xdr_Access_Status_4(XDR *, Access_Status_4*);
544 extern bool_t _DtCm_xdr_Table_Res_4(XDR *, Table_Res_4*);
545 extern bool_t _DtCm_xdr_Access_Entry_4(XDR *, Access_Entry_4*);
546 extern bool_t _DtCm_xdr_Access_Args_4(XDR *, Access_Args_4*);
547 extern bool_t _DtCm_xdr_Range_4(XDR *, Range_4*);
548 extern bool_t _DtCm_xdr_Keyrange_4(XDR *, Keyrange_4*);
549 extern bool_t _DtCm_xdr_Uidopt_4(XDR *, Uidopt_4*);
550 extern bool_t _DtCm_xdr_Table_Args_Type_4(XDR *, Table_Args_Type_4*);
551 extern bool_t _DtCm_xdr_Args_4(XDR *, Args_4*);
552 extern bool_t _DtCm_xdr_Table_Args_4(XDR *, Table_Args_4*);
553 extern bool_t _DtCm_xdr_Registration_4(XDR *, Registration_4*);
554 extern bool_t _DtCm_xdr_Table_Op_Args_4(XDR *, Table_Op_Args_4*);
555 extern bool_t _DtCm_xdr_Table_Status_4(XDR *, Table_Status_4*);
556 extern bool_t _DtCm_xdr_Registration_Status_4(XDR *, Registration_Status_4*);
559 extern bool_t _DtCm_xdr_Buffer_4();
560 extern bool_t _DtCm_xdr_Interval_4();
561 extern bool_t _DtCm_xdr_Period_4();
562 extern bool_t _DtCm_xdr_Event_Type_4();
563 extern bool_t _DtCm_xdr_Options_4();
564 extern bool_t _DtCm_xdr_Tag_4();
565 extern bool_t _DtCm_xdr_Privacy_Level_4();
566 extern bool_t _DtCm_xdr_Attribute_4();
567 extern bool_t _DtCm_xdr_Attr_4();
568 extern bool_t _DtCm_xdr_Except_4();
569 extern bool_t _DtCm_xdr_Exception_4();
570 extern bool_t _DtCm_xdr_Id_4();
571 extern bool_t _DtCm_xdr_Uid_4();
572 extern bool_t _DtCm_xdr_Appt_Status_4();
573 extern bool_t _DtCm_xdr_Appt_4();
574 extern bool_t _DtCm_xdr_Abb_Appt_4();
575 extern bool_t _DtCm_xdr_Apptid_4();
576 extern bool_t _DtCm_xdr_Reminder_4();
577 extern bool_t _DtCm_xdr_Table_Res_Type_4();
578 extern bool_t _DtCm_xdr_Table_Res_List_4();
579 extern bool_t _DtCm_xdr_Access_Status_4();
580 extern bool_t _DtCm_xdr_Table_Res_4();
581 extern bool_t _DtCm_xdr_Access_Entry_4();
582 extern bool_t _DtCm_xdr_Access_Args_4();
583 extern bool_t _DtCm_xdr_Range_4();
584 extern bool_t _DtCm_xdr_Keyrange_4();
585 extern bool_t _DtCm_xdr_Uidopt_4();
586 extern bool_t _DtCm_xdr_Table_Args_Type_4();
587 extern bool_t _DtCm_xdr_Args_4();
588 extern bool_t _DtCm_xdr_Table_Args_4();
589 extern bool_t _DtCm_xdr_Registration_4();
590 extern bool_t _DtCm_xdr_Table_Op_Args_4();
591 extern bool_t _DtCm_xdr_Table_Status_4();
592 extern bool_t _DtCm_xdr_Registration_Status_4();