/
usr
/
include
/
isc
/
/usr/include/isc
mkdir
upload
Name
Size
Mode
Actions
app.h
10535
0644
edit
dl
rm
assertions.h
3314
0644
edit
dl
rm
atomic.h
4258
0644
edit
dl
rm
base64.h
2967
0644
edit
dl
rm
bind9.h
1185
0644
edit
dl
rm
bitstring.h
4478
0644
edit
dl
rm
boolean.h
1212
0644
edit
dl
rm
buffer.h
22941
0644
edit
dl
rm
bufferlist.h
1979
0644
edit
dl
rm
commandline.h
1823
0644
edit
dl
rm
condition.h
2011
0644
edit
dl
rm
counter.h
2328
0644
edit
dl
rm
dir.h
2569
0644
edit
dl
rm
entropy.h
9444
0644
edit
dl
rm
error.h
1871
0644
edit
dl
rm
event.h
3360
0644
edit
dl
rm
eventclass.h
1915
0644
edit
dl
rm
file.h
9259
0644
edit
dl
rm
formatcheck.h
1423
0644
edit
dl
rm
fsaccess.h
7954
0644
edit
dl
rm
hash.h
5973
0644
edit
dl
rm
heap.h
5754
0644
edit
dl
rm
hex.h
2911
0644
edit
dl
rm
hmacmd5.h
1964
0644
edit
dl
rm
httpd.h
2029
0644
edit
dl
rm
int.h
1873
0644
edit
dl
rm
interfaceiter.h
3631
0644
edit
dl
rm
iterated_hash.h
1512
0644
edit
dl
rm
keyboard.h
1510
0644
edit
dl
rm
lang.h
1158
0644
edit
dl
rm
lex.h
9653
0644
edit
dl
rm
lfsr.h
3480
0644
edit
dl
rm
lib.h
1594
0644
edit
dl
rm
list.h
5887
0644
edit
dl
rm
log.h
28964
0644
edit
dl
rm
magic.h
1471
0644
edit
dl
rm
md5.h
2527
0644
edit
dl
rm
mem.h
21767
0644
edit
dl
rm
msgcat.h
3256
0644
edit
dl
rm
msgs.h
8862
0644
edit
dl
rm
mutex.h
4061
0644
edit
dl
rm
mutexblock.h
1902
0644
edit
dl
rm
namespace.h
7184
0644
edit
dl
rm
net.h
9269
0644
edit
dl
rm
netaddr.h
4917
0644
edit
dl
rm
netdb.h
1392
0644
edit
dl
rm
offset.h
1898
0644
edit
dl
rm
once.h
1510
0644
edit
dl
rm
ondestroy.h
3327
0644
edit
dl
rm
os.h
1191
0644
edit
dl
rm
parseint.h
2058
0644
edit
dl
rm
platform.h
8623
0644
edit
dl
rm
print.h
2449
0644
edit
dl
rm
quota.h
2873
0644
edit
dl
rm
radix.h
7058
0644
edit
dl
rm
random.h
1826
0644
edit
dl
rm
ratelimiter.h
3564
0644
edit
dl
rm
refcount.h
6203
0644
edit
dl
rm
region.h
2497
0644
edit
dl
rm
resource.h
3396
0644
edit
dl
rm
result.h
4814
0644
edit
dl
rm
resultclass.h
2077
0644
edit
dl
rm
rwlock.h
3843
0644
edit
dl
rm
serial.h
1959
0644
edit
dl
rm
sha1.h
1806
0644
edit
dl
rm
sha2.h
5861
0644
edit
dl
rm
sockaddr.h
6578
0644
edit
dl
rm
socket.h
32969
0644
edit
dl
rm
stdio.h
2243
0644
edit
dl
rm
stdlib.h
1221
0644
edit
dl
rm
stdtime.h
1880
0644
edit
dl
rm
string.h
6404
0644
edit
dl
rm
symtab.h
4748
0644
edit
dl
rm
syslog.h
1373
0644
edit
dl
rm
task.h
19753
0644
edit
dl
rm
taskpool.h
3787
0644
edit
dl
rm
thread.h
1878
0644
edit
dl
rm
time.h
8045
0644
edit
dl
rm
timer.h
11285
0644
edit
dl
rm
types.h
5929
0644
edit
dl
rm
util.h
7934
0644
edit
dl
rm
version.h
1207
0644
edit
dl
rm
xml.h
1556
0644
edit
dl
rm
Edit:
/usr/include/isc/sockaddr.h
(6578B)
/* * Copyright (C) 2004-2007, 2009 Internet Systems Consortium, Inc. ("ISC") * Copyright (C) 1998-2003 Internet Software Consortium. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ /* $Id: sockaddr.h,v 1.57 2009-01-18 23:48:14 tbox Exp $ */ #ifndef ISC_SOCKADDR_H #define ISC_SOCKADDR_H 1 /*! \file isc/sockaddr.h */ #include <isc/lang.h> #include <isc/net.h> #include <isc/types.h> #ifdef ISC_PLATFORM_HAVESYSUNH #include <sys/un.h> #endif struct isc_sockaddr { union { struct sockaddr sa; struct sockaddr_in sin; struct sockaddr_in6 sin6; #ifdef ISC_PLATFORM_HAVESYSUNH struct sockaddr_un sunix; #endif } type; unsigned int length; /* XXXRTH beginning? */ ISC_LINK(struct isc_sockaddr) link; }; typedef ISC_LIST(struct isc_sockaddr) isc_sockaddrlist_t; #define ISC_SOCKADDR_CMPADDR 0x0001 /*%< compare the address * sin_addr/sin6_addr */ #define ISC_SOCKADDR_CMPPORT 0x0002 /*%< compare the port * sin_port/sin6_port */ #define ISC_SOCKADDR_CMPSCOPE 0x0004 /*%< compare the scope * sin6_scope */ #define ISC_SOCKADDR_CMPSCOPEZERO 0x0008 /*%< when comparing scopes * zero scopes always match */ ISC_LANG_BEGINDECLS isc_boolean_t isc_sockaddr_compare(const isc_sockaddr_t *a, const isc_sockaddr_t *b, unsigned int flags); /*%< * Compare the elements of the two address ('a' and 'b') as specified * by 'flags' and report if they are equal or not. * * 'flags' is set from ISC_SOCKADDR_CMP*. */ isc_boolean_t isc_sockaddr_equal(const isc_sockaddr_t *a, const isc_sockaddr_t *b); /*%< * Return ISC_TRUE iff the socket addresses 'a' and 'b' are equal. */ isc_boolean_t isc_sockaddr_eqaddr(const isc_sockaddr_t *a, const isc_sockaddr_t *b); /*%< * Return ISC_TRUE iff the address parts of the socket addresses * 'a' and 'b' are equal, ignoring the ports. */ isc_boolean_t isc_sockaddr_eqaddrprefix(const isc_sockaddr_t *a, const isc_sockaddr_t *b, unsigned int prefixlen); /*%< * Return ISC_TRUE iff the most significant 'prefixlen' bits of the * socket addresses 'a' and 'b' are equal, ignoring the ports. * If 'b''s scope is zero then 'a''s scope will be ignored. */ unsigned int isc_sockaddr_hash(const isc_sockaddr_t *sockaddr, isc_boolean_t address_only); /*%< * Return a hash value for the socket address 'sockaddr'. If 'address_only' * is ISC_TRUE, the hash value will not depend on the port. * * IPv6 addresses containing mapped IPv4 addresses generate the same hash * value as the equivalent IPv4 address. */ void isc_sockaddr_any(isc_sockaddr_t *sockaddr); /*%< * Return the IPv4 wildcard address. */ void isc_sockaddr_any6(isc_sockaddr_t *sockaddr); /*%< * Return the IPv6 wildcard address. */ void isc_sockaddr_anyofpf(isc_sockaddr_t *sockaddr, int family); /*%< * Set '*sockaddr' to the wildcard address of protocol family * 'family'. * * Requires: * \li 'family' is AF_INET or AF_INET6. */ void isc_sockaddr_fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina, in_port_t port); /*%< * Construct an isc_sockaddr_t from an IPv4 address and port. */ void isc_sockaddr_fromin6(isc_sockaddr_t *sockaddr, const struct in6_addr *ina6, in_port_t port); /*%< * Construct an isc_sockaddr_t from an IPv6 address and port. */ void isc_sockaddr_v6fromin(isc_sockaddr_t *sockaddr, const struct in_addr *ina, in_port_t port); /*%< * Construct an IPv6 isc_sockaddr_t representing a mapped IPv4 address. */ void isc_sockaddr_fromnetaddr(isc_sockaddr_t *sockaddr, const isc_netaddr_t *na, in_port_t port); /*%< * Construct an isc_sockaddr_t from an isc_netaddr_t and port. */ int isc_sockaddr_pf(const isc_sockaddr_t *sockaddr); /*%< * Get the protocol family of 'sockaddr'. * * Requires: * *\li 'sockaddr' is a valid sockaddr with an address family of AF_INET * or AF_INET6. * * Returns: * *\li The protocol family of 'sockaddr', e.g. PF_INET or PF_INET6. */ void isc_sockaddr_setport(isc_sockaddr_t *sockaddr, in_port_t port); /*%< * Set the port of 'sockaddr' to 'port'. */ in_port_t isc_sockaddr_getport(const isc_sockaddr_t *sockaddr); /*%< * Get the port stored in 'sockaddr'. */ isc_result_t isc_sockaddr_totext(const isc_sockaddr_t *sockaddr, isc_buffer_t *target); /*%< * Append a text representation of 'sockaddr' to the buffer 'target'. * The text will include both the IP address (v4 or v6) and the port. * The text is null terminated, but the terminating null is not * part of the buffer's used region. * * Returns: * \li ISC_R_SUCCESS * \li ISC_R_NOSPACE The text or the null termination did not fit. */ void isc_sockaddr_format(const isc_sockaddr_t *sa, char *array, unsigned int size); /*%< * Format a human-readable representation of the socket address '*sa' * into the character array 'array', which is of size 'size'. * The resulting string is guaranteed to be null-terminated. */ isc_boolean_t isc_sockaddr_ismulticast(const isc_sockaddr_t *sa); /*%< * Returns #ISC_TRUE if the address is a multicast address. */ isc_boolean_t isc_sockaddr_isexperimental(const isc_sockaddr_t *sa); /* * Returns ISC_TRUE if the address is a experimental (CLASS E) address. */ isc_boolean_t isc_sockaddr_islinklocal(const isc_sockaddr_t *sa); /*%< * Returns ISC_TRUE if the address is a link local address. */ isc_boolean_t isc_sockaddr_issitelocal(const isc_sockaddr_t *sa); /*%< * Returns ISC_TRUE if the address is a sitelocal address. */ isc_result_t isc_sockaddr_frompath(isc_sockaddr_t *sockaddr, const char *path); /* * Create a UNIX domain sockaddr that refers to path. * * Returns: * \li ISC_R_NOSPACE * \li ISC_R_NOTIMPLEMENTED * \li ISC_R_SUCCESS */ #define ISC_SOCKADDR_FORMATSIZE \ sizeof("xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:XXX.XXX.XXX.XXX%SSSSSSSSSS#YYYYY") /*%< * Minimum size of array to pass to isc_sockaddr_format(). */ ISC_LANG_ENDDECLS #endif /* ISC_SOCKADDR_H */
Save
cmd:
run