//===================
//1. sockaddr_in结构
//===================
sockaddr_in = record
case Integer of
0: (sin_family: u_short; //u_short即Word类型,这里必须设置成AF_INET
sin_port: u_short;
sin_addr: TInAddr; // = in_addr
sin_zero: array[0..7] of Char); //保留
1: (sa_family: u_short;
sa_data: array[0..13] of Char)
end;
in_addr = record
case integer of
0: (S_un_b: SunB);
1: (S_un_w: SunW);
2: (S_addr: u_long);
end;
SunB = packed record //Byte
s_b1, s_b2, s_b3, s_b4: u_char;
end;
SunW = packed record //Word
s_w1, s_w2: u_short;
end;
//===================
//2.hostent结构
//===================
hostent = record
h_name: PChar; //NULL结尾的文本字符串指针
h_aliases: ^PChar; //主机的别名清单
h_addrtype: Smallint; //地址类型
h_length: Smallint; //地址长度
case Byte of
0: (h_addr_list: ^PChar); //主机的ip地址清单
1: (h_addr: ^PChar)
end;
netent = record
n_name: PChar;
n_aliases: ^PChar;
n_addrtype: Smallint;
n_net: u_long;
end;
servent = record
s_name: PChar;
s_aliases: ^PChar;
s_port: Word;
s_proto: PChar;
end;
protoent = record
p_name: PChar;
p_aliases: ^Pchar;
p_proto: Smallint;
end;
//===================
//3.WSADat结构
//===================
type
WSAData = record // !!! also WSDATA
wVersion: Word;
wHighVersion: Word;
szDescription: array[0..WSADESCRIPTION_LEN] of Char;
szSystemStatus: array[0..WSASYS_STATUS_LEN] of Char;
iMaxSockets: Word;
iMaxUdpDg: Word;
lpVendorInfo: PChar;
end;