All pastes #574324 Raw Edit

NetworkObjects.h

public text v1 · immutable
·published 2007-06-18 14:57 UTC
rendered paste body
#ifndef NETWORK_OBJECTS_H
#define NETWORK_OBJECTS_H

/* 4 bytes IP address */
typedef struct ip_address
{
	unsigned char byte1;
	unsigned char byte2;
	unsigned char byte3;
	unsigned char byte4;

}ip_address;

/* IPv4 header */
typedef struct ip_header
{
	unsigned char	ver_ihl;		// Version (4 bits) + Internet header length (4 bits)
	unsigned char	tos;			// Type of service 
	unsigned short tlen;			// Total length 
	unsigned short identification; // Identification
	unsigned short flags_fo;		// Flags (3 bits) + Fragment offset (13 bits)
	unsigned char	ttl;			// Time to live
	unsigned char	proto;			// Protocol
	unsigned short crc;			// Header checksum
	ip_address	saddr;		// Source address
	ip_address	daddr;		// Destination address
	u_int	op_pad;			// Option + Padding
}ip_header;

/* UDP header*/
typedef struct udp_header
{
	unsigned short sport;			// Source port
	unsigned short dport;			// Destination port
	unsigned short len;			// Datagram length
	unsigned short crc;			// Checksum
}udp_header;


#endif // NETWORK_OBJECTS_H