//===================
//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;

 

posted on 2009-08-10 20:54  on_road  阅读(564)  评论(0编辑  收藏  举报