Home | History | Annotate | Download | only in rpcsvc
      1 /*
      2  * Copyright (c) 2010, Oracle America, Inc.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions are
      6  * met:
      7  *
      8  *     * Redistributions of source code must retain the above copyright
      9  *       notice, this list of conditions and the following disclaimer.
     10  *     * Redistributions in binary form must reproduce the above
     11  *       copyright notice, this list of conditions and the following
     12  *       disclaimer in the documentation and/or other materials
     13  *       provided with the distribution.
     14  *     * Neither the name of the "Oracle America, Inc." nor the names of its
     15  *       contributors may be used to endorse or promote products derived
     16  *       from this software without specific prior written permission.
     17  *
     18  *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
     19  *   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
     20  *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
     21  *   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
     22  *   COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
     23  *   INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     24  *   DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
     25  *   GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     26  *   INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     27  *   WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
     28  *   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
     29  *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     30  */
     31 /* from @(#)ypupdate_prot.x	1.3 91/03/11 TIRPC 1.0 */
     32 
     33 #ifndef __RPCSVC_YPUPD_H__
     34 #define __RPCSVC_YPUPD_H__
     35 
     36 #include <features.h>
     37 
     38 #include <rpc/rpc.h>
     39 
     40 #define MAXMAPNAMELEN 255
     41 #define MAXYPDATALEN 1023
     42 #define MAXERRMSGLEN 255
     43 
     44 __BEGIN_DECLS
     45 
     46 typedef struct {
     47 	u_int yp_buf_len;
     48 	char *yp_buf_val;
     49 } yp_buf;
     50 
     51 extern  bool_t xdr_yp_buf (XDR *, yp_buf*);
     52 
     53 struct ypupdate_args {
     54 	char *mapname;
     55 	yp_buf key;
     56 	yp_buf datum;
     57 };
     58 typedef struct ypupdate_args ypupdate_args;
     59 
     60 extern  bool_t xdr_ypupdate_args (XDR *, ypupdate_args*);
     61 
     62 struct ypdelete_args {
     63 	char *mapname;
     64 	yp_buf key;
     65 };
     66 typedef struct ypdelete_args ypdelete_args;
     67 
     68 extern  bool_t xdr_ypdelete_args (XDR *, ypdelete_args*);
     69 
     70 #define YPU_PROG 100028
     71 #define YPU_VERS 1
     72 
     73 #define YPU_CHANGE 1
     74 extern  u_int * ypu_change_1 (ypupdate_args *, CLIENT *);
     75 extern  u_int * ypu_change_1_svc (ypupdate_args *, struct svc_req *);
     76 #define YPU_INSERT 2
     77 extern  u_int * ypu_insert_1 (ypupdate_args *, CLIENT *);
     78 extern  u_int * ypu_insert_1_svc (ypupdate_args *, struct svc_req *);
     79 #define YPU_DELETE 3
     80 extern  u_int * ypu_delete_1 (ypdelete_args *, CLIENT *);
     81 extern  u_int * ypu_delete_1_svc (ypdelete_args *, struct svc_req *);
     82 #define YPU_STORE 4
     83 extern  u_int * ypu_store_1 (ypupdate_args *, CLIENT *);
     84 extern  u_int * ypu_store_1_svc (ypupdate_args *, struct svc_req *);
     85 
     86 __END_DECLS
     87 
     88 #endif /* !__RPCSVC_YPUPD_H__ */
     89