Annotation of embedaddon/ntp/lib/isc/win32/netdb.h, revision 1.1.1.1

1.1       misho       1: /*
                      2:  * Copyright (C) 2004, 2006, 2007, 2009  Internet Systems Consortium, Inc. ("ISC")
                      3:  * Copyright (C) 2000, 2001  Internet Software Consortium.
                      4:  *
                      5:  * Permission to use, copy, modify, and/or distribute this software for any
                      6:  * purpose with or without fee is hereby granted, provided that the above
                      7:  * copyright notice and this permission notice appear in all copies.
                      8:  *
                      9:  * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
                     10:  * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
                     11:  * AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
                     12:  * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
                     13:  * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
                     14:  * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
                     15:  * PERFORMANCE OF THIS SOFTWARE.
                     16:  */
                     17: 
                     18: /* $Id: netdb.h,v 1.7.332.2 2009/01/18 23:47:41 tbox Exp $ */
                     19: 
                     20: #ifndef NETDB_H
                     21: #define NETDB_H 1
                     22: 
                     23: #include <stddef.h>
                     24: #include <winsock2.h>
                     25: 
                     26: /*
                     27:  * Define if <netdb.h> does not declare struct addrinfo.
                     28:  */
                     29: 
                     30: struct addrinfo {
                     31:        int             ai_flags;      /* AI_PASSIVE, AI_CANONNAME */
                     32:        int             ai_family;     /* PF_xxx */
                     33:        int             ai_socktype;   /* SOCK_xxx */
                     34:        int             ai_protocol;   /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
                     35:        size_t          ai_addrlen;    /* Length of ai_addr */
                     36:        char            *ai_canonname; /* Canonical name for hostname */
                     37:        struct sockaddr *ai_addr;      /* Binary address */
                     38:        struct addrinfo *ai_next;      /* Next structure in linked list */
                     39: };
                     40: 
                     41: 
                     42: /*
                     43:  * Undefine all \#defines we are interested in as <netdb.h> may or may not have
                     44:  * defined them.
                     45:  */
                     46: 
                     47: /*
                     48:  * Error return codes from gethostbyname() and gethostbyaddr()
                     49:  * (left in extern int h_errno).
                     50:  */
                     51: 
                     52: #undef NETDB_INTERNAL
                     53: #undef NETDB_SUCCESS
                     54: #undef HOST_NOT_FOUND
                     55: #undef TRY_AGAIN
                     56: #undef NO_RECOVERY
                     57: #undef NO_DATA
                     58: #undef NO_ADDRESS
                     59: 
                     60: #define        NETDB_INTERNAL  -1      /* see errno */
                     61: #define        NETDB_SUCCESS   0       /* no problem */
                     62: #define        HOST_NOT_FOUND  1 /* Authoritative Answer Host not found */
                     63: #define        TRY_AGAIN       2 /* Non-Authoritative Host not found, or SERVERFAIL */
                     64: #define        NO_RECOVERY     3 /* Non recoverable errors, FORMERR, REFUSED, NOTIMP */
                     65: #define        NO_DATA         4 /* Valid name, no data record of requested type */
                     66: #define        NO_ADDRESS      NO_DATA         /* no address, look for MX record */
                     67: 
                     68: /*
                     69:  * Error return codes from getaddrinfo()
                     70:  */
                     71: 
                     72: #undef EAI_ADDRFAMILY
                     73: #undef EAI_AGAIN
                     74: #undef EAI_BADFLAGS
                     75: #undef EAI_FAIL
                     76: #undef EAI_FAMILY
                     77: #undef EAI_MEMORY
                     78: #undef EAI_NODATA
                     79: #undef EAI_NONAME
                     80: #undef EAI_SERVICE
                     81: #undef EAI_SOCKTYPE
                     82: #undef EAI_SYSTEM
                     83: #undef EAI_BADHINTS
                     84: #undef EAI_PROTOCOL
                     85: #undef EAI_MAX
                     86: 
                     87: #define        EAI_ADDRFAMILY   1      /* address family for hostname not supported */
                     88: #define        EAI_AGAIN        2      /* temporary failure in name resolution */
                     89: #define        EAI_BADFLAGS     3      /* invalid value for ai_flags */
                     90: #define        EAI_FAIL         4      /* non-recoverable failure in name resolution */
                     91: #define        EAI_FAMILY       5      /* ai_family not supported */
                     92: #define        EAI_MEMORY       6      /* memory allocation failure */
                     93: #define        EAI_NODATA       7      /* no address associated with hostname */
                     94: #define        EAI_NONAME       8      /* hostname nor servname provided, or not known */
                     95: #define        EAI_SERVICE      9      /* servname not supported for ai_socktype */
                     96: #define        EAI_SOCKTYPE    10      /* ai_socktype not supported */
                     97: #define        EAI_SYSTEM      11      /* system error returned in errno */
                     98: #define EAI_BADHINTS   12
                     99: #define EAI_PROTOCOL   13
                    100: #define EAI_MAX                14
                    101: 
                    102: /*
                    103:  * Flag values for getaddrinfo()
                    104:  */
                    105: #undef AI_PASSIVE
                    106: #undef AI_CANONNAME
                    107: #undef AI_NUMERICHOST
                    108: 
                    109: #define        AI_PASSIVE      0x00000001
                    110: #define        AI_CANONNAME    0x00000002
                    111: #define AI_NUMERICHOST 0x00000004
                    112: 
                    113: /*
                    114:  * Flag values for getipnodebyname()
                    115:  */
                    116: #undef AI_V4MAPPED
                    117: #undef AI_ALL
                    118: #undef AI_ADDRCONFIG
                    119: #undef AI_DEFAULT
                    120: 
                    121: #define AI_V4MAPPED    0x00000008
                    122: #define AI_ALL         0x00000010
                    123: #define AI_ADDRCONFIG  0x00000020
                    124: #define AI_DEFAULT     (AI_V4MAPPED|AI_ADDRCONFIG)
                    125: 
                    126: /*
                    127:  * Constants for getnameinfo()
                    128:  */
                    129: #undef NI_MAXHOST
                    130: #undef NI_MAXSERV
                    131: 
                    132: #define        NI_MAXHOST      1025
                    133: #define        NI_MAXSERV      32
                    134: 
                    135: /*
                    136:  * Flag values for getnameinfo()
                    137:  */
                    138: #undef NI_NOFQDN
                    139: #undef NI_NUMERICHOST
                    140: #undef NI_NAMEREQD
                    141: #undef NI_NUMERICSERV
                    142: #undef NI_DGRAM
                    143: #undef NI_NUMERICSCOPE
                    144: 
                    145: #define        NI_NOFQDN       0x00000001
                    146: #define        NI_NUMERICHOST  0x00000002
                    147: #define        NI_NAMEREQD     0x00000004
                    148: #define        NI_NUMERICSERV  0x00000008
                    149: #define        NI_DGRAM        0x00000010
                    150: #define        NI_NUMERICSCOPE 0x00000020      /*2553bis-00*/
                    151: 
                    152: /*
                    153:  * Structures for getrrsetbyname()
                    154:  */
                    155: struct rdatainfo {
                    156:        unsigned int            rdi_length;
                    157:        unsigned char           *rdi_data;
                    158: };
                    159: 
                    160: struct rrsetinfo {
                    161:        unsigned int            rri_flags;
                    162:        int                     rri_rdclass;
                    163:        int                     rri_rdtype;
                    164:        unsigned int            rri_ttl;
                    165:        unsigned int            rri_nrdatas;
                    166:        unsigned int            rri_nsigs;
                    167:        char                    *rri_name;
                    168:        struct rdatainfo        *rri_rdatas;
                    169:        struct rdatainfo        *rri_sigs;
                    170: };
                    171: 
                    172: /*
                    173:  * Flags for getrrsetbyname()
                    174:  */
                    175: #define RRSET_VALIDATED                0x00000001
                    176:        /* Set was dnssec validated */
                    177: 
                    178: /*
                    179:  * Return codes for getrrsetbyname()
                    180:  */
                    181: #define ERRSET_SUCCESS         0
                    182: #define ERRSET_NOMEMORY                1
                    183: #define ERRSET_FAIL            2
                    184: #define ERRSET_INVAL           3
                    185: 
                    186: 
                    187: #endif /* NETDB_H */

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>