Help gcc to generate unnecessary wrapper functions.
[kopensolaris-gnu/glibc.git] / nis / rpcsvc / nis.x
index e68114c..54ddb05 100644 (file)
 % * Mountain View, California  94043
 % */
 
-/*
- * From 4.1 : @(#)nis.x        1.61 Copyright 1989 Sun Microsystems
- *
- * RPC Language Protocol description file for NIS Plus
- * This version : 1.61
- * Last Modified : 3/19/91
- */
 #ifdef RPC_HDR
 %/*
 % *    nis.h
@@ -58,9 +51,6 @@
 #if RPC_HDR
 %#include <rpc/xdr.h>
 #endif
-#if RPC_SVC
-%#include "nis_svc.h"
-#endif
 
 /* Include the RPC Language description of NIS objects */
 #include "nis_object.x"
@@ -75,7 +65,7 @@ enum nis_error {
        NIS_NAMEUNREACHABLE = 5, /* Can't get there from here */
        NIS_UNKNOWNOBJ = 6,     /* Object type is bogus */
        NIS_TRYAGAIN = 7,       /* I'm busy, call back */
-       NIS_SYSTEMERROR = 8,    /* Out of band failure */
+       NIS_SYSTEMERROR = 8,    /* Generic system error */
        NIS_CHAINBROKEN = 9,    /* First/Next warning */
        NIS_PERMISSION = 10,    /* Not enough permission to access */
        NIS_NOTOWNER = 11,      /* You don't own it, sorry */
@@ -130,10 +120,10 @@ struct nis_result {
        nis_error       status;         /* Status of the response */
        nis_object      objects<>;      /* objects found          */
        netobj          cookie;         /* Cookie Data            */
-       u_long          zticks;         /* server ticks           */
-       u_long          dticks;         /* DBM ticks.             */
-       u_long          aticks;         /* Cache (accel) ticks    */
-       u_long          cticks;         /* Client ticks           */
+       uint32_t        zticks;         /* server ticks           */
+       uint32_t        dticks;         /* DBM ticks.             */
+       uint32_t        aticks;         /* Cache (accel) ticks    */
+       uint32_t        cticks;         /* Client ticks           */
 };
 
 /*
@@ -160,10 +150,10 @@ struct ns_request {
 struct ib_request {
        nis_name        ibr_name;       /* The name of the Table        */
        nis_attr        ibr_srch<>;     /* The search critereia         */
-       u_long          ibr_flags;      /* Optional flags               */
+       uint32_t        ibr_flags;      /* Optional flags               */
        nis_object      ibr_obj<1>;     /* optional object (add/modify) */
        nis_server      ibr_cbhost<1>;  /* Optional callback info       */
-       u_long          ibr_bufsize;    /* Optional first/next bufsize  */
+       u_int           ibr_bufsize;    /* Optional first/next bufsize  */
        netobj          ibr_cookie;     /* The first/next cookie        */
 };
 
@@ -174,7 +164,7 @@ struct ib_request {
  */
 struct ping_args {
        nis_name        dir;    /* Directory that had the change */
-       u_long          stamp;  /* timestamp of the transaction  */
+       uint32_t        stamp;  /* timestamp of the transaction  */
 };
 
 /*
@@ -205,7 +195,7 @@ enum log_entry_t {
  * 'name'.
  */
 struct log_entry {
-       u_long          le_time;        /* Time in seconds              */
+       uint32_t        le_time;        /* Time in seconds              */
        log_entry_t     le_type;        /* Type of log entry            */
        nis_name        le_princp;      /* Principal making the change  */
        nis_name        le_name;        /* Name of table/dir involved   */
@@ -221,28 +211,28 @@ struct log_result {
 
 struct cp_result {
        nis_error       cp_status;      /* Status of the checkpoint     */
-       u_long          cp_zticks;      /* Service 'ticks'              */
-       u_long          cp_dticks;      /* Database 'ticks'             */
+       uint32_t        cp_zticks;      /* Service 'ticks'              */
+       uint32_t        cp_dticks;      /* Database 'ticks'             */
 };
 
 /*
  * This structure defines a generic NIS tag list. The taglist contains
- * zero or tags, each of which is a type and a value. (u_long).
+ * zero or tags, each of which is a type and a value. (u_int).
  * These are used to report statistics (see tag definitions below)
  * and to set or reset state variables.
  */
 struct nis_tag {
-       u_long  tag_type;       /* Statistic tag (may vary)      */
-       string  tag_val<1024>;  /* Statistic value may also vary */
+       uint32_t        tag_type;       /* Statistic tag (may vary)      */
+       string          tag_val<>;      /* Statistic value may also vary */
 };
 
 struct nis_taglist {
-       nis_tag tags<>;         /* List of tags */
+       nis_tag tags<>;                 /* List of tags */
 };
 
 struct dump_args {
        nis_name        da_dir;         /* Directory to dump    */
-       u_long          da_time;        /* From this timestamp  */
+       uint32_t        da_time;        /* From this timestamp  */
        nis_server      da_cbhost<1>;   /* Callback to use.     */
 };
 
@@ -258,20 +248,46 @@ struct fd_result {
        opaque          signature<>;    /* Signature of the source      */
 };
 
+%/*
+% * Structures used for server binding.
+% */
+struct nis_bound_endpoint {
+       endpoint ep;
+       int generation;
+       int rank;
+       uint32_t flags;
+       int hostnum;
+       int epnum;
+       nis_name uaddr;
+       endpoint cbep;
+};
+typedef struct nis_bound_endpoint nis_bound_endpoint;
+
+struct nis_bound_directory {
+       int generation;
+       int min_rank;           /* minimum rank of bound endpoints */
+       int optimal_rank;       /* best possible rank of all endpoints */
+       directory_obj dobj;
+       nis_bound_endpoint BEP<>;
+};
+typedef struct nis_bound_directory nis_bound_directory;
+%#define bep_len BEP.BEP_len
+%#define bep_val BEP.BEP_val
+
+struct nis_active_endpoint {
+       endpoint ep;
+       nis_name hostname;
+       int rank;
+       int uaddr_generation;
+       nis_name uaddr;
+       int cbep_generation;
+       endpoint cbep;
+};
+typedef struct nis_active_endpoint nis_active_endpoint;
 
-/*
- * What's going on here? Well, it's like this. When the service
- * is being compiled it wants to have the service definition specific
- * info included, and when the client is being compiled it wants that
- * info. This includes the appropriate file which was generated by
- * make in the protocols directory (probably /usr/include/rpcsvc).
- */
-#ifdef RPC_SVC
-%#include "nis_svc.h"
-#endif
-#ifdef RPC_CLNT
-%#include "nis_clnt.h"
-#endif
+%/* defines for nis_bound_endpoint.flags */
+%#define NIS_BOUND 0x1
+%#define NIS_TRANSIENT_ERRORS 0x2
 
 program  NIS_PROG {
 
@@ -307,7 +323,7 @@ program  NIS_PROG {
                bool        NIS_CALLBACK(netobj) = 17;
 
                /* Return last update time for named dir */
-               u_long      NIS_CPTIME(nis_name) = 18;
+               uint32_t    NIS_CPTIME(nis_name) = 18;
 
                /* Checkpoint directory or table named */
                cp_result   NIS_CHECKPOINT(nis_name) = 19;
@@ -357,7 +373,7 @@ program  NIS_PROG {
 %/* Structure for storing dynamically allocated static data */
 %struct nis_sdata {
 %      void    *buf;   /* Memory allocation pointer    */
-%      u_long  size;   /* Buffer size                  */
+%      u_int   size;   /* Buffer size                  */
 %};
 %
 %/* Generic client creating flags */
@@ -372,6 +388,15 @@ program  NIS_PROG {
 %#define NIS_CREATE_ACC                4
 %#define NIS_DESTROY_ACC       8
 %/* Test macros. a == access rights, m == desired rights. */
+%#define NIS_WORLD(a, m)       (((a) & (m)) != 0)
+%#define NIS_GROUP(a, m)       (((a) & ((m) << 8)) != 0)
+%#define NIS_OWNER(a, m)       (((a) & ((m) << 16)) != 0)
+%#define NIS_NOBODY(a, m)      (((a) & ((m) << 24)) != 0)
+%/*
+% * EOL Alert - The following non-prefixed test macros are
+% * here for backward compatability, and will be not be present
+% * in future releases - use the NIS_*() macros above.
+% */
 %#define WORLD(a, m)   (((a) & (m)) != 0)
 %#define GROUP(a, m)   (((a) & ((m) << 8)) != 0)
 %#define OWNER(a, m)   (((a) & ((m) << 16)) != 0)
@@ -418,12 +443,14 @@ program  NIS_PROG {
 %#define ENTRY_LEN(obj, col) \
 %      (obj)->EN_data.en_cols.en_cols_val[col].ec_value.ec_value_len
 %
+%
+%
 %#ifdef __cplusplus
 %}
 %#endif
 %
 %/* Prototypes, and extern declarations for the NIS library functions. */
-%#include <bits/nislib.h>
+%#include <rpcsvc/nislib.h>
 %#endif /* __NIS_RPCGEN_H */
 %/* EDIT_START */
 %