Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
ping_setopt(3)			   liboping			ping_setopt(3)

NAME
       ping_setopt - Set options for a liboping	object

SYNOPSIS
	 #include <oping.h>

	 int ping_setopt (pingobj_t *obj, int opt, void	*val);

DESCRIPTION
       The ping_setopt method sets options that	apply to all hosts associated
       with the	object obj and hosts that are yet to be	added to the object.

       The obj argument	is a pointer to	an liboping object, as returned	by
       ping_construct(3).

       The opt 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 "#ifdef". It is recommended to check for
       desired features	using the "OPING_VERSION" define.

       PING_OPT_TIMEOUT
	   The	time to	wait for a "echo reply"	to be received;	in seconds. In
	   this	case the memory	pointed	to by val is interpreted as  a	double
	   value   and	 must	be   greater   than   zero.   The  default  is
	   PING_DEF_TIMEOUT.

       PING_OPT_TTL
	   The value written into the time-to-live (= TTL) field of  generated
	   ICMP	 packets.  The	memory	pointed	to by val is interpreted as an
	   integer. Valid values are 1 through 255. Default is PING_DEF_TTL.

       PING_OPT_AF
	   The address family  to  use.	 The  memory  pointed  to  by  val  is
	   interpreted as an integer and must be either	AF_UNSPEC, AF_INET, or
	   AF_INET6. This option only affects hosts that are being added after
	   this	 option	 has  been  set. Default is PING_DEF_AF. If you	change
	   this	option,	and a source address is	set (see PING_OPT_SOURCE) that
	   setting will	be reset.

       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 ping(1) command.

       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 PING_OPT_AF) and will set the
	   object's address family according to	the source address assigned.

       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. "eth0"). Please note that this	might  not  be
	   supported  by all operating systems.	In that	case, ping_setopt sets
	   the error to	"operation not supported".

       PING_OPT_QOS
	   Sets	the Quality of Service flags that should be used when crafting
	   ICMP	 and  ICMPv6  packets.	The  memory  pointed  to  by  val   is
	   interpreted	as  a  "uint8_t".  The byte is passed to setsockopt(2)
	   without modification, using the "IP_TOS"  (IPv4)  or	 "IPV6_TCLASS"
	   (IPv6)  option.  It is the caller's responsibility to chose a valid
	   bit combination. For	details, read the  ip(7)  and  ipv6(7)	manual
	   pages, as well as RFC 2474.

       PING_OPT_MARK
	   Mark	 (as  in  netfilter) outgoing packets using the	SO_MARK	socket
	   option. Takes an int* pointer as a  value.  Setting	this  requires
	   CAP_NET_ADMIN under Linux.  Fails with "operation not supported" on
	   platforms which don't have SO_MARK.

       The val argument	is a pointer to	the new	value. It must not be NULL. It
       is  dereferenced	depending on the value of the opt argument, see	above.
       The memory pointed to by	val is not changed.

RETURN VALUE
       ping_setopt returns zero	upon success or	less than zero upon failure.

SEE ALSO
       ping_construct(3), liboping(3)

AUTHOR
       liboping	is written by Florian "octo" Forster  <ff  at  octo.it>.   Its
       homepage	can be found at	<http://noping.cc/>.

       Copyright (c) 2006-2017 by Florian "octo" Forster.

1.10.0				  2017-05-11			ping_setopt(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=ping_setopt&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help