File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / hping2 / sendhcmp.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 22:11:37 2012 UTC (12 years, 3 months ago) by misho
Branches: hping2, MAIN
CVS tags: v2_0_0rc3p7, v2_0_0rc3p5, v2_0_0rc3p4, v2_0_0rc3p0, v2_0_0rc3, HEAD
hping2

    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>