about summary refs log tree commit diff
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)
downloadglibc-ee586e0ec492d818be9aa0c77dd44095d42f486f.tar.gz
glibc-ee586e0ec492d818be9aa0c77dd44095d42f486f.tar.xz
glibc-ee586e0ec492d818be9aa0c77dd44095d42f486f.zip
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 	*/
 };