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 + -
显示快捷键?