about summary refs log tree commit diff
path: root/nss
diff options
context:
space:
mode:
authorArjun Shankar <arjun@redhat.com>2023-10-02 14:55:23 +0200
committerArjun Shankar <arjun@redhat.com>2023-10-24 12:30:59 +0200
commit5a6e784e64c9e3d9b16b257f73cc6332771d9e18 (patch)
treeab84ac5d7456fbad3760c1e00723ba181dca021f /nss
parent3f7c7ac887f9d0f5d41b3c7d698fe8df939c0a87 (diff)
downloadglibc-5a6e784e64c9e3d9b16b257f73cc6332771d9e18.tar.gz
glibc-5a6e784e64c9e3d9b16b257f73cc6332771d9e18.tar.xz
glibc-5a6e784e64c9e3d9b16b257f73cc6332771d9e18.zip
Move 'networks' routines from 'inet' into 'nss'
The getnetby* and getnetent* routines are entry points for nss
functionality.  This commit moves them from the 'inet' subdirectory to
'nss'.
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
Diffstat (limited to 'nss')
-rw-r--r--nss/Makefile19
-rw-r--r--nss/Versions2
-rw-r--r--nss/getnetbyad.c33
-rw-r--r--nss/getnetbyad_r.c33
-rw-r--r--nss/getnetbynm.c32
-rw-r--r--nss/getnetbynm_r.c32
-rw-r--r--nss/getnetent.c29
-rw-r--r--nss/getnetent_r.c34
8 files changed, 214 insertions, 0 deletions
diff --git a/nss/Makefile b/nss/Makefile
index 2a451f68d9..023a11fa4b 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -159,6 +159,25 @@ CFLAGS-getnetgrent.c += -fexceptions
 CFLAGS-getnetgrent_r.c += -fexceptions
 endif
 
+# networks routines:
+routines += \
+  getnetbyad \
+  getnetbyad_r \
+  getnetbynm \
+  getnetbynm_r \
+  getnetent \
+  getnetent_r \
+  # routines
+
+ifeq ($(have-thread-library),yes)
+CFLAGS-getnetbyad.c += -fexceptions
+CFLAGS-getnetbyad_r.c += -fexceptions
+CFLAGS-getnetbynm.c += -fexceptions
+CFLAGS-getnetbynm_r.c += -fexceptions
+CFLAGS-getnetent.c += -fexceptions
+CFLAGS-getnetent_r.c += -fexceptions
+endif
+
 # pwd routines:
 routines += \
   fgetpwent \
diff --git a/nss/Versions b/nss/Versions
index 4ddc018012..95219f0fc7 100644
--- a/nss/Versions
+++ b/nss/Versions
@@ -25,6 +25,8 @@ libc {
     gethostbyaddr; gethostbyaddr_r; gethostbyname; gethostbyname2;
     gethostbyname2_r; gethostbyname_r; gethostent; gethostent_r;
     getnetgrent; getnetgrent_r;
+    getnetbyaddr; getnetbyaddr_r; getnetbyname; getnetbyname_r;
+    getnetent; getnetent_r;
     getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
     getspent; getspent_r; getspnam; getspnam_r;
 
diff --git a/nss/getnetbyad.c b/nss/getnetbyad.c
new file mode 100644
index 0000000000..8b4f387b74
--- /dev/null
+++ b/nss/getnetbyad.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1996-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <netdb.h>
+#include <stdint.h>
+
+
+#define LOOKUP_TYPE	struct netent
+#define FUNCTION_NAME	getnetbyaddr
+#define DATABASE_NAME	networks
+#define ADD_PARAMS	uint32_t net, int type
+#define ADD_VARIABLES	net, type
+#define BUFLEN		1024
+#define NEED_H_ERRNO	1
+
+/* There is no nscd support for the networks file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY.c"
diff --git a/nss/getnetbyad_r.c b/nss/getnetbyad_r.c
new file mode 100644
index 0000000000..9a06c5e40b
--- /dev/null
+++ b/nss/getnetbyad_r.c
@@ -0,0 +1,33 @@
+/* Copyright (C) 1996-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <netdb.h>
+#include <stdint.h>
+
+
+#define LOOKUP_TYPE		struct netent
+#define FUNCTION_NAME		getnetbyaddr
+#define DATABASE_NAME		networks
+#define ADD_PARAMS		uint32_t net, int type
+#define ADD_VARIABLES		net, type
+#define NEED__RES		1
+#define NEED_H_ERRNO		1
+
+/* There is no nscd support for the networks file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY_r.c"
diff --git a/nss/getnetbynm.c b/nss/getnetbynm.c
new file mode 100644
index 0000000000..b763718873
--- /dev/null
+++ b/nss/getnetbynm.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 1996-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <netdb.h>
+
+
+#define LOOKUP_TYPE	struct netent
+#define FUNCTION_NAME	getnetbyname
+#define DATABASE_NAME	networks
+#define ADD_PARAMS	const char *name
+#define ADD_VARIABLES	name
+#define BUFLEN		1024
+#define NEED_H_ERRNO	1
+
+/* There is no nscd support for the networks file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY.c"
diff --git a/nss/getnetbynm_r.c b/nss/getnetbynm_r.c
new file mode 100644
index 0000000000..feb8b303a3
--- /dev/null
+++ b/nss/getnetbynm_r.c
@@ -0,0 +1,32 @@
+/* Copyright (C) 1996-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <netdb.h>
+
+
+#define LOOKUP_TYPE		struct netent
+#define FUNCTION_NAME		getnetbyname
+#define DATABASE_NAME		networks
+#define ADD_PARAMS		const char *name
+#define ADD_VARIABLES		name
+#define NEED__RES		1
+#define NEED_H_ERRNO		1
+
+/* There is no nscd support for the networks file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY_r.c"
diff --git a/nss/getnetent.c b/nss/getnetent.c
new file mode 100644
index 0000000000..69b4e399d6
--- /dev/null
+++ b/nss/getnetent.c
@@ -0,0 +1,29 @@
+/* Copyright (C) 1996-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <netdb.h>
+
+
+#define LOOKUP_TYPE	struct netent
+#define	GETFUNC_NAME	getnetent
+#define BUFLEN		1024
+#define NEED_H_ERRNO	1
+
+/* There is no nscd support for the networks file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXent.c"
diff --git a/nss/getnetent_r.c b/nss/getnetent_r.c
new file mode 100644
index 0000000000..d0a05993ab
--- /dev/null
+++ b/nss/getnetent_r.c
@@ -0,0 +1,34 @@
+/* Copyright (C) 1996-2023 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, see
+   <https://www.gnu.org/licenses/>.  */
+
+#include <netdb.h>
+
+
+#define LOOKUP_TYPE		struct netent
+#define SETFUNC_NAME		setnetent
+#define	GETFUNC_NAME		getnetent
+#define	ENDFUNC_NAME		endnetent
+#define DATABASE_NAME		networks
+#define STAYOPEN		int stayopen
+#define STAYOPEN_VAR		stayopen
+#define NEED__RES		1
+#define NEED_H_ERRNO		1
+
+/* There is no nscd support for the networks file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXent_r.c"