(root)/
glibc-2.38/
include/
netdb.h
       1  #ifndef	_NETDB_H
       2  #include <resolv/netdb.h>
       3  
       4  #ifndef _ISOMAC
       5  # include <stdint.h>
       6  /* Macros for accessing h_errno from inside libc.  */
       7  # if IS_IN_LIB
       8  #  undef  h_errno
       9  #  if IS_IN (libc)
      10  #   define h_errno __libc_h_errno
      11  #  else
      12  #   define h_errno __h_errno
      13  #  endif
      14  extern __thread int h_errno attribute_tls_model_ie;
      15  # endif /* IS_IN_LIB */
      16  # define __set_h_errno(x) (h_errno = (x))
      17  
      18  libc_hidden_proto (hstrerror)
      19  libc_hidden_proto (innetgr)
      20  libc_hidden_proto (rcmd_af)
      21  libc_hidden_proto (rexec_af)
      22  libc_hidden_proto (rresvport_af)
      23  libc_hidden_proto (ruserok_af)
      24  
      25  libc_hidden_proto (getaddrinfo)
      26  libc_hidden_proto (getnameinfo)
      27  libc_hidden_proto (freeaddrinfo)
      28  libc_hidden_proto (gai_strerror)
      29  libc_hidden_proto (__h_errno_location)
      30  
      31  /* Document internal interfaces.  */
      32  extern int __gethostent_r (struct hostent *__restrict __result_buf,
      33  			   char *__restrict __buf, size_t __buflen,
      34  			   struct hostent **__restrict __result,
      35  			   int *__restrict __h_errnop) attribute_hidden;
      36  extern int __old_gethostent_r (struct hostent *__restrict __result_buf,
      37  			       char *__restrict __buf, size_t __buflen,
      38  			       struct hostent **__restrict __result,
      39  			       int *__restrict __h_errnop);
      40  
      41  extern int __gethostbyaddr_r (const void *__restrict __addr,
      42  			      socklen_t __len, int __type,
      43  			      struct hostent *__restrict __result_buf,
      44  			      char *__restrict __buf, size_t __buflen,
      45  			      struct hostent **__restrict __result,
      46  			      int *__restrict __h_errnop)
      47       attribute_hidden;
      48  extern int __old_gethostbyaddr_r (const void *__restrict __addr,
      49  				  socklen_t __len, int __type,
      50  				  struct hostent *__restrict __result_buf,
      51  				  char *__restrict __buf, size_t __buflen,
      52  				  struct hostent **__restrict __result,
      53  				  int *__restrict __h_errnop);
      54  
      55  extern int __gethostbyaddr2_r (const void *__restrict __addr,
      56  			       socklen_t __len, int __type,
      57  			       struct hostent *__restrict __result_buf,
      58  			       char *__restrict __buf, size_t __buflen,
      59  			       struct hostent **__restrict __result,
      60  			       int *__restrict __h_errnop,
      61  			       int32_t *ttlp);
      62  
      63  extern int __gethostbyname_r (const char *__restrict __name,
      64  			      struct hostent *__restrict __result_buf,
      65  			      char *__restrict __buf, size_t __buflen,
      66  			      struct hostent **__restrict __result,
      67  			      int *__restrict __h_errnop)
      68       attribute_hidden;
      69  extern int __old_gethostbyname_r (const char *__restrict __name,
      70  				  struct hostent *__restrict __result_buf,
      71  				  char *__restrict __buf, size_t __buflen,
      72  				  struct hostent **__restrict __result,
      73  				  int *__restrict __h_errnop);
      74  
      75  extern int __gethostbyname2_r (const char *__restrict __name, int __af,
      76  			       struct hostent *__restrict __result_buf,
      77  			       char *__restrict __buf, size_t __buflen,
      78  			       struct hostent **__restrict __result,
      79  			       int *__restrict __h_errnop)
      80       attribute_hidden;
      81  extern int __old_gethostbyname2_r (const char *__restrict __name, int __af,
      82  				   struct hostent *__restrict __result_buf,
      83  				   char *__restrict __buf, size_t __buflen,
      84  				   struct hostent **__restrict __result,
      85  				   int *__restrict __h_errnop);
      86  
      87  extern int __gethostbyname3_r (const char *__restrict __name, int __af,
      88  			       struct hostent *__restrict __result_buf,
      89  			       char *__restrict __buf, size_t __buflen,
      90  			       struct hostent **__restrict __result,
      91  			       int *__restrict __h_errnop,
      92  			       int32_t *ttlp, char **canonp);
      93  
      94  extern int __getnetent_r (struct netent *__restrict __result_buf,
      95  			  char *__restrict __buf, size_t __buflen,
      96  			  struct netent **__restrict __result,
      97  			  int *__restrict __h_errnop) attribute_hidden;
      98  extern int __old_getnetent_r (struct netent *__restrict __result_buf,
      99  			      char *__restrict __buf, size_t __buflen,
     100  			      struct netent **__restrict __result,
     101  			      int *__restrict __h_errnop);
     102  
     103  extern int __getnetbyaddr_r (uint32_t __net, int __type,
     104  			     struct netent *__restrict __result_buf,
     105  			     char *__restrict __buf, size_t __buflen,
     106  			     struct netent **__restrict __result,
     107  			     int *__restrict __h_errnop)
     108       attribute_hidden;
     109  extern int __old_getnetbyaddr_r (uint32_t __net, int __type,
     110  				 struct netent *__restrict __result_buf,
     111  				 char *__restrict __buf, size_t __buflen,
     112  				 struct netent **__restrict __result,
     113  				 int *__restrict __h_errnop);
     114  
     115  extern int __getnetbyname_r (const char *__restrict __name,
     116  			     struct netent *__restrict __result_buf,
     117  			     char *__restrict __buf, size_t __buflen,
     118  			     struct netent **__restrict __result,
     119  			     int *__restrict __h_errnop)
     120       attribute_hidden;
     121  extern int __old_getnetbyname_r (const char *__restrict __name,
     122  				 struct netent *__restrict __result_buf,
     123  				 char *__restrict __buf, size_t __buflen,
     124  				 struct netent **__restrict __result,
     125  				 int *__restrict __h_errnop);
     126  
     127  extern int __getservent_r (struct servent *__restrict __result_buf,
     128  			   char *__restrict __buf, size_t __buflen,
     129  			   struct servent **__restrict __result)
     130       attribute_hidden;
     131  extern int __old_getservent_r (struct servent *__restrict __result_buf,
     132  			       char *__restrict __buf, size_t __buflen,
     133  			       struct servent **__restrict __result);
     134  
     135  extern int __getservbyname_r (const char *__restrict __name,
     136  			      const char *__restrict __proto,
     137  			      struct servent *__restrict __result_buf,
     138  			      char *__restrict __buf, size_t __buflen,
     139  			      struct servent **__restrict __result)
     140       attribute_hidden;
     141  extern int __old_getservbyname_r (const char *__restrict __name,
     142  				  const char *__restrict __proto,
     143  				  struct servent *__restrict __result_buf,
     144  				  char *__restrict __buf, size_t __buflen,
     145  				  struct servent **__restrict __result);
     146  
     147  extern int __getservbyport_r (int __port,
     148  			      const char *__restrict __proto,
     149  			      struct servent *__restrict __result_buf,
     150  			      char *__restrict __buf, size_t __buflen,
     151  			      struct servent **__restrict __result)
     152       attribute_hidden;
     153  extern int __old_getservbyport_r (int __port,
     154  				  const char *__restrict __proto,
     155  				  struct servent *__restrict __result_buf,
     156  				  char *__restrict __buf, size_t __buflen,
     157  				  struct servent **__restrict __result);
     158  
     159  extern int __getprotoent_r (struct protoent *__restrict __result_buf,
     160  			    char *__restrict __buf, size_t __buflen,
     161  			    struct protoent **__restrict __result)
     162       attribute_hidden;
     163  extern int __old_getprotoent_r (struct protoent *__restrict __result_buf,
     164  				char *__restrict __buf, size_t __buflen,
     165  				struct protoent **__restrict __result);
     166  
     167  extern int __getprotobyname_r (const char *__restrict __name,
     168  			       struct protoent *__restrict __result_buf,
     169  			       char *__restrict __buf, size_t __buflen,
     170  			       struct protoent **__restrict __result)
     171       attribute_hidden;
     172  extern int __old_getprotobyname_r (const char *__restrict __name,
     173  				   struct protoent *__restrict __result_buf,
     174  				   char *__restrict __buf, size_t __buflen,
     175  				   struct protoent **__restrict __result);
     176  
     177  extern int __getprotobynumber_r (int __proto,
     178  				 struct protoent *__restrict __res_buf,
     179  				 char *__restrict __buf, size_t __buflen,
     180  				 struct protoent **__restrict __result)
     181       attribute_hidden;
     182  extern int __old_getprotobynumber_r (int __proto,
     183  				     struct protoent *__restrict __res_buf,
     184  				     char *__restrict __buf, size_t __buflen,
     185  				     struct protoent **__restrict __result);
     186  
     187  extern int __getnetgrent_r (char **__restrict __hostp,
     188  			    char **__restrict __userp,
     189  			    char **__restrict __domainp,
     190  			    char *__restrict __buffer, size_t __buflen)
     191       attribute_hidden;
     192  
     193  extern int ruserpass (const char *host, const char **aname,
     194  		      const char **apass);
     195  libc_hidden_proto (ruserpass)
     196  
     197  # if __TIMESIZE == 64
     198  #  define __gai_suspend_time64 __gai_suspend
     199  # else
     200  extern int __gai_suspend_time64 (const struct gaicb *const list[], int ent,
     201                                   const struct __timespec64 *timeout);
     202  #  if PTHREAD_IN_LIBC
     203  libc_hidden_proto (__gai_suspend_time64)
     204  #  else
     205  libanl_hidden_proto (__gai_suspend_time64)
     206  #  endif
     207  # endif
     208  
     209  /* The following definition has been removed from the public header
     210     since we don't want people to use them.  */
     211  
     212  #define AI_DEFAULT    (AI_V4MAPPED | AI_ADDRCONFIG)
     213  
     214  #include <inet/netgroup.h>
     215  
     216  extern enum nss_status _nss_netgroup_parseline (char **cursor,
     217  						struct __netgrent *result,
     218  						char *buffer, size_t buflen,
     219  						int *errnop);
     220  libc_hidden_proto (_nss_netgroup_parseline)
     221  
     222  #define DECLARE_NSS_PROTOTYPES(service)					      \
     223  extern enum nss_status _nss_ ## service ## _setprotoent (int);		      \
     224  extern enum nss_status _nss_ ## service ## _endprotoent (void);		      \
     225  extern enum nss_status _nss_ ## service ## _getprotoent_r		      \
     226  		       (struct protoent *proto, char *buffer, size_t buflen,  \
     227  			int *errnop);					      \
     228  extern enum nss_status _nss_ ## service ## _getprotobyname_r		      \
     229  		       (const char *name, struct protoent *proto,	      \
     230  			char *buffer, size_t buflen, int *errnop);	      \
     231  extern enum nss_status _nss_ ## service ## _getprotobynumber_r		      \
     232  		       (int number, struct protoent *proto,		      \
     233  			char *buffer, size_t buflen, int *errnop);	      \
     234  extern enum nss_status _nss_ ## service ## _sethostent (int);		      \
     235  extern enum nss_status _nss_ ## service ## _endhostent (void);		      \
     236  extern enum nss_status _nss_ ## service ## _gethostent_r		      \
     237  		       (struct hostent *host, char *buffer, size_t buflen,    \
     238  			int *errnop, int *h_errnop);			      \
     239  extern enum nss_status _nss_ ## service ## _gethostbyname2_r		      \
     240  		       (const char *name, int af, struct hostent *host,	      \
     241  			char *buffer, size_t buflen, int *errnop,	      \
     242  			int *h_errnop);					      \
     243  extern enum nss_status _nss_ ## service ## _gethostbyname_r		      \
     244  		       (const char *name, struct hostent *host, char *buffer, \
     245  			size_t buflen, int *errnop, int *h_errnop);	      \
     246  extern enum nss_status _nss_ ## service ## _gethostbyaddr_r		      \
     247  		       (const void *addr, socklen_t addrlen, int af,	      \
     248  			struct hostent *host, char *buffer, size_t buflen,    \
     249  			int *errnop, int *h_errnop);			      \
     250  extern enum nss_status _nss_ ## service ## _setservent (int);		      \
     251  extern enum nss_status _nss_ ## service ## _endservent (void);		      \
     252  extern enum nss_status _nss_ ## service ## _getservent_r		      \
     253  		       (struct servent *serv, char *buffer, size_t buflen,    \
     254  			int *errnop);					      \
     255  extern enum nss_status _nss_ ## service ## _getservbyname_r		      \
     256  		       (const char *name, const char *protocol,		      \
     257  			struct servent *serv, char *buffer, size_t buflen,    \
     258  			int *errnop);					      \
     259  extern enum nss_status _nss_ ## service ## _getservbyport_r		      \
     260  		       (int port, const char *protocol, struct servent *serv, \
     261  			char *buffer, size_t buflen, int *errnop);	      \
     262  extern enum nss_status _nss_ ## service ## _setnetgrent			      \
     263  		       (const char *group, struct __netgrent *result);	      \
     264  extern enum nss_status _nss_ ## service ## _endnetgrent			      \
     265  		       (struct __netgrent *result);			      \
     266  extern enum nss_status _nss_ ## service ## _getnetgrent_r		      \
     267  		       (struct __netgrent *result, char *buffer,	      \
     268  			size_t buflen, int *errnop);			      \
     269  extern enum nss_status _nss_ ## service ## _setnetent (int stayopen);	      \
     270  extern enum nss_status _nss_ ## service ## _endnetent (void);		      \
     271  extern enum nss_status _nss_ ## service ## _getnetent_r			      \
     272  			(struct netent *net, char *buffer, size_t buflen,     \
     273  			 int *errnop, int *herrnop);			      \
     274  extern enum nss_status _nss_ ## service ## _getnetbyname_r		      \
     275  			(const char *name, struct netent *net, char *buffer,  \
     276  			 size_t buflen, int *errnop, int *herrnop);	      \
     277  extern enum nss_status _nss_ ## service ## _getnetbyaddr_r		      \
     278  		       (uint32_t addr, int type, struct netent *net,	      \
     279  			char *buffer, size_t buflen, int *errnop,	      \
     280  			int *herrnop);					      \
     281  extern enum nss_status _nss_ ## service ## _endspent (void);
     282  
     283  DECLARE_NSS_PROTOTYPES (compat)
     284  DECLARE_NSS_PROTOTYPES (dns)
     285  DECLARE_NSS_PROTOTYPES (files)
     286  DECLARE_NSS_PROTOTYPES (hesiod)
     287  
     288  #undef DECLARE_NSS_PROTOTYPES
     289  
     290  #endif
     291  
     292  #endif /* !_NETDB_H */