* nscd/nscd-client.h: New file, broken out of "nscd.h".
authorRoland McGrath <roland@gnu.org>
Sun, 18 Oct 1998 22:02:47 +0000 (22:02 +0000)
committerRoland McGrath <roland@gnu.org>
Sun, 18 Oct 1998 22:02:47 +0000 (22:02 +0000)
* nscd/nscd.h: Move defns needed by clients to "nscd-client.h",
and #include that.
* nscd/Makefile (distribute): Add nscd-client.h

ChangeLog
nscd/Makefile
nscd/nscd-client.h [new file with mode: 0644]
nscd/nscd.h

index 00d615d..2983b16 100644 (file)
--- 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.
index ed5c0ba..278bca6 100644 (file)
@@ -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 (file)
index 0000000..0c52f91
--- /dev/null
@@ -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 */
index bc8150a..9177235 100644 (file)
 #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 */