Annotation of embedaddon/hping2/sendhcmp.c, revision 1.1.1.1
1.1 misho 1: /*
2: * $smu-mark$
3: * $name: sendhcmp.c$
4: * $author: Salvatore Sanfilippo <antirez@invece.org>$
5: * $copyright: Copyright (C) 1999 by Salvatore Sanfilippo$
6: * $license: This software is under GPL version 2 of license$
7: * $date: Fri Nov 5 11:55:49 MET 1999$
8: * $rev: 4$
9: */
10:
11: #include <string.h>
12: #include <assert.h>
13: #include <unistd.h>
14: #include <signal.h> /* SIGALARM macro */
15:
16: #include "hping2.h"
17: #include "globals.h"
18:
19: #define MUST_BE_UNREACHED 0
20:
21: void send_hcmp(__u8 type, __u32 arg)
22: {
23: static struct hcmphdr hcmph; /* static because we export this */
24: /* to data_handler() */
25:
26: data_size = signlen + sizeof(struct hcmphdr);
27:
28: /* build hcmp header */
29: memset(&hcmph, 0, sizeof(hcmph));
30: hcmph.type = type;
31: switch (type)
32: {
33: case HCMP_RESTART:
34: hcmph.typedep.seqnum = htons((__u16) arg);
35: break;
36: case HCMP_SOURCE_QUENCH:
37: case HCMP_SOURCE_STIRUP:
38: hcmph.typedep.usec = htonl(arg);
39: break;
40: default:
41: assert(MUST_BE_UNREACHED);
42: }
43:
44: /* use hcmphdr_p to transmit hcmph to data_handler() */
45: hcmphdr_p = &hcmph;
46: kill(getpid(), SIGALRM); /* send hcmp */
47:
48: return;
49: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>