packet.h

来自「LInux BootLoader的说明文档」· C头文件 代码 · 共 45 行

H
45
字号
/*
	文件名 : packet.h
    功能描述 : 描述采集到的数据封包的数据结构
*/

#ifndef PACKET_H
#define PACKET_H

#include <stdint.h>
#include "queue.h"

#include <time.h>
#include <net/ethernet.h>

typedef struct packet_struct{
	unsigned int size ;/*	本结构占用空间的大小,含data包含的数据区	*/
	TAILQ_ENTRY(packet_struct)  _list ;/*   用于将数据封包挂入某各链表  */
	time_t tv_sec;
	u_int8_t  s_mac[ETH_ALEN];
 	u_int8_t  d_mac[ETH_ALEN];
	u_int32_t source_ip ;/*  源IP    */
	u_int32_t target_ip ;/*  目的IP  */
	u_int16_t sport;/*源端口*/
	u_int16_t dport;/*目的端口*/

	u_int16_t trans_len ;/*    传输层及应用层数据长度  */
	u_int16_t app_len;/*  应用层数据长度  */
	
	//uint16_t   reference_num;/*引用次数*/
	u_int8_t   protocol_type; /* 是否是TCP封包,是 : 1  否: 0    */

	u_int8_t  *trans_data ;/*  传输层及应用层数据  */
    	u_int8_t  *app_data ;/*  应用层数据  */

	unsigned long handle;
}packet_t ;

typedef TAILQ_HEAD(packets_struct , packet_struct)  packets_t ;




#endif		/*	#ifndef PACKET_H	*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?