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

📄 system.h

📁 Net-CDP-0.09 cdp相关源包
💻 H
字号:
/* * $Id: system.h,v 1.1 2005/07/20 13:44:13 mchapman Exp $ */#ifndef _SYSTEM_H#define _SYSTEM_H#if HAVE_CONFIG_H# include <config.h>#endif /* HAVE_CONFIG_H */#include <cdp.h>/* * These headers should exist. Even gnulib assumes they do... */#include <assert.h>#include <errno.h>#ifndef errnoextern int errno;#endif#include <stddef.h>#include <stdio.h>#include <stdint.h>#include <stdlib.h>#include <strdup.h>#include <string.h>#include <xalloc.h>#if HAVE_PCAP_H# include <pcap.h>#endif /* HAVE_PCAP_H */#if HAVE_LIBNET_H# include <libnet.h>#endif /* HAVE_LIBNET_H */#define MALLOC(C, T) ((T *)xnmalloc((C), sizeof(T)))#define MALLOC_VOIDP(C) ((void *)xmalloc(C))#define CALLOC(C, T) ((T *)xcalloc((C), sizeof(T)))static inline char *SALLOC(size_t c) {	char *p;        	assert(c);        	p = MALLOC(c, char);	*p = *(p + c - 1) = '\0';	return p;}#define NEW(DST, SRC, T) \	do { \		(DST) = MALLOC(1, T); \		*(DST) = (SRC); \	} while (0)#define DUP(DST, SRC, T) NEW(DST, *(SRC), T)#ifdef NDEBUG#define xfree(P) free(P)#else /* ! NDEBUG */#define xfree(P) do { assert(P); free(P); (P) = NULL; } while (0)#endif /* ! NDEBUG */#define FREE(P) xfree(P)#define VOIDP_DIFF(P, Q) ((ptrdiff_t)((char *)(P) - (char *)(Q)))#define VOIDP_OFFSET(P, O) ((void *)((char *)(P) + (ptrdiff_t)(O)))struct _cdp {	pcap_t *pcap;	libnet_t *libnet;		int flags;		char *port;	uint8_t mac[6];	cdp_llist_t *addresses;	uint8_t *duplex;		const struct pcap_pkthdr *header;	const void *data;};#endif /* _SYSTEM_H */

⌨️ 快捷键说明

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