📄 system.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 + -