aboutsummaryrefslogtreecommitdiff
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
glibc-5a6e784e64c9e3d9b16b257f73cc6332771d9e18.tar.gz
glibc-5a6e784e64c9e3d9b16b257f73cc6332771d9e18.tar.bz2
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"