Annotation of embedaddon/hping2/sendhcmp.c, revision 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>