Annotation of embedaddon/ntp/lib/isc/win32/netdb.h, revision 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>