.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ping_setopt 3" .TH ping_setopt 3 "2017-05-11" "1.10.0" "liboping" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" ping_setopt \- Set options for a liboping object .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 1 \& #include \& \& int ping_setopt (pingobj_t *obj, int opt, void *val); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The \fBping_setopt\fR method sets options that apply to all hosts associated with the object \fIobj\fR and hosts that are yet to be added to the object. .PP The \fIobj\fR argument is a pointer to an \fIliboping\fR object, as returned by \&\fIping_construct\fR\|(3). .PP The \fIopt\fR argument specifies the option to set. Use one of the following constants. You can check if the required constant is supported by the library at compile time using \f(CW\*(C`#ifdef\*(C'\fR. It is recommended to check for desired features using the \f(CW\*(C`OPING_VERSION\*(C'\fR define. .IP "\fB\s-1PING_OPT_TIMEOUT\s0\fR" 4 .IX Item "PING_OPT_TIMEOUT" The time to wait for a \*(L"echo reply\*(R" to be received; in seconds. In this case the memory pointed to by \fIval\fR is interpreted as a double value and must be greater than zero. The default is \fB\s-1PING_DEF_TIMEOUT\s0\fR. .IP "\fB\s-1PING_OPT_TTL\s0\fR" 4 .IX Item "PING_OPT_TTL" The value written into the time-to-live (= \s-1TTL\s0) field of generated \s-1ICMP\s0 packets. The memory pointed to by \fIval\fR is interpreted as an integer. Valid values are 1 through 255. Default is \fB\s-1PING_DEF_TTL\s0\fR. .IP "\fB\s-1PING_OPT_AF\s0\fR" 4 .IX Item "PING_OPT_AF" The address family to use. The memory pointed to by \fIval\fR is interpreted as an integer and must be either \fB\s-1AF_UNSPEC\s0\fR, \fB\s-1AF_INET\s0\fR, or \fB\s-1AF_INET6\s0\fR. This option only affects hosts that are being added \fBafter\fR this option has been set. Default is \fB\s-1PING_DEF_AF\s0\fR. If you change this option, and a source address is set (see \fB\s-1PING_OPT_SOURCE\s0\fR) that setting will be reset. .IP "\fB\s-1PING_OPT_DATA\s0\fR" 4 .IX Item "PING_OPT_DATA" Set the data to send. The value passed must be a char-pointer to a null-terminated string. By default a 56 byte long string is used so that the packet size of an ICMPv4 packet is exactly 64 bytes. That's the behavior of the \&\fIping\fR\|(1) command. .IP "\fB\s-1PING_OPT_SOURCE\s0\fR" 4 .IX Item "PING_OPT_SOURCE" Set the source address to use. The value passed must be a char-pointer to a null-terminated string specifying either a numerical network address or network hostname. This option will ignore the address family setting (as set with \fB\s-1PING_OPT_AF\s0\fR) and will set the object's address family according to the source address assigned. .IP "\fB\s-1PING_OPT_DEVICE\s0\fR" 4 .IX Item "PING_OPT_DEVICE" Set the outgoing network device to be used. The value passed must be a char-pointer to a null-terminated string specifying an interface name (e.\ g. \f(CW\*(C`eth0\*(C'\fR). Please note that this might not be supported by all operating systems. In that case, \fBping_setopt\fR sets the error to \&\f(CW\*(C`operation not supported\*(C'\fR. .IP "\fB\s-1PING_OPT_QOS\s0\fR" 4 .IX Item "PING_OPT_QOS" Sets the \fIQuality of Service\fR flags that should be used when crafting \s-1ICMP\s0 and ICMPv6 packets. The memory pointed to by \fIval\fR is interpreted as a \f(CW\*(C`uint8_t\*(C'\fR. The byte is passed to \fIsetsockopt\fR\|(2) without modification, using the \&\f(CW\*(C`IP_TOS\*(C'\fR (IPv4) or \f(CW\*(C`IPV6_TCLASS\*(C'\fR (IPv6) option. It is the caller's responsibility to chose a valid bit combination. For details, read the \fIip\fR\|(7) and \fIipv6\fR\|(7) manual pages, as well as \fI\s-1RFC\s0\ 2474\fR. .IP "\fB\s-1PING_OPT_MARK\s0\fR" 4 .IX Item "PING_OPT_MARK" Mark (as in netfilter) outgoing packets using the \s-1SO_MARK\s0 socket option. Takes an int* pointer as a value. Setting this requires \s-1CAP_NET_ADMIN\s0 under Linux. Fails with \f(CW\*(C`operation not supported\*(C'\fR on platforms which don't have \s-1SO_MARK.\s0 .PP The \fIval\fR argument is a pointer to the new value. It must not be \s-1NULL.\s0 It is dereferenced depending on the value of the \fIopt\fR argument, see above. The memory pointed to by \fIval\fR is not changed. .SH "RETURN VALUE" .IX Header "RETURN VALUE" \&\fBping_setopt\fR returns zero upon success or less than zero upon failure. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fIping_construct\fR\|(3), \&\fIliboping\fR\|(3) .SH "AUTHOR" .IX Header "AUTHOR" liboping is written by Florian \*(L"octo\*(R" Forster . Its homepage can be found at . .PP Copyright (c) 2006\-2017 by Florian \*(L"octo\*(R" Forster.