aboutsummaryrefslogtreecommitdiff
path: root/nss
diff options
context:
space:
mode:
Diffstat (limited to 'nss')
-rw-r--r--nss/Makefile15
-rw-r--r--nss/Versions3
-rw-r--r--nss/getservent.c25
-rw-r--r--nss/getservent_r.c29
-rw-r--r--nss/getsrvbynm.c28
-rw-r--r--nss/getsrvbynm_r.c27
-rw-r--r--nss/getsrvbypt.c28
-rw-r--r--nss/getsrvbypt_r.c27
8 files changed, 182 insertions, 0 deletions
diff --git a/nss/Makefile b/nss/Makefile
index cbfd5dc692..e88754bf51 100644
--- a/nss/Makefile
+++ b/nss/Makefile
@@ -229,6 +229,21 @@ CFLAGS-getrpcent_r.c += -fexceptions
CFLAGS-getrpcent.c += -fexceptions
endif
+# services routines:
+routines += \
+ getservent \
+ getservent_r \
+ getsrvbynm \
+ getsrvbynm_r \
+ getsrvbypt \
+ getsrvbypt_r \
+ # routines
+
+ifeq ($(have-thread-library),yes)
+CFLAGS-getservent_r.c += -fexceptions
+CFLAGS-getservent.c += -fexceptions
+endif
+
# shadow routines
routines += \
fgetspent \
diff --git a/nss/Versions b/nss/Versions
index b7491154bf..d8c4e373c9 100644
--- a/nss/Versions
+++ b/nss/Versions
@@ -32,6 +32,8 @@ libc {
getpw; getpwent; getpwent_r; getpwnam; getpwnam_r; getpwuid; getpwuid_r;
getrpcbyname; getrpcbyname_r; getrpcbynumber; getrpcbynumber_r;
getrpcent; getrpcent_r;
+ getservbyname; getservbyname_r; getservbyport;
+ getservbyport_r; getservent; getservent_r;
getspent; getspent_r; getspnam; getspnam_r;
# i*
@@ -64,6 +66,7 @@ libc {
getnetgrent_r;
getprotobyname_r; getprotobynumber_r; getprotoent_r;
getpwent_r; getpwuid_r; getpwnam_r;
+ getservbyname_r; getservbyport_r; getservent_r;
getspent_r; getspnam_r;
}
GLIBC_2.2.2 {
diff --git a/nss/getservent.c b/nss/getservent.c
new file mode 100644
index 0000000000..8acd81ea9a
--- /dev/null
+++ b/nss/getservent.c
@@ -0,0 +1,25 @@
+/* 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 servent
+#define GETFUNC_NAME getservent
+#define BUFLEN 1024
+
+#include "../nss/getXXent.c"
diff --git a/nss/getservent_r.c b/nss/getservent_r.c
new file mode 100644
index 0000000000..f57a7f24b8
--- /dev/null
+++ b/nss/getservent_r.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 servent
+#define SETFUNC_NAME setservent
+#define GETFUNC_NAME getservent
+#define ENDFUNC_NAME endservent
+#define DATABASE_NAME services
+#define STAYOPEN int stayopen
+#define STAYOPEN_VAR stayopen
+
+#include "../nss/getXXent_r.c"
diff --git a/nss/getsrvbynm.c b/nss/getsrvbynm.c
new file mode 100644
index 0000000000..c90a99da1c
--- /dev/null
+++ b/nss/getsrvbynm.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 servent
+#define FUNCTION_NAME getservbyname
+#define DATABASE_NAME services
+#define ADD_PARAMS const char *name, const char *proto
+#define ADD_VARIABLES name, proto
+#define BUFLEN 1024
+
+#include "../nss/getXXbyYY.c"
diff --git a/nss/getsrvbynm_r.c b/nss/getsrvbynm_r.c
new file mode 100644
index 0000000000..e90659477d
--- /dev/null
+++ b/nss/getsrvbynm_r.c
@@ -0,0 +1,27 @@
+/* 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 servent
+#define FUNCTION_NAME getservbyname
+#define DATABASE_NAME services
+#define ADD_PARAMS const char *name, const char *proto
+#define ADD_VARIABLES name, proto
+
+#include "../nss/getXXbyYY_r.c"
diff --git a/nss/getsrvbypt.c b/nss/getsrvbypt.c
new file mode 100644
index 0000000000..d6292c66d9
--- /dev/null
+++ b/nss/getsrvbypt.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 servent
+#define FUNCTION_NAME getservbyport
+#define DATABASE_NAME services
+#define ADD_PARAMS int port, const char *proto
+#define ADD_VARIABLES port, proto
+#define BUFLEN 1024
+
+#include "../nss/getXXbyYY.c"
diff --git a/nss/getsrvbypt_r.c b/nss/getsrvbypt_r.c
new file mode 100644
index 0000000000..c01ea347d5
--- /dev/null
+++ b/nss/getsrvbypt_r.c
@@ -0,0 +1,27 @@
+/* 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 servent
+#define FUNCTION_NAME getservbyport
+#define DATABASE_NAME services
+#define ADD_PARAMS int port, const char *proto
+#define ADD_VARIABLES port, proto
+
+#include "../nss/getXXbyYY_r.c"