home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / rpc / root / usr / include / rpcsvc / ypclnt.h / ypclnt
Text File  |  1998-08-19  |  5KB  |  151 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. #ifndef _RPCSVC_YPCLNT_H
  12. #define _RPCSVC_YPCLNT_H
  13.  
  14. #ident    "@(#)ypclnt.h    1.2"
  15. #ident  "$Header:  "
  16.  
  17. #if defined(__cplusplus)
  18. extern "C" {
  19. #endif
  20.  
  21. /*
  22.  *    Copyright (c) 1982, 1986, 1988
  23.  *    The Regents of the University of California
  24.  *    All Rights Reserved.
  25.  *    Portions of this document are derived from
  26.  *    software developed by the University of
  27.  *    California, Berkeley, and its contributors.
  28.  */
  29.  
  30. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  31. *    PROPRIETARY NOTICE (Combined)
  32. *
  33. * This source code is unpublished proprietary information
  34. * constituting, or derived under license from AT&T's UNIX(r) System V.
  35. * In addition, portions of such source code were derived from Berkeley
  36. * 4.3 BSD under license from the Regents of the University of
  37. * California.
  38. *
  39. *
  40. *
  41. *    Copyright Notice 
  42. *
  43. * Notice of copyright on this source code product does not indicate 
  44. *  publication.
  45. *
  46. *    (c) 1986,1987,1988.1989  Sun Microsystems, Inc
  47. *    (c) 1983,1984,1985,1986,1987,1988,1989,1990  AT&T.
  48. *    (c) 1990,1991  UNIX System Laboratories, Inc.
  49. *          All rights reserved.
  50. */ 
  51. /*    @(#)ypclnt.h 1.13 88/02/08 Copyr 1985 Sun Microsystems, Inc    */
  52.  
  53. /*
  54.  * ypclnt.h
  55.  * This defines the symbols used in the c language
  56.  * interface to the yp client functions.  A description of this interface
  57.  * can be read in ypclnt(3N).
  58.  */
  59.  
  60. /*
  61.  * Failure reason codes.  The success condition is indicated by a functional
  62.  * value of "0".
  63.  */
  64. #define YPERR_BADARGS 1            /* Args to function are bad */
  65. #define YPERR_RPC 2            /* RPC failure */
  66. #define YPERR_DOMAIN 3            /* Can't bind to a server which serves
  67.                      *   this domain. */
  68. #define YPERR_MAP 4            /* No such map in server's domain */
  69. #define YPERR_KEY 5            /* No such key in map */
  70. #define YPERR_YPERR 6            /* Internal yp server or client
  71.                      *   interface error */
  72. #define YPERR_RESRC 7            /* Local resource allocation failure */
  73. #define YPERR_NOMORE 8            /* No more records in map database */
  74. #define YPERR_PMAP 9            /* Can't communicate with portmapper */
  75. #define YPERR_YPBIND 10            /* Can't communicate with ypbind */
  76. #define YPERR_YPSERV 11            /* Can't communicate with ypserv */
  77. #define YPERR_NODOM 12            /* Local domain name not set */
  78. #define YPERR_BADDB 13            /*  yp data base is bad */
  79. #define YPERR_VERS 14            /* YP version mismatch */
  80. #define YPERR_ACCESS 15            /* Access violation */
  81. #define YPERR_BUSY 16            /* Database is busy */
  82.  
  83. /*
  84.  * Types of update operations
  85.  */
  86. #define YPOP_CHANGE 1            /* change, do not add */
  87. #define YPOP_INSERT 2            /* add, do not change */
  88. #define YPOP_DELETE 3            /* delete this entry */
  89. #define YPOP_STORE  4            /* add, or change */
  90.  
  91.  
  92.  
  93. /*           
  94.  * Data definitions
  95.  */
  96.  
  97. /*
  98.  * struct ypall_callback * is the arg which must be passed to yp_all
  99.  */
  100.  
  101. struct ypall_callback {
  102.     int (*foreach)();        /* Return non-0 to stop getting
  103.                      *  called */
  104.     char *data;            /* Opaque pointer for use of callback
  105.                      *   function */
  106. };
  107.  
  108. extern int _yp_dobind();
  109.  
  110. /*
  111.  * External yp client function references. 
  112.  */
  113.  
  114. #if defined(__STDC__)
  115. extern const char *yperr_string(const int);
  116. extern int yp_bind(char *);
  117. extern void yp_unbind(char *);
  118. extern int yp_get_default_domain(char **);
  119. extern int yp_match(char *, char *, char *, int, char **, int *);
  120. extern int yp_first(char *, char *, char **, int *, char **, int *);
  121. extern int yp_next(char *, char *, char *, int, char **, int *, char **, int *);
  122. extern int yp_master(char *, char *, char **);
  123. extern int yp_order(char *, char *, int *);
  124. extern int yp_all(char *, char *, struct ypall_callback *);
  125. extern int ypprot_err(unsigned int);
  126. extern int yp_update(char *, char *, unsigned int, char *, int, char *, int);
  127. #else
  128. extern char *yperr_string();
  129. extern int yp_bind();
  130. extern void yp_unbind();
  131. extern int yp_get_default_domain ();
  132. extern int yp_match ();
  133. extern int yp_first ();
  134. extern int yp_next();
  135. extern int yp_master();
  136. extern int yp_order();
  137. extern int yp_all();
  138. extern int ypprot_err();
  139. extern int yp_update();
  140. #endif
  141.  
  142. /*
  143.  * Global yp data structures
  144.  */
  145.  
  146. #if defined(__cplusplus)
  147.     }
  148. #endif
  149.  
  150. #endif /* _RPCSVC_YPCLNT_H */
  151.