From 1d74d2f042a405982661267394e16126db70dc5f Mon Sep 17 00:00:00 2001 From: Arjun Shankar Date: Mon, 2 Oct 2023 14:55:26 +0200 Subject: Move 'services' routines from 'inet' into 'nss' The getservby* and getservent* routines are entry points for nss functionality. This commit moves them from the 'inet' subdirectory to 'nss'. Reviewed-by: Adhemerval Zanella --- nss/Makefile | 15 +++++++++++++++ nss/Versions | 3 +++ nss/getservent.c | 25 +++++++++++++++++++++++++ nss/getservent_r.c | 29 +++++++++++++++++++++++++++++ nss/getsrvbynm.c | 28 ++++++++++++++++++++++++++++ nss/getsrvbynm_r.c | 27 +++++++++++++++++++++++++++ nss/getsrvbypt.c | 28 ++++++++++++++++++++++++++++ nss/getsrvbypt_r.c | 27 +++++++++++++++++++++++++++ 8 files changed, 182 insertions(+) create mode 100644 nss/getservent.c create mode 100644 nss/getservent_r.c create mode 100644 nss/getsrvbynm.c create mode 100644 nss/getsrvbynm_r.c create mode 100644 nss/getsrvbypt.c create mode 100644 nss/getsrvbypt_r.c (limited to 'nss') 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 + . */ + +#include + + +#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 + . */ + +#include + + +#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 + . */ + +#include + + +#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 + . */ + +#include + + +#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 + . */ + +#include + + +#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 + . */ + +#include + + +#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" -- cgit 1.4.1