/* * Copyright (C) Internet Systems Consortium, Inc. ("ISC") * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * See the COPYRIGHT file distributed with this work for additional * information regarding copyright ownership. */ #ifndef ISC_REGION_H #define ISC_REGION_H 1 /*! \file isc/region.h */ #include <isc/types.h> #include <isc/lang.h> struct isc_region { unsigned char * base; unsigned int length; }; struct isc_textregion { char * base; unsigned int length; }; /* XXXDCL questionable ... bears discussion. we have been putting off * discussing the region api. */ struct isc_constregion { const void * base; unsigned int length; }; struct isc_consttextregion { const char * base; unsigned int length; }; /*@{*/ /*! * The region structure is not opaque, and is usually directly manipulated. * Some macros are defined below for convenience. */ #define isc_region_consume(r,l) \ do { \ isc_region_t *_r = (r); \ unsigned int _l = (l); \ INSIST(_r->length >= _l); \ _r->base += _l; \ _r->length -= _l; \ } while (0) #define isc_textregion_consume(r,l) \ do { \ isc_textregion_t *_r = (r); \ unsigned int _l = (l); \ INSIST(_r->length >= _l); \ _r->base += _l; \ _r->length -= _l; \ } while (0) #define isc_constregion_consume(r,l) \ do { \ isc_constregion_t *_r = (r); \ unsigned int _l = (l); \ INSIST(_r->length >= _l); \ _r->base += _l; \ _r->length -= _l; \ } while (0) /*@}*/ ISC_LANG_BEGINDECLS int isc_region_compare(isc_region_t *r1, isc_region_t *r2); /*%< * Compares the contents of two regions * * Requires: *\li 'r1' is a valid region *\li 'r2' is a valid region * * Returns: *\li < 0 if r1 is lexicographically less than r2 *\li = 0 if r1 is lexicographically identical to r2 *\li > 0 if r1 is lexicographically greater than r2 */ ISC_LANG_ENDDECLS #endif /* ISC_REGION_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
aes.h | File | 1.05 KB | 0644 |
|
app.h | File | 10.23 KB | 0644 |
|
assertions.h | File | 2.78 KB | 0644 |
|
atomic.h | File | 4.15 KB | 0644 |
|
backtrace.h | File | 3.8 KB | 0644 |
|
base32.h | File | 3.94 KB | 0644 |
|
base64.h | File | 2.39 KB | 0644 |
|
bind9.h | File | 849 B | 0644 |
|
boolean.h | File | 746 B | 0644 |
|
buffer.h | File | 25.69 KB | 0644 |
|
bufferlist.h | File | 1.42 KB | 0644 |
|
commandline.h | File | 1.69 KB | 0644 |
|
condition.h | File | 1.44 KB | 0644 |
|
counter.h | File | 1.88 KB | 0644 |
|
crc64.h | File | 986 B | 0644 |
|
deprecated.h | File | 622 B | 0644 |
|
dir.h | File | 1.96 KB | 0644 |
|
entropy.h | File | 8.76 KB | 0644 |
|
errno.h | File | 658 B | 0644 |
|
errno2result.h | File | 893 B | 0644 |
|
error.h | File | 1.4 KB | 0644 |
|
event.h | File | 2.98 KB | 0644 |
|
eventclass.h | File | 1.35 KB | 0644 |
|
file.h | File | 11.43 KB | 0644 |
|
formatcheck.h | File | 892 B | 0644 |
|
fsaccess.h | File | 7.25 KB | 0644 |
|
hash.h | File | 7.52 KB | 0644 |
|
heap.h | File | 5.14 KB | 0644 |
|
hex.h | File | 2.33 KB | 0644 |
|
hmacmd5.h | File | 1.75 KB | 0644 |
|
hmacsha.h | File | 4.44 KB | 0644 |
|
ht.h | File | 4.29 KB | 0644 |
|
httpd.h | File | 2.26 KB | 0644 |
|
int.h | File | 1.37 KB | 0644 |
|
interfaceiter.h | File | 3.03 KB | 0644 |
|
iterated_hash.h | File | 1.02 KB | 0644 |
|
json.h | File | 1.42 KB | 0644 |
|
keyboard.h | File | 976 B | 0644 |
|
lang.h | File | 636 B | 0644 |
|
lex.h | File | 9.42 KB | 0644 |
|
lfsr.h | File | 2.88 KB | 0644 |
|
lib.h | File | 1.04 KB | 0644 |
|
likely.h | File | 718 B | 0644 |
|
list.h | File | 5.65 KB | 0644 |
|
log.h | File | 28.06 KB | 0644 |
|
magic.h | File | 993 B | 0644 |
|
md5.h | File | 2.34 KB | 0644 |
|
mem.h | File | 20.63 KB | 0644 |
|
meminfo.h | File | 690 B | 0644 |
|
msgcat.h | File | 2.66 KB | 0644 |
|
msgs.h | File | 8.22 KB | 0644 |
|
mutex.h | File | 3.44 KB | 0644 |
|
mutexblock.h | File | 1.34 KB | 0644 |
|
net.h | File | 10.32 KB | 0644 |
|
netaddr.h | File | 4.56 KB | 0644 |
|
netdb.h | File | 862 B | 0644 |
|
netscope.h | File | 947 B | 0644 |
|
offset.h | File | 699 B | 0644 |
|
once.h | File | 981 B | 0644 |
|
ondestroy.h | File | 2.79 KB | 0644 |
|
os.h | File | 670 B | 0644 |
|
parseint.h | File | 1.49 KB | 0644 |
|
platform.h | File | 9.31 KB | 0644 |
|
pool.h | File | 3.42 KB | 0644 |
|
portset.h | File | 3.21 KB | 0644 |
|
print.h | File | 2.49 KB | 0644 |
|
queue.h | File | 4.66 KB | 0644 |
|
quota.h | File | 2.29 KB | 0644 |
|
radix.h | File | 6.37 KB | 0644 |
|
random.h | File | 2.99 KB | 0644 |
|
ratelimiter.h | File | 3.38 KB | 0644 |
|
refcount.h | File | 7.89 KB | 0644 |
|
regex.h | File | 766 B | 0644 |
|
region.h | File | 1.99 KB | 0644 |
|
resource.h | File | 2.8 KB | 0644 |
|
result.h | File | 4.62 KB | 0644 |
|
resultclass.h | File | 1.56 KB | 0644 |
|
rwlock.h | File | 3.6 KB | 0644 |
|
safe.h | File | 1.21 KB | 0644 |
|
serial.h | File | 1.4 KB | 0644 |
|
sha1.h | File | 1.52 KB | 0644 |
|
sha2.h | File | 5.65 KB | 0644 |
|
sockaddr.h | File | 6 KB | 0644 |
|
socket.h | File | 35.81 KB | 0644 |
|
stat.h | File | 805 B | 0644 |
|
stats.h | File | 3.02 KB | 0644 |
|
stdio.h | File | 1.74 KB | 0644 |
|
stdlib.h | File | 703 B | 0644 |
|
stdtime.h | File | 1.3 KB | 0644 |
|
strerror.h | File | 776 B | 0644 |
|
string.h | File | 5.94 KB | 0644 |
|
symtab.h | File | 4.21 KB | 0644 |
|
syslog.h | File | 843 B | 0644 |
|
task.h | File | 21.08 KB | 0644 |
|
taskpool.h | File | 3.61 KB | 0644 |
|
thread.h | File | 1.47 KB | 0644 |
|
time.h | File | 8.66 KB | 0644 |
|
timer.h | File | 10.54 KB | 0644 |
|
tm.h | File | 894 B | 0644 |
|
types.h | File | 5.54 KB | 0644 |
|
util.h | File | 7.49 KB | 0644 |
|
version.h | File | 688 B | 0644 |
|
xml.h | File | 1.07 KB | 0644 |
|