From c597c7a071f6dd42233b53012133e861e794c9c8 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Mon, 21 Oct 2013 14:17:47 +0100 Subject: [ping] Add generic ping mechanism Add generic pinger mechanism (analogous to the generic downloader mechanism) which opens a ping socket, transmits ping requests, and passes information about ping replies to a callback function. Signed-off-by: Michael Brown --- src/include/ipxe/errfile.h | 1 + src/include/ipxe/pinger.h | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) create mode 100644 src/include/ipxe/pinger.h (limited to 'src/include') diff --git a/src/include/ipxe/errfile.h b/src/include/ipxe/errfile.h index ad88e91f8..1db94466a 100644 --- a/src/include/ipxe/errfile.h +++ b/src/include/ipxe/errfile.h @@ -64,6 +64,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #define ERRFILE_xferbuf ( ERRFILE_CORE | 0x00180000 ) #define ERRFILE_pending ( ERRFILE_CORE | 0x00190000 ) #define ERRFILE_null_reboot ( ERRFILE_CORE | 0x001a0000 ) +#define ERRFILE_pinger ( ERRFILE_CORE | 0x001b0000 ) #define ERRFILE_eisa ( ERRFILE_DRIVER | 0x00000000 ) #define ERRFILE_isa ( ERRFILE_DRIVER | 0x00010000 ) diff --git a/src/include/ipxe/pinger.h b/src/include/ipxe/pinger.h new file mode 100644 index 000000000..2d8403313 --- /dev/null +++ b/src/include/ipxe/pinger.h @@ -0,0 +1,23 @@ +#ifndef _IPXE_PINGER_H +#define _IPXE_PINGER_H + +/** @file + * + * ICMP ping sender + * + */ + +FILE_LICENCE ( GPL2_OR_LATER ); + +#include +#include +#include + +extern int create_pinger ( struct interface *job, const char *hostname, + unsigned long timeout, size_t len, + void ( * callback ) ( struct sockaddr *peer, + unsigned int sequence, + size_t len, + int rc ) ); + +#endif /* _IPXE_PINGER_H */ -- cgit v1.2.3-55-g7522