From 3e8124bc66503f1531ace71b64262aa2c26c3800 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 17 Mar 2008 14:08:57 +0100 Subject: socket_wrapper: make pcap code more portable Now the pcap support works on x86_64. metze (This used to be commit 61a87bed61ef661d98131239976be95c6a8b4d96) --- source4/lib/socket_wrapper/socket_wrapper.c | 79 +++++++++++++++-------------- 1 file changed, 40 insertions(+), 39 deletions(-) (limited to 'source4/lib/socket_wrapper/socket_wrapper.c') diff --git a/source4/lib/socket_wrapper/socket_wrapper.c b/source4/lib/socket_wrapper/socket_wrapper.c index 644365a665..86d9f7a312 100644 --- a/source4/lib/socket_wrapper/socket_wrapper.c +++ b/source4/lib/socket_wrapper/socket_wrapper.c @@ -64,6 +64,7 @@ #include #include #include +#include #endif @@ -624,67 +625,67 @@ enum swrap_packet_type { }; struct swrap_file_hdr { - unsigned long magic; - unsigned short version_major; - unsigned short version_minor; - long timezone; - unsigned long sigfigs; - unsigned long frame_max_len; + uint32_t magic; + uint16_t version_major; + uint16_t version_minor; + int32_t timezone; + uint32_t sigfigs; + uint32_t frame_max_len; #define SWRAP_FRAME_LENGTH_MAX 0xFFFF - unsigned long link_type; + uint32_t link_type; }; #define SWRAP_FILE_HDR_SIZE 24 struct swrap_packet { struct { - unsigned long seconds; - unsigned long micro_seconds; - unsigned long recorded_length; - unsigned long full_length; + uint32_t seconds; + uint32_t micro_seconds; + uint32_t recorded_length; + uint32_t full_length; } frame; #define SWRAP_PACKET__FRAME_SIZE 16 struct { struct { - unsigned char ver_hdrlen; - unsigned char tos; - unsigned short packet_length; - unsigned short identification; - unsigned char flags; - unsigned char fragment; - unsigned char ttl; - unsigned char protocol; - unsigned short hdr_checksum; - unsigned long src_addr; - unsigned long dest_addr; + uint8_t ver_hdrlen; + uint8_t tos; + uint16_t packet_length; + uint16_t identification; + uint8_t flags; + uint8_t fragment; + uint8_t ttl; + uint8_t protocol; + uint16_t hdr_checksum; + uint32_t src_addr; + uint32_t dest_addr; } hdr; #define SWRAP_PACKET__IP_HDR_SIZE 20 union { struct { - unsigned short source_port; - unsigned short dest_port; - unsigned long seq_num; - unsigned long ack_num; - unsigned char hdr_length; - unsigned char control; - unsigned short window; - unsigned short checksum; - unsigned short urg; + uint16_t source_port; + uint16_t dest_port; + uint32_t seq_num; + uint32_t ack_num; + uint8_t hdr_length; + uint8_t control; + uint16_t window; + uint16_t checksum; + uint16_t urg; } tcp; #define SWRAP_PACKET__IP_P_TCP_SIZE 20 struct { - unsigned short source_port; - unsigned short dest_port; - unsigned short length; - unsigned short checksum; + uint16_t source_port; + uint16_t dest_port; + uint16_t length; + uint16_t checksum; } udp; #define SWRAP_PACKET__IP_P_UDP_SIZE 8 struct { - unsigned char type; - unsigned char code; - unsigned short checksum; - unsigned long unused; + uint8_t type; + uint8_t code; + uint16_t checksum; + uint32_t unused; } icmp; #define SWRAP_PACKET__IP_P_ICMP_SIZE 8 } p; -- cgit