-
Notifications
You must be signed in to change notification settings - Fork 1
/
sender6.h
33 lines (26 loc) · 1.01 KB
/
sender6.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef __SENDER6_H__
#define __SENDER6_H__
#include <inttypes.h>
#include "packet.h"
struct sender6;
struct sender6 * sender6_create(const char *device);
void sender6_destroy(struct sender6 *sender);
/* `padding` will be rounded to the next even integer. */
struct packet * sender6_send_icmp(struct sender6 *s, /* {{{ */
struct libnet_in6_addr src,
struct libnet_in6_addr dst,
uint8_t ttl,
uint8_t traffic_class, uint32_t flow_label,
uint16_t icmpsum, uint16_t icmpid, uint16_t icmpseq,
size_t padding);
/* not implemented:
struct packet * sender6_send_icmp_fixrev(struct sender6 *sender,
struct libnet_in6_addr dst, uint8_t ttl, uint16_t ipid,
uint16_t icmpsum, uint16_t rev_icmpsum, uint16_t icmpseq,
size_t padding);
*/
struct packet * sender6_send_tcp(struct sender6 *s, struct libnet_in6_addr dst,
uint8_t ttl, uint8_t traffic_class, uint32_t flow_label, uint16_t sp,
uint16_t dp, uint32_t seq_number, uint32_t ack_number,
uint8_t control_flags, uint16_t window, uint16_t urgent_pointer);
#endif