⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 packet_anno.hh

📁 Click is a modular router toolkit. To use it you ll need to know how to compile and install the sof
💻 HH
字号:
#ifndef CLICK_PACKET_ANNO_HH#define CLICK_PACKET_ANNO_HH#define MAKE_ANNOTATIONINFO(offset, size)	((size) << 16 | (offset))#define ANNOTATIONINFO_SIZE(ai)			((ai) >> 16)#define ANNOTATIONINFO_OFFSET(ai)		((uint16_t) (ai))#define DST_IP_ANNO_OFFSET		0#define DST_IP_ANNO_SIZE		4#define DST_IP6_ANNO_OFFSET		0#define DST_IP6_ANNO_SIZE		16// bytes 16-31#define WIFI_EXTRA_ANNO_OFFSET		16#define WIFI_EXTRA_ANNO_SIZE		24#define WIFI_EXTRA_ANNO(p)		((click_wifi_extra *) ((p)->anno_u8() + WIFI_EXTRA_ANNO_OFFSET))// byte 16#define PAINT_ANNO_OFFSET		16#define PAINT_ANNO_SIZE			1#define PAINT_ANNO(p)			((p)->anno_u8(PAINT_ANNO_OFFSET))#define SET_PAINT_ANNO(p, v)		((p)->set_anno_u8(PAINT_ANNO_OFFSET, (v)))// byte 17#define ICMP_PARAMPROB_ANNO_OFFSET	17#define ICMP_PARAMPROB_ANNO_SIZE	1#define ICMP_PARAMPROB_ANNO(p)		((p)->anno_u8(ICMP_PARAMPROB_ANNO_OFFSET))#define SET_ICMP_PARAMPROB_ANNO(p, v)	((p)->set_anno_u8(ICMP_PARAMPROB_ANNO_OFFSET, (v)))// byte 19#define FIX_IP_SRC_ANNO_OFFSET		19#define FIX_IP_SRC_ANNO_SIZE		1#define FIX_IP_SRC_ANNO(p)		((p)->anno_u8(FIX_IP_SRC_ANNO_OFFSET))#define SET_FIX_IP_SRC_ANNO(p, v)	((p)->set_anno_u8(FIX_IP_SRC_ANNO_OFFSET, (v)))// bytes 20-23#define AGGREGATE_ANNO_OFFSET		20#define AGGREGATE_ANNO_SIZE		4#define AGGREGATE_ANNO(p)		((p)->anno_u32(AGGREGATE_ANNO_OFFSET))#define SET_AGGREGATE_ANNO(p, v)	((p)->set_anno_u32(AGGREGATE_ANNO_OFFSET, (v)))#define FWD_RATE_ANNO_OFFSET		20#define FWD_RATE_ANNO_SIZE		4#define FWD_RATE_ANNO(p)		((p)->anno_s32(FWD_RATE_ANNO_OFFSET))#define SET_FWD_RATE_ANNO(p, v)		((p)->set_anno_s32(FWD_RATE_ANNO_OFFSET, (v)))#define MISC_IP_ANNO_OFFSET		20#define MISC_IP_ANNO_SIZE		4#define MISC_IP_ANNO(p)                 ((p)->anno_u32(MISC_IP_ANNO_OFFSET))#define SET_MISC_IP_ANNO(p, v)		((p)->set_anno_u32(MISC_IP_ANNO_OFFSET, (v).addr()))// bytes 24-27#define EXTRA_PACKETS_ANNO_OFFSET	24#define EXTRA_PACKETS_ANNO_SIZE		4#define EXTRA_PACKETS_ANNO(p)		((p)->anno_u32(EXTRA_PACKETS_ANNO_OFFSET))#define SET_EXTRA_PACKETS_ANNO(p, v)	((p)->set_anno_u32(EXTRA_PACKETS_ANNO_OFFSET, (v)))#define REV_RATE_ANNO_OFFSET		24#define REV_RATE_ANNO_SIZE		4#define REV_RATE_ANNO(p)		((p)->anno_s32(REV_RATE_ANNO_OFFSET))#define SET_REV_RATE_ANNO(p, v)		((p)->set_anno_s32(REV_RATE_ANNO_OFFSET, (v)))// byte 26#define SEND_ERR_ANNO_OFFSET		26#define SEND_ERR_ANNO_SIZE		1#define SEND_ERR_ANNO(p)                ((p)->anno_u8(SEND_ERR_ANNO_OFFSET))#define SET_SEND_ERR_ANNO(p, v)         ((p)->set_anno_u8(SEND_ERR_ANNO_OFFSET, (v)))// byte 27#define GRID_ROUTE_CB_ANNO_OFFSET	27#define GRID_ROUTE_CB_ANNO_SIZE		1#define GRID_ROUTE_CB_ANNO(p)           ((p)->anno_u8(GRID_ROUTE_CB_ANNO_OFFSET))#define SET_GRID_ROUTE_CB_ANNO(p, v)    ((p)->set_anno_u8(GRID_ROUTE_CB_ANNO_OFFSET, (v)))// bytes 28-31#define IPREASSEMBLER_ANNO_OFFSET	28#define IPREASSEMBLER_ANNO_SIZE		4#define EXTRA_LENGTH_ANNO_OFFSET	28#define EXTRA_LENGTH_ANNO_SIZE		4#define EXTRA_LENGTH_ANNO(p)		((p)->anno_u32(EXTRA_LENGTH_ANNO_OFFSET))#define SET_EXTRA_LENGTH_ANNO(p, v)	((p)->set_anno_u32(EXTRA_LENGTH_ANNO_OFFSET, (v)))// bytes 32-39#define FIRST_TIMESTAMP_ANNO_OFFSET	32#define FIRST_TIMESTAMP_ANNO_SIZE	8#define CONST_FIRST_TIMESTAMP_ANNO(p)	(*(reinterpret_cast<const Timestamp *>((p)->anno_u8() + FIRST_TIMESTAMP_ANNO_OFFSET)))#define FIRST_TIMESTAMP_ANNO(p)		(*(reinterpret_cast<Timestamp *>((p)->anno_u8() + FIRST_TIMESTAMP_ANNO_OFFSET)))#define SET_FIRST_TIMESTAMP_ANNO(p, v)	(*(reinterpret_cast<Timestamp *>((p)->anno_u8() + FIRST_TIMESTAMP_ANNO_OFFSET)) = (v))// bytes 32-35#define PACKET_NUMBER_ANNO_OFFSET	32#define PACKET_NUMBER_ANNO_SIZE		4#define PACKET_NUMBER_ANNO(p)		((p)->anno_u32(PACKET_NUMBER_ANNO_OFFSET))#define SET_PACKET_NUMBER_ANNO(p, v)	((p)->set_anno_u32(PACKET_NUMBER_ANNO_OFFSET, (v)))#define IPSEC_SPI_ANNO_OFFSET		32#define IPSEC_SPI_ANNO_SIZE		4#define IPSEC_SPI_ANNO(p)		((p)->anno_u32(IPSEC_SPI_ANNO_OFFSET))#define SET_IPSEC_SPI_ANNO(p, v)	((p)->set_anno_u32(IPSEC_SPI_ANNO_OFFSET, (v)))// bytes 36-39#define SEQUENCE_NUMBER_ANNO_OFFSET	36#define SEQUENCE_NUMBER_ANNO_SIZE	4#define SEQUENCE_NUMBER_ANNO(p)		((p)->anno_u32(SEQUENCE_NUMBER_ANNO_OFFSET))#define SET_SEQUENCE_NUMBER_ANNO(p, v)	((p)->set_anno_u32(SEQUENCE_NUMBER_ANNO_OFFSET, (v)))#define IPSEC_SA_DATA_REFERENCE_ANNO_OFFSET	36#define IPSEC_SA_DATA_REFERENCE_ANNO_SIZE	4#define IPSEC_SA_DATA_REFERENCE_ANNO(p)	((p)->anno_u32(IPSEC_SA_DATA_REFERENCE_ANNO_OFFSET))#define SET_IPSEC_SA_DATA_REFERENCE_ANNO(p, v) ((p)->set_anno_u32(IPSEC_SA_DATA_REFERENCE_ANNO_OFFSET, (v)))#if HAVE_INT64_TYPES// bytes 40-47# define PERFCTR_ANNO_OFFSET		40# define PERFCTR_ANNO_SIZE		8# define PERFCTR_ANNO(p)		((p)->anno_u64(PERFCTR_ANNO_OFFSET))# define SET_PERFCTR_ANNO(p, v)		((p)->set_anno_u64(PERFCTR_ANNO_OFFSET, (v)))#endif#endif

⌨️ 快捷键说明

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