1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-24 21:34:56 +03:00

socket_wrapper: make pcap code more portable

Now the pcap support works on x86_64.

metze
(cherry picked from commit 61a87bed61)
This commit is contained in:
Stefan Metzmacher 2008-03-17 14:08:57 +01:00 committed by Stefan Metzmacher
parent 38eab68dfb
commit c22204aa85

View File

@ -71,6 +71,7 @@
#include <unistd.h>
#include <string.h>
#include <stdio.h>
#include <stdint.h>
#define _PUBLIC_
@ -499,67 +500,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;