在一個內核模塊,給出sa_family
初始化爲AF_UNSPEC
一個struct sockaddr
,我怎樣才能可靠地確定它是否是一個struct sockaddr_in
或struct sockaddr_in6
?在Linux 3.16.0-4-686-pae(x86)上。確定是否IPv4或IPv6數據結構
struct sockaddr {
unsigned short sa_family; // AF_UNSPEC
char sa_data[14]; // ?
};
struct sockaddr_in {
unsigned short sin_family;
unsigned short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
struct sockaddr_in6 {
unsigned short sin6_family;
unsigned short sin6_port;
unsigned int sin6_flowinfo;
struct in6_addr sin6_addr;
unsigned int sin6_scope_id;
};
爲什麼sa家族設置爲'AF_UNSPEC' –
@GiuseppePes我不知道,它是這樣給出的。 – Sapiro
什麼是模塊?自定義或在主線? – 0xAX