php-internal-docs
8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
php_dns.h
Go to the documentation of this file.
1
/*
2
+----------------------------------------------------------------------+
3
| Copyright (c) The PHP Group |
4
+----------------------------------------------------------------------+
5
| This source file is subject to version 3.01 of the PHP license, |
6
| that is bundled with this package in the file LICENSE, and is |
7
| available through the world-wide-web at the following url: |
8
| https://www.php.net/license/3_01.txt |
9
| If you did not receive a copy of the PHP license and are unable to |
10
| obtain it through the world-wide-web, please send a note to |
11
| license@php.net so we can mail you a copy immediately. |
12
+----------------------------------------------------------------------+
13
| Authors: The typical suspects |
14
| Marcus Boerger <helly@php.net> |
15
| Pollita <pollita@php.net> |
16
+----------------------------------------------------------------------+
17
*/
18
19
#ifndef PHP_DNS_H
20
#define PHP_DNS_H
21
22
#if defined(HAVE_DNS_SEARCH)
23
#define php_dns_search(res, dname, class, type, answer, anslen) \
24
((int)dns_search(res, dname, class, type, (char *) answer, anslen, (struct sockaddr *)&from, &fromsize))
25
#define php_dns_free_handle(res) \
26
dns_free(res)
27
#define php_dns_errno(handle) h_errno
28
29
#elif defined(HAVE_RES_NSEARCH)
30
#define php_dns_search(res, dname, class, type, answer, anslen) \
31
res_nsearch(res, dname, class, type, answer, anslen);
32
#ifdef HAVE_RES_NDESTROY
33
#define php_dns_free_handle(res) \
34
res_ndestroy(res); \
35
php_dns_free_res(res)
36
#else
37
#define php_dns_free_handle(res) \
38
res_nclose(res); \
39
php_dns_free_res(res)
40
#endif
41
#define php_dns_errno(handle) handle->res_h_errno
42
43
#elif defined(HAVE_RES_SEARCH)
44
#define php_dns_search(res, dname, class, type, answer, anslen) \
45
res_search(dname, class, type, answer, anslen)
46
#define php_dns_free_handle(res)
/* noop */
47
#define php_dns_errno(handle) h_errno
48
49
#endif
50
51
#if defined(HAVE_DNS_SEARCH) || defined(HAVE_RES_NSEARCH) || defined(HAVE_RES_SEARCH)
52
#define HAVE_DNS_SEARCH_FUNC 1
53
#endif
54
55
#if defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_DN_EXPAND) && defined(HAVE_DN_SKIPNAME)
56
#define HAVE_FULL_DNS_FUNCS 1
57
#endif
58
59
#if defined(PHP_WIN32) || (defined(HAVE_DNS_SEARCH_FUNC) && defined(HAVE_FULL_DNS_FUNCS))
60
#define PHP_DNS_A 0x00000001
61
#define PHP_DNS_NS 0x00000002
62
#define PHP_DNS_CNAME 0x00000010
63
#define PHP_DNS_SOA 0x00000020
64
#define PHP_DNS_PTR 0x00000800
65
#define PHP_DNS_HINFO 0x00001000
66
#if !defined(PHP_WIN32)
67
# define PHP_DNS_CAA 0x00002000
68
#endif
69
#define PHP_DNS_MX 0x00004000
70
#define PHP_DNS_TXT 0x00008000
71
#define PHP_DNS_A6 0x01000000
72
#define PHP_DNS_SRV 0x02000000
73
#define PHP_DNS_NAPTR 0x04000000
74
#define PHP_DNS_AAAA 0x08000000
75
#define PHP_DNS_ANY 0x10000000
76
77
#if defined(PHP_WIN32)
78
# define PHP_DNS_NUM_TYPES 12
/* Number of DNS Types Supported by PHP currently */
79
# define PHP_DNS_ALL (PHP_DNS_A|PHP_DNS_NS|PHP_DNS_CNAME|PHP_DNS_SOA|PHP_DNS_PTR|PHP_DNS_HINFO|PHP_DNS_MX|PHP_DNS_TXT|PHP_DNS_A6|PHP_DNS_SRV|PHP_DNS_NAPTR|PHP_DNS_AAAA)
80
#else
81
# define PHP_DNS_NUM_TYPES 13
/* Number of DNS Types Supported by PHP currently */
82
# define PHP_DNS_ALL (PHP_DNS_A|PHP_DNS_NS|PHP_DNS_CNAME|PHP_DNS_SOA|PHP_DNS_PTR|PHP_DNS_HINFO|PHP_DNS_CAA|PHP_DNS_MX|PHP_DNS_TXT|PHP_DNS_A6|PHP_DNS_SRV|PHP_DNS_NAPTR|PHP_DNS_AAAA)
83
#endif
84
#endif
85
86
#ifndef INT16SZ
87
#define INT16SZ 2
88
#endif
89
90
#ifndef INT32SZ
91
#define INT32SZ 4
92
#endif
93
94
#endif
/* PHP_DNS_H */
ext
standard
php_dns.h
Generated on Sat Aug 23 2025 01:46:12 for php-internal-docs by
1.13.2