Rechercher une page de manuel
ping_iterator_get_info
Langue: en
Version: 2006-05-29 (debian - 07/07/09)
Section: 3 (Bibliothèques de fonctions)
NAME
ping_iterator_get_info - Constructor for the liboping classSYNOPSIS
#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 following defines:
- 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 address 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 ig 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 occured before a echo response was received. The buffer should be big enough to hold a double value.
- PING_INFO_SEQUENCE
- Return the last sequence number sent. This number is increased regardless 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.
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 returning.
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 <octo at verplant.org>. It's homepage can be found at <http://verplant.org/liboping/>.(c) 2005, 2006 by Florian octo Forster.
Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre