Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

ping_send(3) [debian man page]

ping_send(3)							     liboping							      ping_send(3)

NAME
ping_send - Send ICMP echo requests to all associated hosts and wait for ICMP echo responses to arrive SYNOPSIS
#include <oping.h> int ping_send (pingobj_t *obj); DESCRIPTION
The ping_send method is the actual workhorse of this library. It crafts ICMP packets for the hosts associated with obj and sends them via the corresponding sockets. It then waits for echo responses and receives them, writing latency information for each host. The method returns after all echo replies have been read or the timeout (set with ping_setopt(3)) is reached. After this function returns you will most likely iterate over all hosts using ping_iterator_get(3) and ping_iterator_next (described in the same manual page) and call ping_iterator_get_info(3) on each host. RETURN VALUE
ping_send returns the number of echo replies received or a value less than zero if an error occurred. Use ping_get_error(3) to receive an error message. SEE ALSO
ping_construct(3), ping_setopt(3), ping_iterator_get(3), ping_iterator_get_info(3), ping_get_error(3), liboping(3) AUTHOR
liboping is written by Florian "octo" Forster <octo at verplant.org>. Its homepage can be found at <http://verplant.org/liboping/>. Copyright (c) 2005-2011 by Florian "octo" Forster. 1.6.2 2012-01-31 ping_send(3)

Check Out this Related Man Page

liboping(3)							     liboping							       liboping(3)

NAME
liboping - Library to send ICMPv4/ICMPv6 echo packets to multiple hosts DESCRIPTION
This is an overview of liboping, a C library to send ICMP ECHO_REQUEST packets to remote hosts and measure the time it takes for replies to be received. This method, often simply called "ping", is a common way to measure network latency and/or host reachability. The goals of this library are to provide the above functionality in a platform and protocol independent manner. The interface is simple, object oriented and (hopefully) ANSI-C compliant. GENERAL USAGE
There are two main types that are used by applications. Both are "opaque types", meaning they are structures that are not completely defined in the header file, so you cannot access the structures' members. You don't need to, don't do it. These structures are subject to change without notice. "pingobj_t" A ping-object. You can set specific options for this object, add and remove hosts to/from it and send ICMP packets to all associated hosts. This is often called a "handle". "pingobj_iter_t" An iterator over the hosts associated with a "pingobj_t" object. This iterator can be used to query more information about a host, for example the hostname, the measured latency or the current ICMP sequence. Upon startup you usually create one or more "pingobj_t" objects and add hosts to it using the "ping_host_add" method (see below). You periodically send "echo requests" using the "ping_send" method, iterate over all hosts using "ping_iterator_get" and "ping_iterator_next". For each host you call "ping_iterator_get_info" to read the current latency and do something with it. If an error occurs you can use "ping_get_error" so get information on what failed. LINKING WITH LIBOPING
Depending on you platform you don't need any extra libraries (e.g. GNU/Linux) or "libsocket" (using "-lsocket") if the "socket" function is not in the C-library. The latter is the case for the Solaris operating system. SYMBOL NAMES
All "official" function or method names are prefixed with "ping_". Don't use any other functions or methods. Although no such functions should exist. THREAD SAFETY
liboping has been designed to be as thread safe a possible. However, this has not been tested and may need some additional work. Use at your own risk and please report back any problems or success messages. Thank you :) SEE ALSO
ping_construct(3), ping_setopt(3), ping_host_add(3), ping_send(3), ping_get_error(3), ping_iterator_get(3), ping_iterator_get_info(3), ping_iterator_get_context(3) LICENSE
liboping is licensed under the GPLv2. No other version of the license is applicable. AUTHOR
liboping is written by Florian "octo" Forster <octo at verplant.org>. Its homepage can be found at <http://verplant.org/liboping/>. Copyright (c) 2005-2011 by Florian "octo" Forster. 1.6.2 2012-01-31 liboping(3)
Man Page