1.首先我们要进入目录:
指令:cd /usr/include
CLC@Embed_Learn:~$ cd /usr/include
CLC@Embed_Learn:/usr/include$
2.查找在当前目录下的结构体:
指令:grep "struct sockaddr_in {" * -nir
*形式:grep+空格+"结构体+空格+{"+空格+*+空格+-nir*
注意:空格绝不能少,否则绝对找不到或者卡死在那里
// n表示行号,i表示不区分大小写,r是本目录
CLC@Embed_Learn:/usr/include$ grep "struct sockaddr_in {" * -nir
linux/in.h:184:struct sockaddr_in {
CLC@Embed_Learn:/usr/include$
//struct sockaddr_in 结构体的头文件 linux/in.h(小写)
//184 是结构体的定义位置linux/in.h头文件的184行
3.进入该头文件查看该结构体:
指令:vi linux/in.h +184
执行
#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
struct sockaddr_in {
__kernel_sa_family_t sin_family; /* Address family */
__be16 sin_port; /* Port number */
struct in_addr sin_addr; /* Internet address */
/* Pad to size of `struct sockaddr'. */
unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -
sizeof(unsigned short int) - sizeof(struct in_addr)];
};