Annotation of embedaddon/libnet/doc/man/man3/libnet.3, revision 1.1.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>