aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--nscd/Makefile3
-rw-r--r--nscd/nscd-client.h110
-rw-r--r--nscd/nscd.h87
4 files changed, 122 insertions, 83 deletions
diff --git a/ChangeLog b/ChangeLog
index 00d615d8f1..2983b168e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
1998-10-19 Roland McGrath <roland@baalperazim.frob.com>
+ * nscd/nscd-client.h: New file, broken out of "nscd.h".
+ * nscd/nscd.h: Move defns needed by clients to "nscd-client.h",
+ and #include that.
+ * nscd/Makefile (distribute): Add nscd-client.h
+
* sysdeps/mach/hurd/i386/init-first.c (init1): Don't call
__libc_init_secure. Instead set __libc_enable_secure here from
the exec flags.
diff --git a/nscd/Makefile b/nscd/Makefile
index ed5c0ba9c5..278bca6bbe 100644
--- a/nscd/Makefile
+++ b/nscd/Makefile
@@ -38,7 +38,8 @@ extra-objs := $(nscd-modules:=.o)
endif
-distribute := nscd.h dbg_log.h $(nscd-modules:=.c) TODO nscd.conf nscd.init \
+distribute := nscd.h nscd-client.h dbg_log.h \
+ $(nscd-modules:=.c) TODO nscd.conf nscd.init \
nscd_proto.h
include ../Rules
diff --git a/nscd/nscd-client.h b/nscd/nscd-client.h
new file mode 100644
index 0000000000..0c52f91c36
--- /dev/null
+++ b/nscd/nscd-client.h
@@ -0,0 +1,110 @@
+/* Copyright (c) 1998 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Thorsten Kukuk <kukuk@vt.uni-paderborn.de>, 1998.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+/* This file defines everything that client code should need to
+ know to talk to the nscd daemon. */
+
+#ifndef _NSCD_CLIENT_H
+#define _NSCD_CLIENT_H 1
+
+/* Version number of the daemon interface */
+#define NSCD_VERSION 2
+
+/* Path of the file where the PID of the running system is stored. */
+#define _PATH_NSCDPID "/var/run/nscd.pid"
+
+/* Path for the Unix domain socket. */
+#define _PATH_NSCDSOCKET "/var/run/.nscd_socket"
+
+/* Path for the configuration file. */
+#define _PATH_NSCDCONF "/etc/nscd.conf"
+
+
+/* Available services. */
+typedef enum
+{
+ GETPWBYNAME,
+ GETPWBYUID,
+ GETGRBYNAME,
+ GETGRBYGID,
+ GETHOSTBYNAME,
+ GETHOSTBYNAMEv6,
+ GETHOSTBYADDR,
+ GETHOSTBYADDRv6,
+ LASTDBREQ = GETHOSTBYADDRv6,
+ SHUTDOWN, /* Shut the server down. */
+ GETSTAT, /* Get the server statistic. */
+ LASTREQ,
+} request_type;
+
+
+/* Header common to all requests */
+typedef struct
+{
+ int version; /* Version number of the daemon interface. */
+ request_type type; /* Service requested. */
+ ssize_t key_len; /* Key length. */
+} request_header;
+
+
+/* Structure sent in reply to password query. Note that this struct is
+ sent also if the service is disabled or there is no record found. */
+typedef struct
+{
+ int version;
+ int found;
+ ssize_t pw_name_len;
+ ssize_t pw_passwd_len;
+ uid_t pw_uid;
+ gid_t pw_gid;
+ ssize_t pw_gecos_len;
+ ssize_t pw_dir_len;
+ ssize_t pw_shell_len;
+} pw_response_header;
+
+
+/* Structure sent in reply to group query. Note that this struct is
+ sent also if the service is disabled or there is no record found. */
+typedef struct
+{
+ int version;
+ int found;
+ ssize_t gr_name_len;
+ ssize_t gr_passwd_len;
+ gid_t gr_gid;
+ ssize_t gr_mem_cnt;
+} gr_response_header;
+
+
+/* Structure sent in reply to host query. Note that this struct is
+ sent also if the service is disabled or there is no record found. */
+typedef struct
+{
+ int version;
+ int found;
+ ssize_t h_name_len;
+ ssize_t h_aliases_cnt;
+ int h_addrtype;
+ int h_length;
+ ssize_t h_addr_list_cnt;
+ int error;
+} hst_response_header;
+
+
+#endif /* nscd.h */
diff --git a/nscd/nscd.h b/nscd/nscd.h
index bc8150aca1..9177235911 100644
--- a/nscd/nscd.h
+++ b/nscd/nscd.h
@@ -24,18 +24,10 @@
#include <time.h>
#include <sys/uio.h>
-
-/* Version number of the daemon interface */
-#define NSCD_VERSION 2
-
-/* Path of the file where the PID of the running system is stored. */
-#define _PATH_NSCDPID "/var/run/nscd.pid"
-
-/* Path for the Unix domain socket. */
-#define _PATH_NSCDSOCKET "/var/run/.nscd_socket"
-
-/* Path for the configuration file. */
-#define _PATH_NSCDCONF "/etc/nscd.conf"
+/* The declarations for the request and response types are in the file
+ "nscd-client.h", which should contain everything needed by client
+ functions. */
+#include "nscd-client.h"
/* Handle databases. */
@@ -48,24 +40,6 @@ typedef enum
} dbtype;
-/* Available services. */
-typedef enum
-{
- GETPWBYNAME,
- GETPWBYUID,
- GETGRBYNAME,
- GETGRBYGID,
- GETHOSTBYNAME,
- GETHOSTBYNAMEv6,
- GETHOSTBYADDR,
- GETHOSTBYADDRv6,
- LASTDBREQ = GETHOSTBYADDRv6,
- SHUTDOWN, /* Shut the server down. */
- GETSTAT, /* Get the server statistic. */
- LASTREQ,
-} request_type;
-
-
/* Structure for one hash table entry. */
struct hashentry
{
@@ -106,58 +80,6 @@ struct database
};
-/* Header common to all requests */
-typedef struct
-{
- int version; /* Version number of the daemon interface. */
- request_type type; /* Service requested. */
- ssize_t key_len; /* Key length. */
-} request_header;
-
-
-/* Structure sent in reply to password query. Note that this struct is
- sent also if the service is disabled or there is no record found. */
-typedef struct
-{
- int version;
- int found;
- ssize_t pw_name_len;
- ssize_t pw_passwd_len;
- uid_t pw_uid;
- gid_t pw_gid;
- ssize_t pw_gecos_len;
- ssize_t pw_dir_len;
- ssize_t pw_shell_len;
-} pw_response_header;
-
-
-/* Structure sent in reply to group query. Note that this struct is
- sent also if the service is disabled or there is no record found. */
-typedef struct
-{
- int version;
- int found;
- ssize_t gr_name_len;
- ssize_t gr_passwd_len;
- gid_t gr_gid;
- ssize_t gr_mem_cnt;
-} gr_response_header;
-
-
-/* Structure sent in reply to host query. Note that this struct is
- sent also if the service is disabled or there is no record found. */
-typedef struct
-{
- int version;
- int found;
- ssize_t h_name_len;
- ssize_t h_aliases_cnt;
- int h_addrtype;
- int h_length;
- ssize_t h_addr_list_cnt;
- int error;
-} hst_response_header;
-
/* Global variables. */
extern const char *dbnames[lastdb];
extern const char *serv2str[LASTREQ];
@@ -218,4 +140,5 @@ extern void addhstbynamev6 (struct database *db, int fd, request_header *req,
extern void addhstbyaddrv6 (struct database *db, int fd, request_header *req,
void *key);
+
#endif /* nscd.h */