blob: 78cfe7af23764004af719d54c21c2bb406a15fbd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#pragma once
#include "icmp.h"
struct icmp_client_incoming {
const uint8_t *data; // points to internal buffer
size_t length; // length of 'data'
int id, seqnum;
};
// Returns -1 on error with errno.
int icmp_client_open_socket(void);
// Only actual IPv4 addresses allowed. Sends data in 'data' with length 'length', and
// returns pointer to internal buffer with reply data. Buffer is invalidated on next
// call to the function.
// Returns {.data=NULL} on error with errno.
struct icmp_client_incoming icmp_client_communicate(
int sock, const char *ip_address,
int id, int seqnum,
const void *data, size_t length);
|