OpenSips阅读笔记

最近阅读Opensips代码,偶有所想,就随便写写吧。


1. 关于宏:

以前自己也写过,但是没有写过宏内容展开,完全不包含相关变量名的。


#define IFISMETHOD(methodname,firstchar)                                  \
if (  (*tmp==(firstchar) || *tmp==((firstchar) | 32)) &&                  \
        strncasecmp( tmp+1, #methodname +1, methodname##_LEN-1)==0 &&     \
        *(tmp+methodname##_LEN)==' ') {                                   \
                fl->type=SIP_REQUEST;                                     \
                fl->u.request.method.len=methodname##_LEN;                \
                fl->u.request.method_value=METHOD_##methodname;           \
                tmp=buffer+methodname##_LEN;                              \
}


例如:

if (  ) 

{

}  else  IFISMETHOD ( INVITE, 'I' ) 


2. 疑问点:


Radius 实现函数中,有这样一些函数和变量,但是搜不到原始定义

rc_handle *rh;

rh = rc_read_config((char*)(cfg.rest))

rc_read_dictionary(rh, rc_conf_str(rh, "dictionary"))


rc_handle  可以理解为 Resource Control  只能先这样


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值