diff options
| author | Michael Brown | 2013-10-21 15:17:47 +0200 |
|---|---|---|
| committer | Michael Brown | 2013-10-21 16:08:18 +0200 |
| commit | c597c7a071f6dd42233b53012133e861e794c9c8 (patch) | |
| tree | a2f56bff15790784b577d71a0e10db694cf76f16 /src/include/ipxe | |
| parent | [ping] Add concept of a ping socket (diff) | |
| download | ipxe-c597c7a071f6dd42233b53012133e861e794c9c8.tar.gz ipxe-c597c7a071f6dd42233b53012133e861e794c9c8.tar.xz ipxe-c597c7a071f6dd42233b53012133e861e794c9c8.zip | |
[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 <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe')
| -rw-r--r-- | src/include/ipxe/errfile.h | 1 | ||||
| -rw-r--r-- | src/include/ipxe/pinger.h | 23 |
2 files changed, 24 insertions, 0 deletions
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 <stdint.h> +#include <ipxe/interface.h> +#include <ipxe/socket.h> + +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 */ |
