21
redirect_url 结构定义如下:
struct redirect_url {
uint32_t size_of_struct;
int interval; /* 跳转间隔 ,单位秒*/
int times; /*跳转次数*/
int prio; /* 规则优先级,值越小优先级越高,范围>=0 */
int islocal; /*页面在路由器本地*/
unsigned long flags[BITS_TO_LONGS(64)]; /*系统参数标识
*/
char args[256]; /* 参数*/
};
data 可 以 为 NULL , 此 时 , interval=0 , times=0 ,
islocal=0,prio=0,flags=0,args[0]=0。
redirect_url 结构成员的含义:
interval:为跳转间隔,单位秒。为 0 时,代表无间隔。
times:为跳转次数。为 0 时,代表无限次。
prio:为规则匹配优先级,数值越小优先级越高
flags:位掩码,用于选择跳转时附带的参数:
/*用户设备的 IP 地址参数,缺省参数名 pcip */
#define URL_ARGS_PCIP 0
/*用户设备的 MAC 地址,缺省参数名 pcmac */
#define URL_ARGS_PCMAC 1
/* LAN 内主机访问路由器 http 服务器 IP 和端口,关键字
rgw*/
#define URL_ARGS_RGW 2
/*路由器 LAN MAC 地址,缺省参数名 rmac */
#define URL_ARGS_RMAC 3
/*路由器 WAN IP 地址,缺省参数名 rip */
#define URL_ARGS_RIP 4
/*认证随机数,缺省参数名 magic */
#define URL_ARGS_MAGIC 5
/*用户设备原本访问的网址,缺省参数名 url */
#define URL_ARGS_URL 6
/*用户来自无线网络的 SSID,缺省参数名 ssid */
#define URL_ARGS_SSID 7
例 如 : 设 置 flags 为 ((1<< URL_ARGS_PCIP)| 1 <<
(URL_ARGS_PCMAC)) 时 , 跳 转 后 会 在 原 url 后 添 加 参数?pcip=xxx&pcmac=xxx。