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

FreeBSD Manual Pages

  
 
  

home | help
ping_iterator_get_info(3)	    liboping	       ping_iterator_get_info(3)

NAME
     ping_iterator_get_info - Receive information about a host

SYNOPSIS
       #include <oping.h>

       int ping_iterator_get_info (pingobj_iter_t *iter,
		       int info,
		       void *buffer,
		       size_t *buffer_len);

DESCRIPTION
     The ping_iterator_get_info method can be used on an host iterator to return
     various information about the current host.

     The  iter	argument  is  an iterator as returned by ping_iterator_get(3) or
     ping_iterator_next(3).

     The info argument specifies the type of information returned. Use the  fol-
     lowing defines:

     PING_INFO_USERNAME
	 Return  the  hostname of the host the iterator points to as supplied by
	 the user.  This is the name you passed to  ping_host_add(3)  and  which
	 you need to pass to "ping_host_remove", too.

     PING_INFO_HOSTNAME
	 Return  the hostname of the host the iterator points to. Since the name
	 is looked up using the socket address this may differ from the hostname
	 passed to ping_host_add(3). The hostname is actually  looked  up  every
	 time you call this method, no cache is involved within liboping.

	 It is recommended to include "netdb.h" and allocate NI_MAXHOST bytes of
	 buffer.

     PING_INFO_ADDRESS
	 Return  the address used in ASCII (i.e. human readable) format. The ad-
	 dress is looked up every time you call this method. 40 bytes should  be
	 sufficient  for  the  buffer (16 octets in hex format, seven colons and
	 one null byte), but more won't hurt.

     PING_INFO_FAMILY
	 Returns the address family of the host. The buffer should be big enough
	 to hold an integer. The value is either AF_INET or AF_INET6.

     PING_INFO_LATENCY
	 Return the last measured latency or less than zero if the  timeout  oc-
	 curred  before  a  echo response was received. The buffer should be big
	 enough to hold a double value.

     PING_INFO_DROPPED
	 Return the number of times that no response  was  received  within  the
	 timeout.   This  value  is  only  increased  but may wrap around at the
	 32 bit boundary.  The buffer should be big enough to hold a 32 bit  in-
	 teger, e. g. an "uint32_t".

     PING_INFO_SEQUENCE
	 Return  the last sequence number sent. This number is increased regard-
	 less of echo responses being received or not. The buffer should hold an
	 integer.

     PING_INFO_IDENT
	 Return the ident that is put into every ICMP packet sent to this  host.
	 Per  convention  this	usually  is  the PID of the sending process, but
	 since	liboping  can  handle  several	hosts  in  parallel  it  uses  a
	 (pseudo-)random number here. The buffer should be big enough to hold an
	 integer value.

     PING_INFO_RECV_TTL
	 Returns  the  time  to live (TTL) of the received network packets. This
	 number depends on the value that was used by the remote  host	when  it
	 sent  the  echo  reply  and  has nothing to do with the PING_OPT_TTL of
	 ping_setopt(3). The buffer should be big  enough  to  hold  an  integer
	 value.

     PING_INFO_RECV_QOS
	 Returns  the value of the Quality of Service (QoS) byte of the incoming
	 IPv4 or IPv6 packet. This byte is not interpreted by  liboping  at  all
	 and  may  be  DSCP /  ECN or precedence / ToS depending on your network
	 setup.  Please see the appropriate RFCs for further information on val-
	 ues you can expect to receive. The buffer is expected to an "uint8_t".

     The buffer argument is a pointer to an appropriately sized area  of  memory
     where  the  result of the call will be stored. The buffer_len value is used
     as input and output: When calling	ping_iterator_get_info	it  reports  the
     size  of  the memory region pointed to by buffer. The method will write the
     number of bytes actually written to the memory into buffer_len  before  re-
     turning.

RETURN VALUE
     ping_iterator_get_info returns zero if it succeeds.

     EINVAL is returned if the value passed as info is unknown. Both, buffer and
     buffer_len, will be left untouched in this case.

     If  the  requested  information  didn't  fit into buffer then the size that
     would have been needed is written into buffer_len; buffer	itself	is  left
     untouched. The return value is ENOMEM in this case.

SEE ALSO
     ping_iterator_get(3), liboping(3)

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

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

1.10.0				   2017-05-11	       ping_iterator_get_info(3)

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

home | help