From 6b083d46e4f8de4d50daa6e12a1692bc744e2b9a Mon Sep 17 00:00:00 2001 From: Andreas Jaeger Date: Thu, 21 Dec 2000 14:38:26 +0000 Subject: * nis/nss_nisplus/nisplus-ethers.c (struct etherent): Removed. * inet/ether_hton.c: Likewise * inet/ether_ntoh.c: Likewise. * nis/nss_nis/nis-ethers.c (_nss_nis_getntohost_r): Fix declaration to match prototype. * include/netinet/ether.h (struct etherent): Declare here so that all implementations use the same struct. * nis/nss_nis/nis-ethers.c: Include netinet/ether.h to get prototypes. (struct ether): Removed. Use struct etherent instead of ether everywhere. * include/rpc/auth.h (DECLARE_NSS_PROTOTYPES): New. * include/rpc/auth_des.h (DECLARE_NSS_PROTOTYPES): New. * sunrpc/publickey.c: Include auth_des.h for prototypes. --- include/netinet/ether.h | 9 ++++++++- include/rpc/auth.h | 14 ++++++++++++++ include/rpc/auth_des.h | 17 +++++++++++++++++ inet/ether_hton.c | 10 ---------- inet/ether_ntoh.c | 9 --------- nis/nss_nis/nis-ethers.c | 17 ++++++----------- nis/nss_nisplus/nisplus-ethers.c | 11 +---------- sunrpc/publickey.c | 1 + 8 files changed, 47 insertions(+), 41 deletions(-) diff --git a/include/netinet/ether.h b/include/netinet/ether.h index c0b1e2beee..fc3460df8e 100644 --- a/include/netinet/ether.h +++ b/include/netinet/ether.h @@ -1,7 +1,14 @@ #ifndef _NETINET_ETHER_H #include -struct etherent; +/* Because the `ethers' lookup does not fit so well in the scheme we + define a dummy struct here which helps us to use the available + functions. */ +struct etherent +{ + const char *e_name; + struct ether_addr e_addr; +}; #define DECLARE_NSS_PROTOTYPES(service) \ extern enum nss_status _nss_ ## service ## _setetherent (void); \ diff --git a/include/rpc/auth.h b/include/rpc/auth.h index 5721091a56..40e95011d6 100644 --- a/include/rpc/auth.h +++ b/include/rpc/auth.h @@ -1 +1,15 @@ +#ifndef _RPC_AUTH_H #include + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ##service ## _netname2user \ + (char netname[MAXNETNAMELEN + 1], uid_t *uidp, \ + gid_t *gidp, int *gidlenp, gid_t *gidlist, \ + int *errnop); + +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + +#endif diff --git a/include/rpc/auth_des.h b/include/rpc/auth_des.h index 02736aa03b..fa3622728b 100644 --- a/include/rpc/auth_des.h +++ b/include/rpc/auth_des.h @@ -1 +1,18 @@ +#ifndef _RPC_AUTH_DES_H + #include + +#define DECLARE_NSS_PROTOTYPES(service) \ +extern enum nss_status _nss_ ## service ## _getpublickey \ + (const char *netname, char *pkey, int *errnop); \ +extern enum nss_status _nss_ ## service ## _getsecretkey \ + (const char *netname, char *skey, char *passwd, \ + int *errnop); + +DECLARE_NSS_PROTOTYPES (files) +DECLARE_NSS_PROTOTYPES (nis) +DECLARE_NSS_PROTOTYPES (nisplus) + +#undef DECLARE_NSS_PROTOTYPES + +#endif diff --git a/inet/ether_hton.c b/inet/ether_hton.c index 8a1325b728..66ec866780 100644 --- a/inet/ether_hton.c +++ b/inet/ether_hton.c @@ -24,16 +24,6 @@ #include "../nss/nsswitch.h" -/* Because the `ethers' lookup does not fit so well in the scheme so - we define a dummy struct here which helps us to use the available - functions. */ -struct etherent -{ - const char *e_name; - struct ether_addr e_addr; -}; - - /* Type of the lookup function we need here. */ typedef int (*lookup_function) (const char *, struct etherent *, char *, int, int *); diff --git a/inet/ether_ntoh.c b/inet/ether_ntoh.c index 6937201c03..d26ec3b317 100644 --- a/inet/ether_ntoh.c +++ b/inet/ether_ntoh.c @@ -23,15 +23,6 @@ #include -/* Because the `ethers' lookup does not fit so well in the scheme so - we define a dummy struct here which helps us to use the available - functions. */ -struct etherent -{ - const char *e_name; - struct ether_addr e_addr; -}; - /* Type of the lookup function we need here. */ typedef int (*lookup_function) (const struct ether_addr *, struct etherent *, diff --git a/nis/nss_nis/nis-ethers.c b/nis/nss_nis/nis-ethers.c index c90091748e..f7ff50578e 100644 --- a/nis/nss_nis/nis-ethers.c +++ b/nis/nss_nis/nis-ethers.c @@ -24,6 +24,7 @@ #include #include #include +#include #include #include "nss-nis.h" @@ -31,15 +32,9 @@ /* Protect global state against multiple changers */ __libc_lock_define_initialized (static, lock) -struct ether -{ - const char *e_name; - struct ether_addr e_addr; -}; - /* Get the declaration of the parser function. */ #define ENTNAME etherent -#define STRUCTURE ether +#define STRUCTURE etherent #define EXTERN_PARSER #include @@ -149,7 +144,7 @@ _nss_nis_endetherent (void) } static enum nss_status -internal_nis_getetherent_r (struct ether *eth, char *buffer, size_t buflen, +internal_nis_getetherent_r (struct etherent *eth, char *buffer, size_t buflen, int *errnop) { struct parser_data *data = (void *) buffer; @@ -184,7 +179,7 @@ internal_nis_getetherent_r (struct ether *eth, char *buffer, size_t buflen, } enum nss_status -_nss_nis_getetherent_r (struct ether *result, char *buffer, size_t buflen, +_nss_nis_getetherent_r (struct etherent *result, char *buffer, size_t buflen, int *errnop) { int status; @@ -199,7 +194,7 @@ _nss_nis_getetherent_r (struct ether *result, char *buffer, size_t buflen, } enum nss_status -_nss_nis_gethostton_r (const char *name, struct ether *eth, +_nss_nis_gethostton_r (const char *name, struct etherent *eth, char *buffer, size_t buflen, int *errnop) { struct parser_data *data = (void *) buffer; @@ -256,7 +251,7 @@ _nss_nis_gethostton_r (const char *name, struct ether *eth, } enum nss_status -_nss_nis_getntohost_r (struct ether_addr *addr, struct ether *eth, +_nss_nis_getntohost_r (const struct ether_addr *addr, struct etherent *eth, char *buffer, size_t buflen, int *errnop) { struct parser_data *data = (void *) buffer; diff --git a/nis/nss_nisplus/nisplus-ethers.c b/nis/nss_nisplus/nisplus-ethers.c index ddf6f7f128..a8af4569b8 100644 --- a/nis/nss_nisplus/nisplus-ethers.c +++ b/nis/nss_nisplus/nisplus-ethers.c @@ -35,15 +35,6 @@ static nis_result *result = NULL; static nis_name tablename_val = NULL; static u_long tablename_len = 0; -/* Because the `ethers' lookup does not fit so well in the scheme so - we define a dummy struct here which helps us to use the available - functions. */ -struct etherent -{ - const char *e_name; - struct ether_addr e_addr; -}; -struct etherent_data {}; #define NISENTRYVAL(idx,col,res) \ ((res)->objects.objects_val[(idx)].zo_data.objdata_u.en_data.en_cols.en_cols_val[(col)].ec_value.ec_value_val) @@ -53,7 +44,7 @@ struct etherent_data {}; static int _nss_nisplus_parse_etherent (nis_result *result, struct etherent *ether, - char *buffer, size_t buflen, int *errnop) + char *buffer, size_t buflen, int *errnop) { char *p = buffer; size_t room_left = buflen; diff --git a/sunrpc/publickey.c b/sunrpc/publickey.c index 94d5499b98..ee51e3c60e 100644 --- a/sunrpc/publickey.c +++ b/sunrpc/publickey.c @@ -20,6 +20,7 @@ #include #include +#include #include "nsswitch.h" -- cgit v1.2.3