Annotation of embedaddon/libnet/doc/man/man3/libnet.3, revision 1.1
1.1 ! misho 1: .\" Automatically generated by Pod::Man 4.10 (Pod::Simple 3.35)
! 2: .\"
! 3: .\" Standard preamble:
! 4: .\" ========================================================================
! 5: .de Sp \" Vertical space (when we can't use .PP)
! 6: .if t .sp .5v
! 7: .if n .sp
! 8: ..
! 9: .de Vb \" Begin verbatim text
! 10: .ft CW
! 11: .nf
! 12: .ne \\$1
! 13: ..
! 14: .de Ve \" End verbatim text
! 15: .ft R
! 16: .fi
! 17: ..
! 18: .\" Set up some character translations and predefined strings. \*(-- will
! 19: .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
! 20: .\" double quote, and \*(R" will give a right double quote. \*(C+ will
! 21: .\" give a nicer C++. Capital omega is used to do unbreakable dashes and
! 22: .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff,
! 23: .\" nothing in troff, for use with C<>.
! 24: .tr \(*W-
! 25: .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
! 26: .ie n \{\
! 27: . ds -- \(*W-
! 28: . ds PI pi
! 29: . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
! 30: . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
! 31: . ds L" ""
! 32: . ds R" ""
! 33: . ds C` ""
! 34: . ds C' ""
! 35: 'br\}
! 36: .el\{\
! 37: . ds -- \|\(em\|
! 38: . ds PI \(*p
! 39: . ds L" ``
! 40: . ds R" ''
! 41: . ds C`
! 42: . ds C'
! 43: 'br\}
! 44: .\"
! 45: .\" Escape single quotes in literal strings from groff's Unicode transform.
! 46: .ie \n(.g .ds Aq \(aq
! 47: .el .ds Aq '
! 48: .\"
! 49: .\" If the F register is >0, we'll generate index entries on stderr for
! 50: .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
! 51: .\" entries marked with X<> in POD. Of course, you'll have to process the
! 52: .\" output yourself in some meaningful fashion.
! 53: .\"
! 54: .\" Avoid warning from groff about undefined register 'F'.
! 55: .de IX
! 56: ..
! 57: .nr rF 0
! 58: .if \n(.g .if rF .nr rF 1
! 59: .if (\n(rF:(\n(.g==0)) \{\
! 60: . if \nF \{\
! 61: . de IX
! 62: . tm Index:\\$1\t\\n%\t"\\$2"
! 63: ..
! 64: . if !\nF==2 \{\
! 65: . nr % 0
! 66: . nr F 2
! 67: . \}
! 68: . \}
! 69: .\}
! 70: .rr rF
! 71: .\"
! 72: .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
! 73: .\" Fear. Run. Save yourself. No user-serviceable parts.
! 74: . \" fudge factors for nroff and troff
! 75: .if n \{\
! 76: . ds #H 0
! 77: . ds #V .8m
! 78: . ds #F .3m
! 79: . ds #[ \f1
! 80: . ds #] \fP
! 81: .\}
! 82: .if t \{\
! 83: . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
! 84: . ds #V .6m
! 85: . ds #F 0
! 86: . ds #[ \&
! 87: . ds #] \&
! 88: .\}
! 89: . \" simple accents for nroff and troff
! 90: .if n \{\
! 91: . ds ' \&
! 92: . ds ` \&
! 93: . ds ^ \&
! 94: . ds , \&
! 95: . ds ~ ~
! 96: . ds /
! 97: .\}
! 98: .if t \{\
! 99: . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
! 100: . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
! 101: . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
! 102: . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
! 103: . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
! 104: . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
! 105: .\}
! 106: . \" troff and (daisy-wheel) nroff accents
! 107: .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
! 108: .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
! 109: .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
! 110: .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
! 111: .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
! 112: .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
! 113: .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
! 114: .ds ae a\h'-(\w'a'u*4/10)'e
! 115: .ds Ae A\h'-(\w'A'u*4/10)'E
! 116: . \" corrections for vroff
! 117: .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
! 118: .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
! 119: . \" for low resolution devices (crt and lpr)
! 120: .if \n(.H>23 .if \n(.V>19 \
! 121: \{\
! 122: . ds : e
! 123: . ds 8 ss
! 124: . ds o a
! 125: . ds d- d\h'-1'\(ga
! 126: . ds D- D\h'-1'\(hy
! 127: . ds th \o'bp'
! 128: . ds Th \o'LP'
! 129: . ds ae ae
! 130: . ds Ae AE
! 131: .\}
! 132: .rm #[ #] #H #V #F C
! 133: .\" ========================================================================
! 134: .\"
! 135: .IX Title "LIBNET 3"
! 136: .TH LIBNET 3 "ons okt 16 2019" "libnet-1.2" "libnet Programmers Guide"
! 137: .\" For nroff, turn off justification. Always turn off hyphenation; it makes
! 138: .\" way too many mistakes in technical documents.
! 139: .if n .ad l
! 140: .nh
! 141: .SH "NAME"
! 142: libnet \- A C library for packet creation and injection
! 143: .SH "SYNOPSIS"
! 144: .IX Header "SYNOPSIS"
! 145: \&\fB#include <libnet.h>\fR
! 146: .SH "DESCRIPTION"
! 147: .IX Header "DESCRIPTION"
! 148: libnet is a packet assembly library that provides a portable interface for
! 149: packet creation and injection.
! 150: .PP
! 151: It is a high-level \s-1API\s0 that allows an application programmer to construct and
! 152: inject network packets. libnet provides a simplified interface for low-level
! 153: network packet shaping, handling and injection.
! 154: .PP
! 155: libnet hides much of the tedium of packet creation from the application
! 156: programmer such as multiplexing, buffer management, arcane packet header
! 157: information, byte-ordering, OS-dependent issues, and much more. libnet features
! 158: portable packet creation interfaces at the \s-1IP\s0 and link layer, as well as a host
! 159: of supplementary and complementary functionality. Using libnet, quick and
! 160: simple packet assembly applications can be whipped up with little effort. With
! 161: a bit more time, more complex programs can be written (\fBtraceroute\fR\|(8) and
! 162: \&\fBping\fR\|(8) were easily rewritten using libnet and \fBpcap\fR\|(3).
! 163: .PP
! 164: When building applications with libnet we recommend using \fBpkg\-config\fR\|(1) to
! 165: detect the precense and required version of libnet. The \fBlibnet\-config\fR\|(1)
! 166: script is still bundled in the libnet distribution, but is considered to be
! 167: deprecated in favor of \fBpkg\-config\fR\|(1). Both can be used to get compiler and
! 168: linker flags of the installed libnet library, as well as provide other useful
! 169: information. For applications using \s-1GNU\s0 autotools, we recommend using the
! 170: \&\s-1PKG_PROG_PKG_CONFIG\s0 and \s-1PKG_CHECK_MODULES\s0 m4 macros.
! 171: .PP
! 172: \&\fB\s-1NOTE\s0\fR: If you are writing your application with libnet, include \fIlibnet.h\fR,
! 173: which will include any additional header for you, rather than including
! 174: \&\fIlibnet/libnet\-functions.h\fR, \fIlibnet/libnet\-macros.h\fR or any of the others.
! 175: .SH "BACKWARDS COMPATIBILITY"
! 176: .IX Header "BACKWARDS COMPATIBILITY"
! 177: Your old code (circa libnet \fB1.0.x\fR) \s-1WILL NOT WORK\s0 with libnet> \fB>=1.1.x\fR.
! 178: See \fBdoc/MIGRATION.md\fR for easy steps on porting your old code.
! 179: .SH "SEE ALSO"
! 180: .IX Header "SEE ALSO"
! 181: \&\fBpkg\-config\fR\|(1), \fBlibnet\-config\fR\|(1), \fBlibnet\-functions\fR\|(3), \fBlibnet\-macros\fR\|(3)
! 182: .SH "AUTHORS"
! 183: .IX Header "AUTHORS"
! 184: The original author of libnet is Mike D. Schiffman.
! 185: .PP
! 186: libnet has been maintained and extensively enhanced since 2009 by Sam Roberts.
! 187: It is currently maintained by the Libnet Maintainers at GitHub:
! 188: .PP
! 189: .Vb 1
! 190: \& <https://github.com/libnet/libnet>
! 191: .Ve
! 192: .SH "BUGS"
! 193: .IX Header "BUGS"
! 194: Suggestions, bug reports/fixes, and pull requests, see:
! 195: .PP
! 196: .Vb 1
! 197: \& <https://github.com/libnet/libnet/issues>
! 198: .Ve
! 199: .SH "COPYRIGHT"
! 200: .IX Header "COPYRIGHT"
! 201: libnet is licensed under the 3\-Clause \s-1BSD\s0 License.
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>