Groonga 3.0.9 Source Code Document
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Pages
groonga
vendor
nginx-1.4.2
src
core
ngx_inet.h
Go to the documentation of this file.
1
2
/*
3
* Copyright (C) Igor Sysoev
4
* Copyright (C) Nginx, Inc.
5
*/
6
7
8
#ifndef _NGX_INET_H_INCLUDED_
9
#define _NGX_INET_H_INCLUDED_
10
11
12
#include <
ngx_config.h
>
13
#include <
ngx_core.h
>
14
15
16
/*
17
* TODO: autoconfigure NGX_SOCKADDRLEN and NGX_SOCKADDR_STRLEN as
18
* sizeof(struct sockaddr_storage)
19
* sizeof(struct sockaddr_un)
20
* sizeof(struct sockaddr_in6)
21
* sizeof(struct sockaddr_in)
22
*/
23
24
#define NGX_INET_ADDRSTRLEN (sizeof("255.255.255.255") - 1)
25
#define NGX_INET6_ADDRSTRLEN \
26
(sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255") - 1)
27
#define NGX_UNIX_ADDRSTRLEN \
28
(sizeof(struct sockaddr_un) - offsetof(struct sockaddr_un, sun_path))
29
30
#if (NGX_HAVE_UNIX_DOMAIN)
31
#define NGX_SOCKADDR_STRLEN (sizeof("unix:") - 1 + NGX_UNIX_ADDRSTRLEN)
32
#else
33
#define NGX_SOCKADDR_STRLEN (NGX_INET6_ADDRSTRLEN + sizeof("[]:65535") - 1)
34
#endif
35
36
#if (NGX_HAVE_UNIX_DOMAIN)
37
#define NGX_SOCKADDRLEN sizeof(struct sockaddr_un)
38
#else
39
#define NGX_SOCKADDRLEN 512
40
#endif
41
42
43
typedef
struct
{
44
in_addr_t
addr
;
45
in_addr_t
mask
;
46
}
ngx_in_cidr_t
;
47
48
49
#if (NGX_HAVE_INET6)
50
51
typedef
struct
{
52
struct
in6_addr addr;
53
struct
in6_addr mask;
54
} ngx_in6_cidr_t;
55
56
#endif
57
58
59
typedef
struct
{
60
ngx_uint_t
family
;
61
union
{
62
ngx_in_cidr_t
in
;
63
#if (NGX_HAVE_INET6)
64
ngx_in6_cidr_t in6;
65
#endif
66
} u;
67
}
ngx_cidr_t
;
68
69
70
typedef
struct
{
71
struct
sockaddr *
sockaddr
;
72
socklen_t
socklen
;
73
ngx_str_t
name
;
74
}
ngx_addr_t
;
75
76
77
typedef
struct
{
78
ngx_str_t
url
;
79
ngx_str_t
host
;
80
ngx_str_t
port_text
;
81
ngx_str_t
uri
;
82
83
in_port_t
port
;
84
in_port_t
default_port
;
85
int
family
;
86
87
unsigned
listen:1;
88
unsigned
uri_part:1;
89
unsigned
no_resolve:1;
90
unsigned
one_addr:1;
/* compatibility */
91
92
unsigned
no_port:1;
93
unsigned
wildcard:1;
94
95
socklen_t
socklen
;
96
u_char sockaddr[
NGX_SOCKADDRLEN
];
97
98
ngx_addr_t
*
addrs
;
99
ngx_uint_t
naddrs
;
100
101
char
*
err
;
102
}
ngx_url_t
;
103
104
105
in_addr_t
ngx_inet_addr
(u_char *text,
size_t
len);
106
#if (NGX_HAVE_INET6)
107
ngx_int_t
ngx_inet6_addr(u_char *p,
size_t
len, u_char *addr);
108
size_t
ngx_inet6_ntop(u_char *p, u_char *text,
size_t
len);
109
#endif
110
size_t
ngx_sock_ntop
(
struct
sockaddr *sa, u_char *text,
size_t
len,
111
ngx_uint_t
port);
112
size_t
ngx_inet_ntop
(
int
family,
void
*addr, u_char *text,
size_t
len);
113
ngx_int_t
ngx_ptocidr
(
ngx_str_t
*text,
ngx_cidr_t
*cidr);
114
ngx_int_t
ngx_parse_addr
(
ngx_pool_t
*pool,
ngx_addr_t
*addr, u_char *text,
115
size_t
len);
116
ngx_int_t
ngx_parse_url
(
ngx_pool_t
*pool,
ngx_url_t
*u);
117
ngx_int_t
ngx_inet_resolve_host
(
ngx_pool_t
*pool,
ngx_url_t
*u);
118
119
120
#endif
/* _NGX_INET_H_INCLUDED_ */
Generated on Sun Nov 10 2013 09:49:06 for Groonga 3.0.9 Source Code Document by
1.8.1.2