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:24 +0200
committerArjun Shankar <arjun@redhat.com>2023-10-24 12:30:59 +0200
commita25a060c358358d61d683dc8e9aa9df91e877a35 (patch)
treee01407aca6f3cf2a7891c428681314842aca5878 /nss
parent5a6e784e64c9e3d9b16b257f73cc6332771d9e18 (diff)
downloadglibc-a25a060c358358d61d683dc8e9aa9df91e877a35.tar.gz
glibc-a25a060c358358d61d683dc8e9aa9df91e877a35.tar.xz
glibc-a25a060c358358d61d683dc8e9aa9df91e877a35.zip
Move 'protocols' routines from 'inet' into 'nss'
The getprotoby* and getprotoent* 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/Makefile15
-rw-r--r--nss/Versions3
-rw-r--r--nss/getproto.c31
-rw-r--r--nss/getproto_r.c30
-rw-r--r--nss/getprtent.c28
-rw-r--r--nss/getprtent_r.c32
-rw-r--r--nss/getprtname.c31
-rw-r--r--nss/getprtname_r.c30
8 files changed, 200 insertions, 0 deletions
diff --git a/nss/Makefile b/nss/Makefile
index 023a11fa4b..df22d3655c 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -178,6 +178,21 @@ CFLAGS-getnetent.c += -fexceptions
 CFLAGS-getnetent_r.c += -fexceptions
 endif
 
+# protocols routines:
+routines += \
+  getproto \
+  getproto_r \
+  getprtent \
+  getprtent_r \
+  getprtname \
+  getprtname_r \
+  # routines
+
+ifeq ($(have-thread-library),yes)
+CFLAGS-getprtent_r.c += -fexceptions
+CFLAGS-getprtent.c += -fexceptions
+endif
+
 # pwd routines:
 routines += \
   fgetpwent \
diff --git a/nss/Versions b/nss/Versions
index 95219f0fc7..c5de97fb53 100644
--- a/nss/Versions
+++ b/nss/Versions
@@ -27,6 +27,8 @@ libc {
     getnetgrent; getnetgrent_r;
     getnetbyaddr; getnetbyaddr_r; getnetbyname; getnetbyname_r;
     getnetent; getnetent_r;
+    getprotobyname; getprotobyname_r; getprotobynumber;
+    getprotobynumber_r; getprotoent; getprotoent_r;
     getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
     getspent; getspent_r; getspnam; getspnam_r;
 
@@ -58,6 +60,7 @@ libc {
     # g*
     getgrent_r; getgrgid_r; getgrnam_r;
     getnetgrent_r;
+    getprotobyname_r; getprotobynumber_r; getprotoent_r;
     getpwent_r; getpwuid_r; getpwnam_r;
     getspent_r; getspnam_r;
   }
diff --git a/nss/getproto.c b/nss/getproto.c
new file mode 100644
index 0000000000..297d67d26b
--- /dev/null
+++ b/nss/getproto.c
@@ -0,0 +1,31 @@
+/* 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 protoent
+#define FUNCTION_NAME	getprotobynumber
+#define DATABASE_NAME	protocols
+#define ADD_PARAMS	int proto
+#define ADD_VARIABLES	proto
+#define BUFLEN		1024
+
+/* There is no nscd support for the protocols file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY.c"
diff --git a/nss/getproto_r.c b/nss/getproto_r.c
new file mode 100644
index 0000000000..789d3dd34e
--- /dev/null
+++ b/nss/getproto_r.c
@@ -0,0 +1,30 @@
+/* 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 protoent
+#define FUNCTION_NAME		getprotobynumber
+#define DATABASE_NAME		protocols
+#define ADD_PARAMS		int proto
+#define ADD_VARIABLES		proto
+
+/* There is no nscd support for the protocols file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY_r.c"
diff --git a/nss/getprtent.c b/nss/getprtent.c
new file mode 100644
index 0000000000..83df7d89f9
--- /dev/null
+++ b/nss/getprtent.c
@@ -0,0 +1,28 @@
+/* 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 protoent
+#define	GETFUNC_NAME	getprotoent
+#define BUFLEN		1024
+
+/* There is no nscd support for the protocols file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXent.c"
diff --git a/nss/getprtent_r.c b/nss/getprtent_r.c
new file mode 100644
index 0000000000..39975ca7e6
--- /dev/null
+++ b/nss/getprtent_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 protoent
+#define SETFUNC_NAME		setprotoent
+#define	GETFUNC_NAME		getprotoent
+#define	ENDFUNC_NAME		endprotoent
+#define DATABASE_NAME		protocols
+#define STAYOPEN		int stayopen
+#define STAYOPEN_VAR		stayopen
+
+/* There is no nscd support for the protocols file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXent_r.c"
diff --git a/nss/getprtname.c b/nss/getprtname.c
new file mode 100644
index 0000000000..8206347cfc
--- /dev/null
+++ b/nss/getprtname.c
@@ -0,0 +1,31 @@
+/* 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 protoent
+#define FUNCTION_NAME	getprotobyname
+#define DATABASE_NAME	protocols
+#define ADD_PARAMS	const char *name
+#define ADD_VARIABLES	name
+#define BUFLEN		1024
+
+/* There is no nscd support for the protocols file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY.c"
diff --git a/nss/getprtname_r.c b/nss/getprtname_r.c
new file mode 100644
index 0000000000..a69d6a5680
--- /dev/null
+++ b/nss/getprtname_r.c
@@ -0,0 +1,30 @@
+/* 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 protoent
+#define FUNCTION_NAME		getprotobyname
+#define DATABASE_NAME		protocols
+#define ADD_PARAMS		const char *name
+#define ADD_VARIABLES		name
+
+/* There is no nscd support for the protocols file.  */
+#undef	USE_NSCD
+
+#include "../nss/getXXbyYY_r.c"