?? debug.h
字號:
/* Copyright (C) Uppsala University * * This file is distributed under the terms of the GNU general Public * License (GPL), see the file LICENSE * * Author: Erik Nordstr?m, <erikn@it.uu.se> */#ifndef _DEBUG_H#define _DEBUG_H#ifdef __KERNEL__#include <stdarg.h>#include <linux/types.h>#include <linux/string.h>#include <linux/ctype.h>#include <linux/kernel.h>#include <linux/module.h>#include <linux/if_ether.h>#include <linux/in.h>#include <linux/init.h>extern atomic_t num_pkts;#else#include <stdlib.h>#include <stdio.h>#include <string.h>#include <sys/types.h>#include <netinet/in.h>#endif /* __KERNEL__ */#ifdef DEBUG#undef DEBUG#define DEBUG_PROC#define DEBUG(f, args...) do { if (get_confval(PrintDebug)) trace(__FUNCTION__, f, ## args); } while (0)//#define DEBUG(f, args...) trace(__FUNCTION__, f, ## args)#else#define DEBUG(f, args...)#endif#ifndef NO_GLOBALS#define DEBUG_BUFLEN 256static inline char *print_ip(struct in_addr addr){ static char buf[16 * 4]; static int index = 0; char *str; sprintf(&buf[index], "%d.%d.%d.%d", 0x0ff & addr.s_addr, 0x0ff & (addr.s_addr >> 8), 0x0ff & (addr.s_addr >> 16), 0x0ff & (addr.s_addr >> 24)); str = &buf[index]; index += 16; index %= 64; return str;}static inline char *print_eth(char *addr){ static char buf[30]; sprintf(buf, "%02x:%02x:%02x:%02x:%02x:%02x", (unsigned char)addr[0], (unsigned char)addr[1], (unsigned char)addr[2], (unsigned char)addr[3], (unsigned char)addr[4], (unsigned char)addr[5]); return buf;}static inline char *print_pkt(char *p, int len){ static char buf[3000]; int i, l = 0; for (i = 0; i < len; i++) l += sprintf(buf + l, "%02X", (unsigned char)p[i]); return buf;}#endif /* NO_GLOBALS */#ifndef NO_DECLSint trace(const char *func, const char *fmt, ...);#endif /* NO_DECLS */#ifdef __KERNEL__int __init dbg_init(void);void __exit dbg_cleanup(void);#endif#endif /* _DEBUG_H */
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -