Home | History | Annotate | Download | only in rpcsvc
      1 /*
      2  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
      3  * unrestricted use provided that this legend is included on all tape
      4  * media and as a part of the software program in whole or part.  Users
      5  * may copy or modify Sun RPC without charge, but are not authorized
      6  * to license or distribute it to anyone else except as part of a product or
      7  * program developed by the user or with the express written consent of
      8  * Sun Microsystems, Inc.
      9  *
     10  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
     11  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
     12  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
     13  *
     14  * Sun RPC is provided with no support and without any obligation on the
     15  * part of Sun Microsystems, Inc. to assist in its use, correction,
     16  * modification or enhancement.
     17  *
     18  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
     19  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
     20  * OR ANY PART THEREOF.
     21  *
     22  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
     23  * or profits or other special, indirect and consequential damages, even if
     24  * Sun has been advised of the possibility of such damages.
     25  *
     26  * Sun Microsystems, Inc.
     27  * 2550 Garcia Avenue
     28  * Mountain View, California  94043
     29  */
     30 /*
     31  * Copyright (c) 1986, 1990 by Sun Microsystems, Inc.
     32  */
     33 /* from @(#)ypupdate_prot.x	1.3 91/03/11 TIRPC 1.0 */
     34 
     35 #ifndef __RPCSVC_YPUPD_H__
     36 #define __RPCSVC_YPUPD_H__
     37 
     38 #include <features.h>
     39 
     40 #include <rpc/rpc.h>
     41 
     42 #define MAXMAPNAMELEN 255
     43 #define MAXYPDATALEN 1023
     44 #define MAXERRMSGLEN 255
     45 
     46 __BEGIN_DECLS
     47 
     48 typedef struct {
     49 	u_int yp_buf_len;
     50 	char *yp_buf_val;
     51 } yp_buf;
     52 
     53 extern  bool_t xdr_yp_buf (XDR *, yp_buf*);
     54 
     55 struct ypupdate_args {
     56 	char *mapname;
     57 	yp_buf key;
     58 	yp_buf datum;
     59 };
     60 typedef struct ypupdate_args ypupdate_args;
     61 
     62 extern  bool_t xdr_ypupdate_args (XDR *, ypupdate_args*);
     63 
     64 struct ypdelete_args {
     65 	char *mapname;
     66 	yp_buf key;
     67 };
     68 typedef struct ypdelete_args ypdelete_args;
     69 
     70 extern  bool_t xdr_ypdelete_args (XDR *, ypdelete_args*);
     71 
     72 #define YPU_PROG 100028
     73 #define YPU_VERS 1
     74 
     75 #define YPU_CHANGE 1
     76 extern  u_int * ypu_change_1 (ypupdate_args *, CLIENT *);
     77 extern  u_int * ypu_change_1_svc (ypupdate_args *, struct svc_req *);
     78 #define YPU_INSERT 2
     79 extern  u_int * ypu_insert_1 (ypupdate_args *, CLIENT *);
     80 extern  u_int * ypu_insert_1_svc (ypupdate_args *, struct svc_req *);
     81 #define YPU_DELETE 3
     82 extern  u_int * ypu_delete_1 (ypdelete_args *, CLIENT *);
     83 extern  u_int * ypu_delete_1_svc (ypdelete_args *, struct svc_req *);
     84 #define YPU_STORE 4
     85 extern  u_int * ypu_store_1 (ypupdate_args *, CLIENT *);
     86 extern  u_int * ypu_store_1_svc (ypupdate_args *, struct svc_req *);
     87 
     88 __END_DECLS
     89 
     90 #endif /* !__RPCSVC_YPUPD_H__ */
     91