Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 365 → Rev 364

/shark/trunk/tracer/newtrace/udp.c
37,19 → 37,9
 
#include <ll/sys/types.h>
#include <stdlib.h>
#include <tracer.h>
 
#include <drivers/udpip.h>
 
#define UDP_MAXSIZE 1400
#define TRACER_PORT 100
 
int TracerUDPInit = 0;
UDP_ADDR target,local;
int socket;
 
extern int TracerOutputType;
 
struct tracer_udp_header {
char id[12];
unsigned int pkt_number;
57,28 → 47,6
unsigned int total_size;
};
 
int init_tracer_udp(char *local_ip, char *target_ip) {
 
SYS_FLAGS f;
 
f = ll_fsave();
 
ip_str2addr(local_ip,&(local.s_addr));
local.s_port = TRACER_PORT;
socket = udp_bind(&local, NULL);
ip_str2addr(target_ip,&(target.s_addr));
target.s_port = TRACER_PORT;
TracerOutputType = TRACER_UDP_OUTPUT;
TracerUDPInit = 1;
 
ll_frestore(f);
 
return 0;
 
}
 
int send_udp_event(void *p, int size) {
 
static BYTE pkt[UDP_MAXSIZE];
90,6 → 58,8
struct tracer_udp_header head = {"TRACER-V1.0",0,0,0};
struct tracer_udp_header *phead = (struct tracer_udp_header *)(pkt);
 
int err;
 
if (total_pkt_size + size < UDP_MAXSIZE) {
 
if (total_pkt_size == 0) {
121,7 → 91,7
 
} else {
 
udp_sendto(socket, pkt, total_pkt_size, &target);
//err = udp_sentto();
 
events_number = 0;
total_pkt_size = 0;
129,7 → 99,7
send_udp_event(p,size);
return 0;
return err;
 
}