diff options
author | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2012-10-21 17:30:40 +0000 |
---|---|---|
committer | Ludovic Pouzenc <ludovic@pouzenc.fr> | 2012-10-21 17:30:40 +0000 |
commit | 35ff384767249096b1acf71a11ed8ca7a966d6f7 (patch) | |
tree | 2ad417d07c1bf01a6f264d7e7dec8d02bb5ad946 /tests.c | |
parent | d659ce6701878068bd475ef1f482c0a601b138bb (diff) | |
download | 2012-tzsp-35ff384767249096b1acf71a11ed8ca7a966d6f7.tar.gz 2012-tzsp-35ff384767249096b1acf71a11ed8ca7a966d6f7.tar.bz2 2012-tzsp-35ff384767249096b1acf71a11ed8ca7a966d6f7.zip |
Ajout licence GPL, cleaning du vieux code, ajout options --help -H et -v (verbose)
git-svn-id: file:///var/svn/2012-tzsp/trunk@11 147d2d3d-d0bd-48ea-923a-d90ac20f5906
Diffstat (limited to 'tests.c')
-rw-r--r-- | tests.c | 85 |
1 files changed, 0 insertions, 85 deletions
diff --git a/tests.c b/tests.c deleted file mode 100644 index dd6563e..0000000 --- a/tests.c +++ /dev/null @@ -1,85 +0,0 @@ - - -void diep(char s[], int r) { - perror(s); - exit(r); -} - -void die(char s[], int r) { - fprintf(stderr, "%s() failed\n", s); - exit(r); -} - -#define DEST_IP "127.0.0.1" -#define DEST_PORT 37008 -int send_tzsp_sample_packet() { - const int sockaddr_len=sizeof(struct sockaddr_in); - const char sample_packet[]={ - /*Ether*/ 0xe0,0x91,0xf5,0xa1,0xa3,0xd8,0x00,0x11,0x2f,0xde,0x0d,0xa1,0x08,0x00, - /* IP4 */ 0x45,0x00,0x00,0x3c,0x00,0x00,0x40,0x00,0x40,0x11,0xb4,0x8d,0xc0,0xa8,0x02,0xd2,0xc0,0xa8,0x02,0x01, - /* UDP */ 0xc4,0x89,0x00,0x35,0x00,0x28,0x86,0x5d, - /* DNS */ 0x04,0x59,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x77,0x77,0x77, - 0x06,0x64,0x6f,0x6f,0x64,0x6c,0x65,0x03,0x63,0x6f,0x6d,0x00,0x00,0x01,0x00,0x01 - }; - const int sample_packet_len=sizeof(sample_packet); - struct timeval sample_packet_time; - uint32_t ts; - - int res,len; - int s; /*socket*/ - struct sockaddr_in /*si_me,*/ si_other; - char buf[UDP_SEND_BUFLEN]; - - /* On récupère le timestamp courant pour mettre dans les headers TZSP du paquet capturé d'exemple */ - printf("DEBUG : sizeof(time_t)==%i\n", sizeof(time_t)); - res=gettimeofday(&sample_packet_time,NULL); - if (res==-1) die("gettimeofday",5); - - - /* On prépare le socket UDP */ - s=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); - if (s==-1) diep("socket",10); - - memset((char *) &si_other, 0, sockaddr_len); - si_other.sin_family = AF_INET; - si_other.sin_port = htons(DEST_PORT); - res=inet_aton(DEST_IP, &si_other.sin_addr); - if (res==0) die("inet_aton",11); - - /* On forge la trame TZSP */ - - //memset((char *) &buf, 0, UDP_SEND_BUFLEN); - buf[0]=0x01; /* version */ - buf[1]=0x01; /* type == Packet for transmit */ - buf[2]=0x00; /* Encapsuled protocol 0x0001 == Ethernet */ - buf[3]=0x01; - - buf[4]=0x0D; /* Tag type TAG_TIMESTAMP */ - buf[5]=0x04; /* Tag length : 4 bytes */ - - /* buf[6,7,8,9] Timestamp on 4 bytes (network order) */ - ts=htonl((uint32_t) sample_packet_time.tv_sec); /* FIXME : ce cast est une bonne idée ??? */ - memcpy(buf+6, &ts, sizeof(ts)); - - buf[10]=0x29; /* Tag type TAG_RX_FRAME_LENGTH */ - buf[11]=0x02; /* Tag length : 2 bytes */ - len=htons((uint16_t) sample_packet_len); - memcpy(buf+12,&len, sizeof(len)); - - buf[14]=0x00; /* Tag type TAG PADDING (for alignement) */ - buf[15]=0x01; /* Tag type TAG END */ - - /* Raw packet copy */ - //TODO : assert that sample_packet_len < MAX_TZSP_PAYLOAD - memcpy(buf+16,sample_packet, sample_packet_len); - - /* Envoi du paquet UDP (avec comme charge utile le TZSP) */ - res=sendto(s, buf, 16+sample_packet_len, 0, (struct sockaddr *)&si_other, sockaddr_len); - if (res==-1) diep("sendto",12); - - close(s); - - return 0; -} - - |