.TH "libnet-macros.h" 3 "Thu Mar 29 2012" "Version 1.1" "libnet" \" -*- nroff -*-
.ad l
.nh
.SH NAME
libnet-macros.h \-
.PP
libnet macros and symbolic constants
.SH SYNOPSIS
.br
.PP
.SS "Defines"
.in +1c
.ti -1c
.RI "#define \fBLIBNET_DONT_RESOLVE\fP 0"
.br
.ti -1c
.RI "#define \fBLIBNET_RESOLVE\fP 1"
.br
.ti -1c
.RI "#define \fBLIBNET_ON\fP 0"
.br
.ti -1c
.RI "#define \fBLIBNET_OFF\fP 1"
.br
.ti -1c
.RI "#define \fBIN6ADDR_ERROR_INIT\fP"
.br
.ti -1c
.RI "#define \fBLIBNET_PR2\fP 0"
.br
.ti -1c
.RI "#define \fBLIBNET_PR8\fP 1"
.br
.ti -1c
.RI "#define \fBLIBNET_PR16\fP 2"
.br
.ti -1c
.RI "#define \fBLIBNET_PRu16\fP 3"
.br
.ti -1c
.RI "#define \fBLIBNET_PR32\fP 4"
.br
.ti -1c
.RI "#define \fBLIBNET_PRu32\fP 5"
.br
.ti -1c
.RI "#define \fBLIBNET_PRAND_MAX\fP 0xffffffff"
.br
.ti -1c
.RI "#define \fBLIBNET_MAX_PACKET\fP 0xffff"
.br
.ti -1c
.RI "#define \fBIP_MAXPACKET\fP 0xffff"
.br
.ti -1c
.RI "#define \fBETHER_ADDR_LEN\fP 0x6"
.br
.ti -1c
.RI "#define \fBFDDI_ADDR_LEN\fP 0x6"
.br
.ti -1c
.RI "#define \fBTOKEN_RING_ADDR_LEN\fP 0x6"
.br
.ti -1c
.RI "#define \fBLIBNET_ORG_CODE_SIZE\fP 0x3"
.br
.ti -1c
.RI "#define \fBLIBNET_ERRBUF_SIZE\fP 0x100"
.br
.ti -1c
.RI "#define \fBLIBNET_MAXOPTION_SIZE\fP 0x28"
.br
.ti -1c
.RI "#define \fBFIX\fP(n) (n)"
.br
.ti -1c
.RI "#define \fBUNFIX\fP(n) (n)"
.br
.ti -1c
.RI "#define \fBLIBNET_DO_PAYLOAD\fP(l, p)"
.br
.ti -1c
.RI "#define \fBLIBNET_CKSUM_CARRY\fP(x) (x = (x >> 16) + (x & 0xffff), (~(x + (x >> 16)) & 0xffff))"
.br
.ti -1c
.RI "#define \fBLIBNET_OSPF_AUTHCPY\fP(x, y) memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))"
.br
.ti -1c
.RI "#define \fBLIBNET_OSPF_CKSUMBUF\fP(x, y) memcpy((uint8_t *)x, (uint8_t *)y, sizeof(y))"
.br
.ti -1c
.RI "#define \fBLIBNET_NTP_DO_LI_VN_MODE\fP(li, vn, md) ((uint8_t)((((li) << 6) & 0xc0) | (((vn) << 3) & 0x38) | ((md) & 0x7)))"
.br
.ti -1c
.RI "#define \fBLIBNET_ISLOOPBACK\fP(p) (strcmp((p)->ifr_name, 'lo') == 0)"
.br
.ti -1c
.RI "#define \fBLIBNET_ISADVMODE\fP(x) (x & 0x08)"
.br
.ti -1c
.RI "#define \fBLIBNET_LABEL_SIZE\fP 64"
.br
.ti -1c
.RI "#define \fBLIBNET_LABEL_DEFAULT\fP 'cardshark'"
.br
.ti -1c
.RI "#define \fBCQ_LOCK_UNLOCKED\fP (u_int)0x00000000"
.br
.ti -1c
.RI "#define \fBCQ_LOCK_READ\fP (u_int)0x00000001"
.br
.ti -1c
.RI "#define \fBCQ_LOCK_WRITE\fP (u_int)0x00000002"
.br
.ti -1c
.RI "#define \fBfor_each_context_in_cq\fP(l) for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())"
.br
.ti -1c
.RI "#define \fBcq_is_wlocked\fP() (l_cqd.cq_lock & CQ_LOCK_WRITE)"
.br
.ti -1c
.RI "#define \fBcq_is_rlocked\fP() (l_cqd.cq_lock & CQ_LOCK_READ)"
.br
.ti -1c
.RI "#define \fBcq_is_locked\fP() (l_cqd.cq_lock & (CQ_LOCK_READ | CQ_LOCK_WRITE))"
.br
.ti -1c
.RI "#define \fBcheck_cq_lock\fP(x) (l_cqd.cq_lock & x)"
.br
.in -1c
.SH "Detailed Description"
.PP
libnet macros and symbolic constants
.SH "Define Documentation"
.PP
.SS "#define for_each_context_in_cq(l) for (l = libnet_cq_head(); libnet_cq_last(); l = libnet_cq_next())"Provides an interface to iterate through the context queue of libnet contexts. Before calling this macro, be sure to set the queue using \fBlibnet_cq_head()\fP.
.SS "#define IN6ADDR_ERROR_INIT"\fBValue:\fP
.PP
.nf
{ { { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, \
0xff, 0xff } } }
.fi
IPv6 error code
.SS "#define LIBNET_DO_PAYLOAD(l, p)"\fBValue:\fP
.PP
.nf
if (payload_s && !payload) \
{ \
snprintf(l->err_buf, LIBNET_ERRBUF_SIZE, \
'%s(): payload inconsistency\n', __func__); \
goto bad; \
} \
if (payload_s) \
{ \
n = libnet_pblock_append(l, p, payload, payload_s); \
if (n == (uint32_t) - 1) \
{ \
goto bad; \
} \
} \
.fi
.SS "#define LIBNET_DONT_RESOLVE 0"Used for libnet's name resolution functions, specifies that no DNS lookups should be performed and the IP address should be kept in numeric form.
.SS "#define LIBNET_ERRBUF_SIZE 0x100"The libnet error buffer is 256 bytes long.
.SS "#define LIBNET_MAX_PACKET 0xffff"The biggest an IP packet can be -- 65,535 bytes.
.SS "#define LIBNET_MAXOPTION_SIZE 0x28"IP and TCP options can be up to 40 bytes long.
.SS "#define LIBNET_OFF 1"Used several places, to specify 'on' or 'one'
.SS "#define LIBNET_ON 0"Used several places, to specify 'on' or 'one'
.SS "#define LIBNET_PR2 0"Used for \fBlibnet_get_prand()\fP to specify function disposition
.SS "#define LIBNET_RESOLVE 1"Used for libnet's name resolution functions, specifies that a DNS lookup can be performed if needed to resolve the IP address to a canonical form.
.SH "Author"
.PP
Generated automatically by Doxygen for libnet from the source code.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>