view src/core/ngx_inet.h @ 116:e38f51cd0905 NGINX_0_3_5

nginx 0.3.5 *) Bugfix: the segmentation fault may occurred if the IMAP/POP3 login was changed by authorization server; bug appeared in 0.2.2. *) Bugfix: the accept mutex did not work and all connections were handled by one process; bug appeared in 0.3.3. *) Bugfix: the timeout did not work if the "rtsig" method and the "timer_resolution" directive were used.
author Igor Sysoev <http://sysoev.ru>
date Fri, 21 Oct 2005 00:00:00 +0400
parents 7ca9bdc82b3f
children d2ae1c9f1fd3
line wrap: on
line source


/*
 * Copyright (C) Igor Sysoev
 */


#ifndef _NGX_INET_H_INCLUDED_
#define _NGX_INET_H_INCLUDED_


#include <ngx_config.h>
#include <ngx_core.h>


typedef struct {
    in_addr_t  addr;
    in_addr_t  mask;
} ngx_inet_cidr_t;


typedef struct {
    ngx_str_t     name;           /* "schema:host:port/uri" */
    ngx_str_t     url;            /* "host:port/uri" */
    ngx_str_t     host;
    ngx_str_t     uri;
    ngx_str_t     host_header;    /* "host:port" */
    ngx_str_t     port_text;      /* "port" */

    in_port_t     port;

    in_port_t     default_port_value;

    unsigned      default_port:1;
    unsigned      wildcard:1;

    unsigned      uri_part:1;
    unsigned      port_only:1;
} ngx_inet_upstream_t;


size_t ngx_sock_ntop(int family, struct sockaddr *sa, u_char *text,
                     size_t len);
size_t ngx_inet_ntop(int family, void *addr, u_char *text, size_t len);

ngx_int_t ngx_ptocidr(ngx_str_t *text, void *cidr);

ngx_peers_t *ngx_inet_upstream_parse(ngx_conf_t *cf, ngx_inet_upstream_t *u);
char *ngx_inet_parse_host_port(ngx_inet_upstream_t *u);


#endif /* _NGX_INET_H_INCLUDED_ */