Line data Source code
1 : /* Copyright (C) 1997-2014 Free Software Foundation, Inc.
2 : This file is part of the GNU C Library.
3 :
4 : The GNU C Library is free software; you can redistribute it and/or
5 : modify it under the terms of the GNU Lesser General Public
6 : License as published by the Free Software Foundation; either
7 : version 2.1 of the License, or (at your option) any later version.
8 :
9 : The GNU C Library is distributed in the hope that it will be useful,
10 : but WITHOUT ANY WARRANTY; without even the implied warranty of
11 : MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 : Lesser General Public License for more details.
13 :
14 : You should have received a copy of the GNU Lesser General Public
15 : License along with the GNU C Library; if not, see
16 : <http://www.gnu.org/licenses/>. */
17 :
18 : #ifndef _ARPA_INET_H
19 : #define _ARPA_INET_H 1
20 :
21 : #include <features.h>
22 : #include <netinet/in.h> /* To define `struct in_addr'. */
23 :
24 : /* Type for length arguments in socket calls. */
25 : #ifndef __socklen_t_defined
26 : typedef __socklen_t socklen_t;
27 : # define __socklen_t_defined
28 : #endif
29 :
30 : __BEGIN_DECLS
31 :
32 : /* Convert Internet host address from numbers-and-dots notation in CP
33 : into binary data in network byte order. */
34 : extern in_addr_t inet_addr (const char *__cp) __THROW;
35 :
36 : /* Return the local host address part of the Internet address in IN. */
37 : extern in_addr_t inet_lnaof (struct in_addr __in) __THROW;
38 :
39 : /* Make Internet host address in network byte order by combining the
40 : network number NET with the local address HOST. */
41 : extern struct in_addr inet_makeaddr (in_addr_t __net, in_addr_t __host)
42 : __THROW;
43 :
44 : /* Return network number part of the Internet address IN. */
45 : extern in_addr_t inet_netof (struct in_addr __in) __THROW;
46 :
47 : /* Extract the network number in network byte order from the address
48 : in numbers-and-dots natation starting at CP. */
49 : extern in_addr_t inet_network (const char *__cp) __THROW;
50 :
51 : /* Convert Internet number in IN to ASCII representation. The return value
52 : is a pointer to an internal array containing the string. */
53 : extern char *inet_ntoa (struct in_addr __in) __THROW;
54 :
55 : /* Convert from presentation format of an Internet number in buffer
56 : starting at CP to the binary network format and store result for
57 : interface type AF in buffer starting at BUF. */
58 : extern int inet_pton (int __af, const char *__restrict __cp,
59 : void *__restrict __buf) __THROW;
60 :
61 : /* Convert a Internet address in binary network format for interface
62 : type AF in buffer starting at CP to presentation form and place
63 : result in buffer of length LEN astarting at BUF. */
64 : extern const char *inet_ntop (int __af, const void *__restrict __cp,
65 : char *__restrict __buf, socklen_t __len)
66 : __THROW;
67 :
68 :
69 : /* The following functions are not part of XNS 5.2. */
70 : #ifdef __USE_MISC
71 : /* Convert Internet host address from numbers-and-dots notation in CP
72 : into binary data and store the result in the structure INP. */
73 : extern int inet_aton (const char *__cp, struct in_addr *__inp) __THROW;
74 :
75 : /* Format a network number NET into presentation format and place result
76 : in buffer starting at BUF with length of LEN bytes. */
77 : extern char *inet_neta (in_addr_t __net, char *__buf, size_t __len) __THROW;
78 :
79 : /* Convert network number for interface type AF in buffer starting at
80 : CP to presentation format. The result will specifiy BITS bits of
81 : the number. */
82 1083 : extern char *inet_net_ntop (int __af, const void *__cp, int __bits,
83 : char *__buf, size_t __len) __THROW;
84 :
85 : /* Convert network number for interface type AF from presentation in
86 : buffer starting at CP to network format and store result int
87 : buffer starting at BUF of size LEN. */
88 337 : extern int inet_net_pton (int __af, const char *__cp,
89 : void *__buf, size_t __len) __THROW;
90 :
91 : /* Convert ASCII representation in hexadecimal form of the Internet
92 : address to binary form and place result in buffer of length LEN
93 : starting at BUF. */
94 : extern unsigned int inet_nsap_addr (const char *__cp,
95 : unsigned char *__buf, int __len) __THROW;
96 :
97 : /* Convert internet address in binary form in LEN bytes starting at CP
98 : a presentation form and place result in BUF. */
99 : extern char *inet_nsap_ntoa (int __len, const unsigned char *__cp,
100 : char *__buf) __THROW;
101 : #endif
102 :
103 : __END_DECLS
104 :
105 : #endif /* arpa/inet.h */
|