From ee586e0ec492d818be9aa0c77dd44095d42f486f Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Tue, 1 Dec 1998 11:25:26 +0000 Subject: Update. 1998-12-01 Thorsten Kukuk * 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 * 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. --- nis/rpcsvc/nis.h | 20 +++++------ nis/rpcsvc/nis.x | 91 +++++++++++++++++++------------------------------ nis/rpcsvc/nis_object.x | 68 ++++++++++++++++++------------------ 3 files changed, 80 insertions(+), 99 deletions(-) (limited to 'nis') 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 #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 */ }; -- cgit v1.2.3