my_protocol.c

来自「一个基于linux的TCP/IP协议栈的实现」· C语言 代码 · 共 42 行

C
42
字号
struct net_protocol *myinet_protos[MAX_INET_PROTOS];static DEFINE_SPINLOCK( myinet_proto_lock );int myinet_add_protocol(struct net_protocol *prot, unsigned char protocol){	int hash, ret;	hash = protocol & (MAX_INET_PROTOS - 1);	spin_lock_bh(&myinet_proto_lock);	if( myinet_protos[hash] ){		ret = -1;	} else {		myinet_protos[hash] = prot;		ret = 0;	}	spin_unlock_bh(&myinet_proto_lock);	return ret;} int myinet_del_protocol(struct net_protocol *prot, unsigned char protocol){	int hash, ret;	hash = protocol & (MAX_INET_PROTOS - 1);	spin_lock_bh( &myinet_proto_lock );	if( myinet_protos[hash] == prot ){		myinet_protos[hash] = NULL;		ret = 0;	} else {		ret = -1;	}	spin_unlock_bh( &myinet_proto_lock );	synchronize_net();	return ret;}

⌨️ 快捷键说明

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