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

📄 iscsi_dbg.h

📁 iscsi企业级target.很好用
💻 H
字号:
#ifndef ISCSI_DBG_H#define ISCSI_DBG_H#define D_SETUP		(1UL << 0)#define D_EXIT		(1UL << 1)#define D_GENERIC	(1UL << 2)#define D_READ		(1UL << 3)#define D_WRITE 	(1UL << 4)#define D_IOD		(1UL << 5)#define D_THREAD	(1UL << 6)#define D_TASK_MGT	(1UL << 7)#define D_IOMODE	(1UL << 8)#define D_DATA		(D_READ | D_WRITE)extern unsigned long debug_enable_flags;#define dprintk(debug, fmt, args...)					\do {									\	if ((debug) & debug_enable_flags) {				\		printk("%s(%d) " fmt, __FUNCTION__, __LINE__, args);	\	}								\} while (0)#define eprintk(fmt, args...)					\do {								\	printk("%s(%d) " fmt, __FUNCTION__, __LINE__, args);	\} while (0)#define assert(p) do {						\	if (!(p)) {						\		printk(KERN_CRIT "BUG at %s:%d assert(%s)\n",	\		       __FILE__, __LINE__, #p);			\		dump_stack();					\		BUG();						\	}							\} while (0)#if D_IOVstatic inline void iscsi_dump_iov(struct msghdr *msg){	int i;	printk("%p, %d\n", msg->msg_iov, msg->msg_iovlen);	for (i = 0; i < min_t(size_t, msg->msg_iovlen, ISCSI_CONN_IOV_MAX); i++)		printk("%d: %p,%d\n", i, msg->msg_iov[i].iov_base, msg->msg_iov[i].iov_len);}#else#define iscsi_dump_iov(x) do {} while (0)#endif#if D_DUMP_PDUstatic void iscsi_dump_char(int ch){	static unsigned char text[16];	static int i = 0;	if (ch < 0) {		while ((i % 16) != 0) {			printk("   ");			text[i] = ' ';			i++;			if ((i % 16) == 0)				printk(" | %.16s |\n", text);			else if ((i % 4) == 0)				printk(" |");		}		i = 0;		return;	}	text[i] = (ch < 0x20 || (ch >= 0x80 && ch <= 0xa0)) ? ' ' : ch;	printk(" %02x", ch);	i++;	if ((i % 16) == 0) {		printk(" | %.16s |\n", text);		i = 0;	} else if ((i % 4) == 0)		printk(" |");}static inline void iscsi_dump_pdu(struct iscsi_pdu *pdu){	unsigned char *buf;	int i;	buf = (void *)&pdu->bhs;	printk("BHS: (%p,%d)\n", buf, sizeof(pdu->bhs));	for (i = 0; i < sizeof(pdu->bhs); i++)		iscsi_dump_char(*buf++);	iscsi_dump_char(-1);	buf = (void *)pdu->ahs;	printk("AHS: (%p,%d)\n", buf, pdu->ahssize);	for (i = 0; i < pdu->ahssize; i++)		iscsi_dump_char(*buf++);	iscsi_dump_char(-1);	printk("Data: (%d)\n", pdu->datasize);}#else#define iscsi_dump_pdu(x) do {} while (0)#endif#define show_param(param)\{\	eprintk("%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n",\		(param)->initial_r2t,\		(param)->immediate_data,\		(param)->max_connections,\		(param)->max_recv_data_length,\		(param)->max_xmit_data_length,\		(param)->max_burst_length,\		(param)->first_burst_length,\		(param)->default_wait_time,\		(param)->default_retain_time,\		(param)->max_outstanding_r2t,\		(param)->data_pdu_inorder,\		(param)->data_sequence_inorder,\		(param)->error_recovery_level,\		(param)->header_digest,\		(param)->data_digest);\}#endif

⌨️ 快捷键说明

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