summaryrefslogtreecommitdiff
path: root/nis/rpcsvc
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1998-12-01 11:25:26 +0000
committerUlrich Drepper <drepper@redhat.com>1998-12-01 11:25:26 +0000
commitee586e0ec492d818be9aa0c77dd44095d42f486f (patch)
tree21172ee5bbec6a0a0be049d633b6b9e7d9034c90 /nis/rpcsvc
parent28ab8526f2cf0dfbe0da8b4a6ef46e5efb8c3e4b (diff)
Update.
1998-12-01 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * sunrpc/auth_des.c: Use new XDR int32 functions for integers. * sunrpc/rpc/xdr.h: Add IXDR INT32 functions. * sunrpc/rpc_hout.c: Remove (u_long) casts in defines to avoid conflicts with new solaris version. * sunrpc/rpc_main.c: Fix bug in generating Makefile name (malloc doesn't zero allocated memory). * sunrpc/rpc_svcout.c: Local variables now starts with a _ to avoid conflicts with xdr functions. Solves PR libc/877. * nis/rpcsvc/nis.x: Use always uint32_t. * nis/rpcsvc/nis.h: Likewise. * nis/rpcsvc/nis_object.x: Likewise. 1998-12-01 Ulrich Drepper <drepper@cygnus.com> * math/libm-test.c: Various cleanups. Patch by Zack Weinberg. * sysdeps/unix/sysv/linux/alpha/setfpucw.c: Use correct type for parameter. Patch by Christian Gafton. * string/envz.h: Add prototype for envz_remove. Reported by Andreas Jaeger.
Diffstat (limited to 'nis/rpcsvc')
-rw-r--r--nis/rpcsvc/nis.h20
-rw-r--r--nis/rpcsvc/nis.x91
-rw-r--r--nis/rpcsvc/nis_object.x68
3 files changed, 80 insertions, 99 deletions
diff --git a/nis/rpcsvc/nis.h b/nis/rpcsvc/nis.h
index 151b4394bf..20fa114ecb 100644
--- a/nis/rpcsvc/nis.h
+++ b/nis/rpcsvc/nis.h
@@ -119,8 +119,8 @@ enum nstype {
typedef enum nstype nstype;
struct oar_mask {
- u_int oa_rights;
- zotypes oa_otype;
+ uint32_t oa_rights;
+ zotypes oa_otype;
};
typedef struct oar_mask oar_mask;
@@ -137,7 +137,7 @@ struct nis_server {
u_int ep_len;
endpoint *ep_val;
} ep;
- u_int key_type;
+ uint32_t key_type;
netobj pkey;
};
typedef struct nis_server nis_server;
@@ -164,7 +164,7 @@ typedef struct directory_obj directory_obj;
#define EN_ASN1 64
struct entry_col {
- u_int ec_flags;
+ uint32_t ec_flags;
struct {
u_int ec_value_len;
char *ec_value_val;
@@ -182,7 +182,7 @@ struct entry_obj {
typedef struct entry_obj entry_obj;
struct group_obj {
- u_int gr_flags;
+ uint32_t gr_flags;
struct {
u_int gr_members_len;
nis_name *gr_members_val;
@@ -210,8 +210,8 @@ typedef struct link_obj link_obj;
struct table_col {
char *tc_name;
- u_int tc_flags;
- u_int tc_rights;
+ uint32_t tc_flags;
+ uint32_t tc_rights;
};
typedef struct table_col table_col;
@@ -255,7 +255,7 @@ struct nis_object {
nis_name zo_owner;
nis_name zo_group;
nis_name zo_domain;
- u_int zo_access;
+ uint32_t zo_access;
uint32_t zo_ttl;
objdata zo_data;
};
@@ -344,7 +344,7 @@ struct ib_request {
u_int ibr_srch_len;
nis_attr *ibr_srch_val;
} ibr_srch;
- u_int ibr_flags;
+ uint32_t ibr_flags;
struct {
u_int ibr_obj_len;
nis_object *ibr_obj_val;
@@ -408,7 +408,7 @@ struct cp_result {
typedef struct cp_result cp_result;
struct nis_tag {
- u_int tag_type;
+ uint32_t tag_type;
char *tag_val;
};
typedef struct nis_tag nis_tag;
diff --git a/nis/rpcsvc/nis.x b/nis/rpcsvc/nis.x
index 93aa09f625..54ddb05ecb 100644
--- a/nis/rpcsvc/nis.x
+++ b/nis/rpcsvc/nis.x
@@ -37,9 +37,9 @@
% * structures used by the NIS service. It includes the file nis_tags.h
% * which defines the tag values. This allows the tags to change without
% * having to change the nis.x file.
-% *
+% *
% * NOTE : DO NOT EDIT THIS FILE! It is automatically generated when
-% * rpcgen is run on the nis.x file. Note that there is a
+% * rpcgen is run on the nis.x file. Note that there is a
% * simple sed script to remove some unneeded lines. (See the
% * Makefile target nis.h)
% *
@@ -51,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"
@@ -111,11 +108,11 @@ enum nis_error {
};
-/*
+/*
* Structure definitions for the parameters and results of the actual
* NIS RPC calls.
*
- * This is the standard result (in the protocol) of most of the nis
+ * This is the standard result (in the protocol) of most of the nis
* requests.
*/
@@ -129,11 +126,11 @@ struct nis_result {
uint32_t cticks; /* Client ticks */
};
-/*
- * A Name Service request
- * This request is used to access the name space, ns_name is the name
+/*
+ * A Name Service request
+ * This request is used to access the name space, ns_name is the name
* of the object within the namespace and the object is it's value, for
- * add/modify, a copy of the original for remove.
+ * add/modify, a copy of the original for remove.
*/
struct ns_request {
@@ -141,7 +138,7 @@ struct ns_request {
nis_object ns_object<1>; /* Optional Object (add/remove) */
};
-/*
+/*
* An information base request
* This request includes the NIS name of the table we wish to search, the
* search criteria in the form of attribute/value pairs and an optional
@@ -153,7 +150,7 @@ struct ns_request {
struct ib_request {
nis_name ibr_name; /* The name of the Table */
nis_attr ibr_srch<>; /* The search critereia */
- u_int 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_int ibr_bufsize; /* Optional first/next bufsize */
@@ -161,7 +158,7 @@ struct ib_request {
};
/*
- * This argument to the PING call notifies the replicas that something in
+ * This argument to the PING call notifies the replicas that something in
* a directory has changed and this is it's timestamp. The replica will use
* the timestamp to determine if its resync operation was successful.
*/
@@ -170,8 +167,8 @@ struct ping_args {
uint32_t stamp; /* timestamp of the transaction */
};
-/*
- * These are the type of entries that are stored in the transaction log,
+/*
+ * These are the type of entries that are stored in the transaction log,
* note that modifications will appear as two entries, for names, they have
* a "OLD" entry followed by a "NEW" entry. For entries in tables, there
* is a remove followed by an add. It is done this way so that we can read
@@ -189,13 +186,13 @@ enum log_entry_t {
MOD_IBASE = 7, /* Entry was modified in information base */
UPD_STAMP = 8 /* Update timestamp (used as fenceposts) */
};
-
+
/*
- * This result is returned from the name service when it is requested to
+ * This result is returned from the name service when it is requested to
* dump logged entries from its transaction log. Information base updates
* will have the name of the information base in the le_name field and
* a canonical set of attribute/value pairs to fully specify the entry's
- * 'name'.
+ * 'name'.
*/
struct log_entry {
uint32_t le_time; /* Time in seconds */
@@ -211,7 +208,7 @@ struct log_result {
netobj lr_cookie; /* Used by the dump callback */
log_entry lr_entries<>; /* zero or more entries */
};
-
+
struct cp_result {
nis_error cp_status; /* Status of the checkpoint */
uint32_t cp_zticks; /* Service 'ticks' */
@@ -220,17 +217,17 @@ struct cp_result {
/*
* This structure defines a generic NIS tag list. The taglist contains
- * zero or tags, each of which is a type and a value. (u_int).
+ * 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_int tag_type; /* Statistic tag (may vary) */
- string tag_val<>; /* 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 {
@@ -247,7 +244,7 @@ struct fd_args {
struct fd_result {
nis_error status; /* Status returned by function */
nis_name source; /* Source of this answer */
- opaque dir_data<>; /* Directory Data (XDR'ed) */
+ opaque dir_data<>; /* Directory Data (XDR'ed) */
opaque signature<>; /* Signature of the source */
};
@@ -258,14 +255,14 @@ struct nis_bound_endpoint {
endpoint ep;
int generation;
int rank;
- u_int flags;
+ 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 */
@@ -276,7 +273,7 @@ struct nis_bound_directory {
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;
@@ -287,27 +284,11 @@ struct nis_active_endpoint {
endpoint cbep;
};
typedef struct nis_active_endpoint nis_active_endpoint;
-
+
%/* defines for nis_bound_endpoint.flags */
%#define NIS_BOUND 0x1
%#define NIS_TRANSIENT_ERRORS 0x2
-
-
-/*
- * 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
-
program NIS_PROG {
/* RPC Language description of the NIS+ protocol */
@@ -331,10 +312,10 @@ program NIS_PROG {
/* If fetch and optionally reset statistics */
nis_taglist NIS_STATUS(nis_taglist) = 14;
-
+
/* Dump changes to directory since time in da_time */
log_result NIS_DUMPLOG(dump_args) = 15;
-
+
/* Dump contents of directory named */
log_result NIS_DUMP(dump_args) = 16;
@@ -349,16 +330,16 @@ program NIS_PROG {
/* Send 'status changed' ping to replicates */
void NIS_PING(ping_args) = 20;
-
+
/* Modify server behaviour (such as debugging) */
nis_taglist NIS_SERVSTATE(nis_taglist) = 21;
-
+
/* Create a Directory */
nis_error NIS_MKDIR(nis_name) = 22;
-
+
/* Remove a Directory */
nis_error NIS_RMDIR(nis_name) = 23;
-
+
/* Update public keys of a directory object */
nis_error NIS_UPDKEYS(nis_name) = 24;
} = 3;
@@ -411,8 +392,8 @@ program NIS_PROG {
%#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
+%/*
+% * 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.
% */
@@ -475,12 +456,12 @@ program NIS_PROG {
%
%/*
% * nis_3.h
-% *
+% *
% * This file contains definitions that are only of interest to the actual
% * service daemon and client stubs. Normal users of NIS will not include
% * this file.
% *
-% * NOTE : This include file is automatically created by a combination
+% * NOTE : This include file is automatically created by a combination
% * of rpcgen and sed. DO NOT EDIT IT, change the nis.x file instead
% * and then remake this file.
% */
diff --git a/nis/rpcsvc/nis_object.x b/nis/rpcsvc/nis_object.x
index ecd9f48a77..43e7688bcc 100644
--- a/nis/rpcsvc/nis_object.x
+++ b/nis/rpcsvc/nis_object.x
@@ -13,12 +13,12 @@
%#define __nis_object_h
%
#endif
-/*
+/*
* This file defines the format for a NIS object in RPC language.
* It is included by the main .x file and the database access protocol
* file. It is common because both of them need to deal with the same
* type of object. Generating the actual code though is a bit messy because
- * the nis.x file and the nis_dba.x file will generate xdr routines to
+ * the nis.x file and the nis_dba.x file will generate xdr routines to
* encode/decode objects when only one set is needed. Such is life when
* one is using rpcgen.
*
@@ -50,7 +50,7 @@ const NIS_PK_DHEXT = 4; /* Extended Diffie-Hellman for RPC-GSS */
/*
* The fundamental name type of NIS. The name may consist of two parts,
- * the first being the fully qualified name, and the second being an
+ * the first being the fully qualified name, and the second being an
* optional set of attribute/value pairs.
*/
struct nis_attr {
@@ -73,7 +73,7 @@ typedef string nis_name<>; /* The NIS name itself. */
*/
enum zotypes {
-
+
BOGUS_OBJ = 0, /* Uninitialized object structure */
NO_OBJ = 1, /* NULL object (no data) */
DIRECTORY_OBJ = 2, /* Directory object describing domain */
@@ -82,7 +82,7 @@ enum zotypes {
ENTRY_OBJ = 5, /* Entry object (a database record) */
LINK_OBJ = 6, /* A name link. */
PRIVATE_OBJ = 7, /* Private object (all opaque data) */
-
+
NIS_BOGUS_OBJ = 0, /* Uninitialized object structure */
NIS_NO_OBJ = 1, /* NULL object (no data) */
NIS_DIRECTORY_OBJ = 2, /* Directory object describing domain */
@@ -114,18 +114,18 @@ enum nstype {
* DIRECTORY - The name service object. These objects identify other name
* servers that are serving some portion of the name space. Each has a
* type associated with it. The resolver library will note whether or not
- * is has the needed routines to access that type of service.
- * The oarmask structure defines an access rights mask on a per object
- * type basis for the name spaces. The only bits currently used are
+ * is has the needed routines to access that type of service.
+ * The oarmask structure defines an access rights mask on a per object
+ * type basis for the name spaces. The only bits currently used are
* create and destroy. By enabling or disabling these access rights for
* a specific object type for a one of the accessor entities (owner,
- * group, world) the administrator can control what types of objects
- * may be freely added to the name space and which require the
+ * group, world) the administrator can control what types of objects
+ * may be freely added to the name space and which require the
* administrator's approval.
*/
struct oar_mask {
- u_int oa_rights; /* Access rights mask */
- zotypes oa_otype; /* Object type */
+ uint32_t oa_rights; /* Access rights mask */
+ zotypes oa_otype; /* Object type */
};
struct endpoint {
@@ -142,7 +142,7 @@ struct endpoint {
struct nis_server {
nis_name name; /* Principal name of the server */
endpoint ep<>; /* Universal addr(s) for server */
- u_int key_type; /* Public key type */
+ uint32_t key_type; /* Public key type */
netobj pkey; /* server's public key */
};
@@ -154,11 +154,11 @@ struct directory_obj {
oar_mask do_armask<>; /* Create/Destroy rights by object type */
};
-/*
- * ENTRY - This is one row of data from an information base.
- * The type value is used by the client library to convert the entry to
+/*
+ * ENTRY - This is one row of data from an information base.
+ * The type value is used by the client library to convert the entry to
* it's internal structure representation. The Table name is a back pointer
- * to the table where the entry is stored. This allows the client library
+ * to the table where the entry is stored. This allows the client library
* to determine where to send a request if the client wishes to change this
* entry but got to it through a LINK rather than directly.
* If the entry is a "standalone" entry then this field is void.
@@ -170,8 +170,8 @@ const EN_MODIFIED = 8; /* Indicates entry is modified. */
const EN_ASN1 = 64; /* Means contents use ASN.1 encoding */
struct entry_col {
- u_int ec_flags; /* Flags for this value */
- opaque ec_value<>; /* It's textual value */
+ uint32_t ec_flags; /* Flags for this value */
+ opaque ec_value<>; /* It's textual value */
};
struct entry_obj {
@@ -182,11 +182,11 @@ struct entry_obj {
/*
* GROUP - The group object contains a list of NIS principal names. Groups
* are used to authorize principals. Each object has a set of access rights
- * for members of its group. Principal names in groups are in the form
+ * for members of its group. Principal names in groups are in the form
* name.directory and recursive groups are expressed as @groupname.directory
*/
struct group_obj {
- u_int gr_flags; /* Flags controlling group */
+ uint32_t gr_flags; /* Flags controlling group */
nis_name gr_members<>; /* List of names in group */
};
@@ -204,8 +204,8 @@ struct link_obj {
};
/*
- * TABLE - This is the table object. It implements a simple
- * data base that applications and use for configuration or
+ * TABLE - This is the table object. It implements a simple
+ * data base that applications and use for configuration or
* administration purposes. The role of the table is to group together
* a set of related entries. Tables are the simple database component
* of NIS. Like many databases, tables are logically divided into columns
@@ -216,7 +216,7 @@ struct link_obj {
* Within the definition of each column there is a flags variable, this
* variable contains flags which determine whether or not the column is
* searchable, contains binary data, and access rights for the entry objects
- * column value.
+ * column value.
*/
const TA_BINARY = 1; /* Means table data is binary */
@@ -228,9 +228,9 @@ const TA_MODIFIED = 32; /* Means this columns attrs are modified*/
const TA_ASN1 = 64; /* Means contents use ASN.1 encoding */
struct table_col {
- string tc_name<64>; /* Column Name */
- u_int tc_flags; /* control flags */
- u_int tc_rights; /* Access rights mask */
+ string tc_name<64>; /* Column Name */
+ uint32_t tc_flags; /* control flags */
+ uint32_t tc_rights; /* Access rights mask */
};
struct table_obj {
@@ -242,7 +242,7 @@ struct table_obj {
};
/*
- * This union joins together all of the currently known objects.
+ * This union joins together all of the currently known objects.
*/
union objdata switch (zotypes zo_type) {
case NIS_DIRECTORY_OBJ :
@@ -269,16 +269,16 @@ union objdata switch (zotypes zo_type) {
* This is the basic NIS object data type. It consists of a generic part
* which all objects contain, and a specialized part which varies depending
* on the type of the object. All of the specialized sections have been
- * described above. You might have wondered why they all start with an
- * integer size, followed by the useful data. The answer is, when the
- * server doesn't recognize the type returned it treats it as opaque data.
+ * described above. You might have wondered why they all start with an
+ * integer size, followed by the useful data. The answer is, when the
+ * server doesn't recognize the type returned it treats it as opaque data.
* And the definition for opaque data is {int size; char *data;}. In this
* way, servers and utility routines that do not understand a given type
* may still pass it around. One has to be careful in setting
* this variable accurately, it must take into account such things as
* XDR padding of structures etc. The best way to set it is to note one's
* position in the XDR encoding stream, encode the structure, look at the
- * new position and calculate the size.
+ * new position and calculate the size.
*/
struct nis_oid {
uint32_t ctime; /* Time of objects creation */
@@ -286,12 +286,12 @@ struct nis_oid {
};
struct nis_object {
- nis_oid zo_oid; /* object identity verifier. */
+ nis_oid zo_oid; /* object identity verifier. */
nis_name zo_name; /* The NIS name for this object */
nis_name zo_owner; /* NIS name of object owner. */
nis_name zo_group; /* NIS name of access group. */
nis_name zo_domain; /* The administrator for the object */
- u_int zo_access; /* Access rights (owner, group, world) */
+ uint32_t zo_access; /* Access rights (owner, group, world) */
uint32_t zo_ttl; /* Object's time to live in seconds. */
objdata zo_data; /* Data structure for this type */
};