今日正式开工,1、SIP协议重新复习
struct ifreq {
char ifr_name[IFNAMSIZ]; /* interface name, e.g., "le0 " */
union {
struct sockaddr ifru_addr;
struct sockaddr ifru_dstaddr;
struct sockaddr ifru_broadaddr;
short ifru_flags;
int ifru_metric;
caddr_t ifru_data;
} ifr_ifru;
};
ifreq是跟网络接口有关的结构
/*
* interface request structure used for socket
* ioctls. all interface ioctls must have parameter
* definitions which begin with ifr_name. the
* remainder may be interface specific.
*/
struct ifreq
{
#define ifhwaddrlen 6
#define ifnamsiz 16
union
{
char ifrn_name[ifnamsiz]; /* if name, e.g. "en0" */
} ifr_ifrn;
union {
struct sockaddr ifru_addr;
struct sockaddr ifru_dstaddr;
struct sockaddr ifru_broadaddr;
struct sockaddr ifru_netmask;
struct sockaddr ifru_hwaddr;
short ifru_flags;
int ifru_ivalue;
int ifru_mtu;
struct ifmap ifru_map;
char ifru_slave[ifnamsiz]; /* just fits the size */
char ifru_newname[ifnamsiz];
char * ifru_data;
struct if_settings ifru_settings;
} ifr_ifru;
};