getfullhostname.c
Go to the documentation of this file.
1 /*
2  * Copyright (C) 1996-2018 The Squid Software Foundation and contributors
3  *
4  * Squid software is distributed under GPLv2+ license and includes
5  * contributions from numerous individuals and organizations.
6  * Please see the COPYING and CONTRIBUTORS files for details.
7  */
8 
9 #include "squid.h"
10 #include "getfullhostname.h"
11 
12 #if HAVE_UNISTD_H
13 /* for gethostname() function */
14 #include <unistd.h>
15 #endif
16 #if HAVE_NETDB_H
17 /* for gethostbyname() */
18 #include <netdb.h>
19 #endif
20 
21 /* for RFC 2181 constants */
22 #include "rfc2181.h"
23 
24 /* for xstrncpy() - may need breaking out of there. */
25 #include "util.h"
26 
33 const char *
35 {
36  const struct hostent *hp = NULL;
37  // TODO: make this dynamic so the duration limit is flexible
38  static char buf[RFC2181_MAXHOSTNAMELEN + 1];
39 
40  if (gethostname(buf, RFC2181_MAXHOSTNAMELEN) < 0)
41  return NULL;
42  // TODO: convert this to a getaddrinfo() call
43  if ((hp = gethostbyname(buf)) != NULL)
45  return buf;
46 }
47 
#define RFC2181_MAXHOSTNAMELEN
Definition: rfc2181.h:27
char * xstrncpy(char *dst, const char *src, size_t n)
Definition: xstring.cc:37
void const char * buf
Definition: stub_helper.cc:16
struct hostent * gethostbyname()
SQUIDCEXTERN const char * getfullhostname(void)
#define NULL
Definition: types.h:166

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors