home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / WINSOCK.HPP < prev    next >
C/C++ Source or Header  |  1997-02-28  |  16KB  |  546 lines

  1. //----------------------------------------------------------------------------
  2. // WinSock.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
  3. // From: WinSock.pas
  4. //----------------------------------------------------------------------------
  5. #ifndef WinSockHPP
  6. #define WinSockHPP
  7. //----------------------------------------------------------------------------
  8. #include <Windows.hpp>
  9. #include <System.hpp>
  10. #pragma warn -par
  11. #pragma warn -hid 
  12. #pragma warn -inl
  13.  
  14. namespace Winsock
  15. {
  16. //-- type declarations -------------------------------------------------------
  17. typedef char u_char;
  18.  
  19. typedef Word u_short;
  20.  
  21. typedef int u_int;
  22.  
  23. typedef long u_long;
  24.  
  25. typedef int TSocket;
  26.  
  27. struct TFDSet;
  28. typedef TFDSet *PFDSet;
  29.  
  30. #pragma pack(push, 1)
  31. struct TFDSet
  32. {
  33.     int fd_count;
  34.     int fd_array[64];
  35. } ;
  36. #pragma pack(pop)
  37.  
  38. #pragma pack(push, 1)
  39. struct TTimeVal
  40. {
  41.     long tv_sec;
  42.     long tv_usec;
  43. } ;
  44. #pragma pack(pop)
  45.  
  46. typedef TTimeVal *PTimeVal;
  47.  
  48. struct THostEnt;
  49. typedef THostEnt *PHostEnt;
  50.  
  51. #pragma pack(push, 1)
  52. struct THostEnt
  53. {
  54.     char *h_name;
  55.     char * *h_aliases;
  56.     short h_addrtype;
  57.     short h_length;
  58.     char * *h_addr_list;
  59. } ;
  60. #pragma pack(pop)
  61.  
  62. struct TNetEnt;
  63. typedef TNetEnt *PNetEnt;
  64.  
  65. #pragma pack(push, 1)
  66. struct TNetEnt
  67. {
  68.     char *n_name;
  69.     char * *n_aliases;
  70.     short n_addrtype;
  71.     long n_net;
  72. } ;
  73. #pragma pack(pop)
  74.  
  75. struct TServEnt;
  76. typedef TServEnt *PServEnt;
  77.  
  78. #pragma pack(push, 1)
  79. struct TServEnt
  80. {
  81.     char *s_name;
  82.     char * *s_aliases;
  83.     short s_port;
  84.     char *s_proto;
  85. } ;
  86. #pragma pack(pop)
  87.  
  88. struct TProtoEnt;
  89. typedef TProtoEnt *PProtoEnt;
  90.  
  91. #pragma pack(push, 1)
  92. struct TProtoEnt
  93. {
  94.     char *p_name;
  95.     char * *p_aliases;
  96.     short p_proto;
  97. } ;
  98. #pragma pack(pop)
  99.  
  100. #pragma pack(push, 1)
  101. struct SunB
  102. {
  103.     char s_b1;
  104.     char s_b2;
  105.     char s_b3;
  106.     char s_b4;
  107. } ;
  108. #pragma pack(pop)
  109.  
  110. #pragma pack(push, 1)
  111. struct SunW
  112. {
  113.     Word s_w1;
  114.     Word s_w2;
  115. } ;
  116. #pragma pack(pop)
  117.  
  118. #pragma pack(push, 1)
  119. struct TInAddr
  120. {
  121.     
  122.     union
  123.     {
  124.         long S_addr;
  125.         SunW S_un_w;
  126.         SunB S_un_b;
  127.         
  128.     };
  129. } ;
  130. #pragma pack(pop)
  131.  
  132. typedef TInAddr *PInAddr;
  133.  
  134. struct TSockAddrIn;
  135. typedef TSockAddrIn *PSockAddrIn;
  136.  
  137. #pragma pack(push, 1)
  138. struct TSockAddrIn
  139. {
  140.     
  141.     union
  142.     {
  143.         struct 
  144.         {
  145.             Word sa_family;
  146.             char sa_data[14];
  147.             
  148.         };
  149.         struct 
  150.         {
  151.             Word sin_family;
  152.             Word sin_port;
  153.             TInAddr sin_addr;
  154.             char sin_zero[8];
  155.             
  156.         };
  157.         
  158.     };
  159. } ;
  160. #pragma pack(pop)
  161.  
  162. struct TWSAData;
  163. typedef TWSAData *PWSAData;
  164.  
  165. #pragma pack(push, 1)
  166. struct TWSAData
  167. {
  168.     Word wVersion;
  169.     Word wHighVersion;
  170.     char szDescription[257];
  171.     char szSystemStatus[129];
  172.     Word iMaxSockets;
  173.     Word iMaxUdpDg;
  174.     char *lpVendorInfo;
  175. } ;
  176. #pragma pack(pop)
  177.  
  178. struct TTransmitFileBuffers;
  179. typedef TTransmitFileBuffers *PTransmitFileBuffers;
  180.  
  181. #pragma pack(push, 1)
  182. struct TTransmitFileBuffers
  183. {
  184.     void *Head;
  185.     int HeadLength;
  186.     void *Tail;
  187.     int TailLength;
  188. } ;
  189. #pragma pack(pop)
  190.  
  191. typedef TSockAddrIn *PSockAddr;
  192.  
  193. typedef TSockAddrIn  TSockAddr;
  194.  
  195. #pragma pack(push, 1)
  196. struct TSockProto
  197. {
  198.     Word sp_family;
  199.     Word sp_protocol;
  200. } ;
  201. #pragma pack(pop)
  202.  
  203. typedef TSockProto *PSockProto;
  204.  
  205. #pragma pack(push, 1)
  206. struct TLinger
  207. {
  208.     Word l_onoff;
  209.     Word l_linger;
  210. } ;
  211. #pragma pack(pop)
  212.  
  213. typedef TLinger *PLinger;
  214.  
  215. //-- var, const, procedure ---------------------------------------------------
  216. #define FD_SETSIZE (Byte)(64)
  217. #define IOCPARM_MASK (Byte)(127)
  218. #define IOC_VOID (int)(536870912)
  219. #define IOC_OUT (int)(1073741824)
  220. #define IOC_IN (int)(-2147483648)
  221. #define IOC_INOUT (int)(-1073741824)
  222. #define FIONREAD (int)(1074030207)
  223. #define FIONBIO (int)(-2147195266)
  224. #define FIOASYNC (int)(-2147195267)
  225. #define IPPROTO_IP (Byte)(0)
  226. #define IPPROTO_ICMP (Byte)(1)
  227. #define IPPROTO_GGP (Byte)(2)
  228. #define IPPROTO_TCP (Byte)(6)
  229. #define IPPROTO_PUP (Byte)(12)
  230. #define IPPROTO_UDP (Byte)(17)
  231. #define IPPROTO_IDP (Byte)(22)
  232. #define IPPROTO_ND (Byte)(77)
  233. #define IPPROTO_RAW (Byte)(255)
  234. #define IPPROTO_MAX (Word)(256)
  235. #define IPPORT_ECHO (Byte)(7)
  236. #define IPPORT_DISCARD (Byte)(9)
  237. #define IPPORT_SYSTAT (Byte)(11)
  238. #define IPPORT_DAYTIME (Byte)(13)
  239. #define IPPORT_NETSTAT (Byte)(15)
  240. #define IPPORT_FTP (Byte)(21)
  241. #define IPPORT_TELNET (Byte)(23)
  242. #define IPPORT_SMTP (Byte)(25)
  243. #define IPPORT_TIMESERVER (Byte)(37)
  244. #define IPPORT_NAMESERVER (Byte)(42)
  245. #define IPPORT_WHOIS (Byte)(43)
  246. #define IPPORT_MTP (Byte)(57)
  247. #define IPPORT_TFTP (Byte)(69)
  248. #define IPPORT_RJE (Byte)(77)
  249. #define IPPORT_FINGER (Byte)(79)
  250. #define IPPORT_TTYLINK (Byte)(87)
  251. #define IPPORT_SUPDUP (Byte)(95)
  252. #define IPPORT_EXECSERVER (Word)(512)
  253. #define IPPORT_LOGINSERVER (Word)(513)
  254. #define IPPORT_CMDSERVER (Word)(514)
  255. #define IPPORT_EFSSERVER (Word)(520)
  256. #define IPPORT_BIFFUDP (Word)(512)
  257. #define IPPORT_WHOSERVER (Word)(513)
  258. #define IPPORT_ROUTESERVER (Word)(520)
  259. #define IPPORT_RESERVED (Word)(1024)
  260. #define IMPLINK_IP (Byte)(155)
  261. #define IMPLINK_LOWEXPER (Byte)(156)
  262. #define IMPLINK_HIGHEXPER (Byte)(158)
  263. #define INADDR_ANY (Byte)(0)
  264. #define INADDR_LOOPBACK (int)(2130706433)
  265. #define INADDR_BROADCAST (Shortint)(-1)
  266. #define INADDR_NONE (Shortint)(-1)
  267. #define WSADESCRIPTION_LEN (Word)(256)
  268. #define WSASYS_STATUS_LEN (Byte)(128)
  269. #define IP_OPTIONS (Byte)(1)
  270. #define IP_MULTICAST_IF (Byte)(2)
  271. #define IP_MULTICAST_TTL (Byte)(3)
  272. #define IP_MULTICAST_LOOP (Byte)(4)
  273. #define IP_ADD_MEMBERSHIP (Byte)(5)
  274. #define IP_DROP_MEMBERSHIP (Byte)(6)
  275. #define IP_DEFAULT_MULTICAST_TTL (Byte)(1)
  276. #define IP_DEFAULT_MULTICAST_LOOP (Byte)(1)
  277. #define IP_MAX_MEMBERSHIPS (Byte)(20)
  278. #define INVALID_SOCKET (int)(-1)
  279. #define SOCKET_ERROR (Shortint)(-1)
  280. #define SOCK_STREAM (Byte)(1)
  281. #define SOCK_DGRAM (Byte)(2)
  282. #define SOCK_RAW (Byte)(3)
  283. #define SOCK_RDM (Byte)(4)
  284. #define SOCK_SEQPACKET (Byte)(5)
  285. #define SO_DEBUG (Byte)(1)
  286. #define SO_ACCEPTCONN (Byte)(2)
  287. #define SO_REUSEADDR (Byte)(4)
  288. #define SO_KEEPALIVE (Byte)(8)
  289. #define SO_DONTROUTE (Byte)(16)
  290. #define SO_BROADCAST (Byte)(32)
  291. #define SO_USELOOPBACK (Byte)(64)
  292. #define SO_LINGER (Byte)(128)
  293. #define SO_OOBINLINE (Word)(256)
  294. #define SO_DONTLINGER (int)(65407)
  295. #define SO_SNDBUF (Word)(4097)
  296. #define SO_RCVBUF (Word)(4098)
  297. #define SO_SNDLOWAT (Word)(4099)
  298. #define SO_RCVLOWAT (Word)(4100)
  299. #define SO_SNDTIMEO (Word)(4101)
  300. #define SO_RCVTIMEO (Word)(4102)
  301. #define SO_ERROR (Word)(4103)
  302. #define SO_TYPE (Word)(4104)
  303. #define SO_CONNDATA (Word)(28672)
  304. #define SO_CONNOPT (Word)(28673)
  305. #define SO_DISCDATA (Word)(28674)
  306. #define SO_DISCOPT (Word)(28675)
  307. #define SO_CONNDATALEN (Word)(28676)
  308. #define SO_CONNOPTLEN (Word)(28677)
  309. #define SO_DISCDATALEN (Word)(28678)
  310. #define SO_DISCOPTLEN (Word)(28679)
  311. #define SO_OPENTYPE (Word)(28680)
  312. #define SO_SYNCHRONOUS_ALERT (Byte)(16)
  313. #define SO_SYNCHRONOUS_NONALERT (Byte)(32)
  314. #define SO_MAXDG (Word)(28681)
  315. #define SO_MAXPATHDG (Word)(28682)
  316. #define TCP_NODELAY (Byte)(1)
  317. #define TCP_BSDURGENT (Word)(28672)
  318. #define AF_UNSPEC (Byte)(0)
  319. #define AF_UNIX (Byte)(1)
  320. #define AF_INET (Byte)(2)
  321. #define AF_IMPLINK (Byte)(3)
  322. #define AF_PUP (Byte)(4)
  323. #define AF_CHAOS (Byte)(5)
  324. #define AF_IPX (Byte)(6)
  325. #define AF_NS (Byte)(6)
  326. #define AF_ISO (Byte)(7)
  327. #define AF_OSI (Byte)(7)
  328. #define AF_ECMA (Byte)(8)
  329. #define AF_DATAKIT (Byte)(9)
  330. #define AF_CCITT (Byte)(10)
  331. #define AF_SNA (Byte)(11)
  332. #define AF_DECnet (Byte)(12)
  333. #define AF_DLI (Byte)(13)
  334. #define AF_LAT (Byte)(14)
  335. #define AF_HYLINK (Byte)(15)
  336. #define AF_APPLETALK (Byte)(16)
  337. #define AF_NETBIOS (Byte)(17)
  338. #define AF_VOICEVIEW (Byte)(18)
  339. #define AF_MAX (Byte)(19)
  340. #define PF_UNSPEC (Byte)(0)
  341. #define PF_UNIX (Byte)(1)
  342. #define PF_INET (Byte)(2)
  343. #define PF_IMPLINK (Byte)(3)
  344. #define PF_PUP (Byte)(4)
  345. #define PF_CHAOS (Byte)(5)
  346. #define PF_NS (Byte)(6)
  347. #define PF_IPX (Byte)(6)
  348. #define PF_ISO (Byte)(7)
  349. #define PF_OSI (Byte)(7)
  350. #define PF_ECMA (Byte)(8)
  351. #define PF_DATAKIT (Byte)(9)
  352. #define PF_CCITT (Byte)(10)
  353. #define PF_SNA (Byte)(11)
  354. #define PF_DECnet (Byte)(12)
  355. #define PF_DLI (Byte)(13)
  356. #define PF_LAT (Byte)(14)
  357. #define PF_HYLINK (Byte)(15)
  358. #define PF_APPLETALK (Byte)(16)
  359. #define PF_VOICEVIEW (Byte)(18)
  360. #define PF_MAX (Byte)(19)
  361. #define SOL_SOCKET (int)(65535)
  362. #define SOMAXCONN (Byte)(5)
  363. #define MSG_OOB (Byte)(1)
  364. #define MSG_PEEK (Byte)(2)
  365. #define MSG_DONTROUTE (Byte)(4)
  366. #define MSG_MAXIOVLEN (Byte)(16)
  367. #define MSG_PARTIAL (int)(32768)
  368. #define MAXGETHOSTSTRUCT (Word)(1024)
  369. #define FD_READ (Byte)(1)
  370. #define FD_WRITE (Byte)(2)
  371. #define FD_OOB (Byte)(4)
  372. #define FD_ACCEPT (Byte)(8)
  373. #define FD_CONNECT (Byte)(16)
  374. #define FD_CLOSE (Byte)(32)
  375. #define WSABASEERR (Word)(10000)
  376. #define WSAEINTR (Word)(10004)
  377. #define WSAEBADF (Word)(10009)
  378. #define WSAEACCES (Word)(10013)
  379. #define WSAEFAULT (Word)(10014)
  380. #define WSAEINVAL (Word)(10022)
  381. #define WSAEMFILE (Word)(10024)
  382. #define WSAEWOULDBLOCK (Word)(10035)
  383. #define WSAEINPROGRESS (Word)(10036)
  384. #define WSAEALREADY (Word)(10037)
  385. #define WSAENOTSOCK (Word)(10038)
  386. #define WSAEDESTADDRREQ (Word)(10039)
  387. #define WSAEMSGSIZE (Word)(10040)
  388. #define WSAEPROTOTYPE (Word)(10041)
  389. #define WSAENOPROTOOPT (Word)(10042)
  390. #define WSAEPROTONOSUPPORT (Word)(10043)
  391. #define WSAESOCKTNOSUPPORT (Word)(10044)
  392. #define WSAEOPNOTSUPP (Word)(10045)
  393. #define WSAEPFNOSUPPORT (Word)(10046)
  394. #define WSAEAFNOSUPPORT (Word)(10047)
  395. #define WSAEADDRINUSE (Word)(10048)
  396. #define WSAEADDRNOTAVAIL (Word)(10049)
  397. #define WSAENETDOWN (Word)(10050)
  398. #define WSAENETUNREACH (Word)(10051)
  399. #define WSAENETRESET (Word)(10052)
  400. #define WSAECONNABORTED (Word)(10053)
  401. #define WSAECONNRESET (Word)(10054)
  402. #define WSAENOBUFS (Word)(10055)
  403. #define WSAEISCONN (Word)(10056)
  404. #define WSAENOTCONN (Word)(10057)
  405. #define WSAESHUTDOWN (Word)(10058)
  406. #define WSAETOOMANYREFS (Word)(10059)
  407. #define WSAETIMEDOUT (Word)(10060)
  408. #define WSAECONNREFUSED (Word)(10061)
  409. #define WSAELOOP (Word)(10062)
  410. #define WSAENAMETOOLONG (Word)(10063)
  411. #define WSAEHOSTDOWN (Word)(10064)
  412. #define WSAEHOSTUNREACH (Word)(10065)
  413. #define WSAENOTEMPTY (Word)(10066)
  414. #define WSAEPROCLIM (Word)(10067)
  415. #define WSAEUSERS (Word)(10068)
  416. #define WSAEDQUOT (Word)(10069)
  417. #define WSAESTALE (Word)(10070)
  418. #define WSAEREMOTE (Word)(10071)
  419. #define WSAEDISCON (Word)(10101)
  420. #define WSASYSNOTREADY (Word)(10091)
  421. #define WSAVERNOTSUPPORTED (Word)(10092)
  422. #define WSANOTINITIALISED (Word)(10093)
  423. #define WSAHOST_NOT_FOUND (Word)(11001)
  424. #define HOST_NOT_FOUND (Word)(11001)
  425. #define WSATRY_AGAIN (Word)(11002)
  426. #define TRY_AGAIN (Word)(11002)
  427. #define WSANO_RECOVERY (Word)(11003)
  428. #define NO_RECOVERY (Word)(11003)
  429. #define WSANO_DATA (Word)(11004)
  430. #define NO_DATA (Word)(11004)
  431. #define WSANO_ADDRESS (Word)(11004)
  432. #define NO_ADDRESS (Word)(11004)
  433. #define EWOULDBLOCK (Word)(10035)
  434. #define EINPROGRESS (Word)(10036)
  435. #define EALREADY (Word)(10037)
  436. #define ENOTSOCK (Word)(10038)
  437. #define EDESTADDRREQ (Word)(10039)
  438. #define EMSGSIZE (Word)(10040)
  439. #define EPROTOTYPE (Word)(10041)
  440. #define ENOPROTOOPT (Word)(10042)
  441. #define EPROTONOSUPPORT (Word)(10043)
  442. #define ESOCKTNOSUPPORT (Word)(10044)
  443. #define EOPNOTSUPP (Word)(10045)
  444. #define EPFNOSUPPORT (Word)(10046)
  445. #define EAFNOSUPPORT (Word)(10047)
  446. #define EADDRINUSE (Word)(10048)
  447. #define EADDRNOTAVAIL (Word)(10049)
  448. #define ENETDOWN (Word)(10050)
  449. #define ENETUNREACH (Word)(10051)
  450. #define ENETRESET (Word)(10052)
  451. #define ECONNABORTED (Word)(10053)
  452. #define ECONNRESET (Word)(10054)
  453. #define ENOBUFS (Word)(10055)
  454. #define EISCONN (Word)(10056)
  455. #define ENOTCONN (Word)(10057)
  456. #define ESHUTDOWN (Word)(10058)
  457. #define ETOOMANYREFS (Word)(10059)
  458. #define ETIMEDOUT (Word)(10060)
  459. #define ECONNREFUSED (Word)(10061)
  460. #define ELOOP (Word)(10062)
  461. #define ENAMETOOLONG (Word)(10063)
  462. #define EHOSTDOWN (Word)(10064)
  463. #define EHOSTUNREACH (Word)(10065)
  464. #define ENOTEMPTY (Word)(10066)
  465. #define EPROCLIM (Word)(10067)
  466. #define EUSERS (Word)(10068)
  467. #define EDQUOT (Word)(10069)
  468. #define ESTALE (Word)(10070)
  469. #define EREMOTE (Word)(10071)
  470. extern long __fastcall WSAMakeSyncReply(Word Buflen, Word Error);
  471. extern long __fastcall WSAMakeSelectReply(Word Event, Word Error);
  472. extern Word __fastcall WSAGetAsyncBuflen(long Param);
  473. extern Word __fastcall WSAGetAsyncError(long Param);
  474. extern Word __fastcall WSAGetSelectEvent(long Param);
  475. extern Word __fastcall WSAGetSelectError(long Param);
  476. extern "C" int __stdcall accept(int s, TSockAddrIn &addr, int &addrlen);
  477. extern "C" int __stdcall bind(int s, TSockAddrIn &addr, int namelen);
  478. extern "C" int __stdcall closesocket(int s);
  479. extern "C" int __stdcall connect(int s, TSockAddrIn &name, int namelen);
  480. extern "C" int __stdcall getpeername(int s, TSockAddrIn &name, int &namelen);
  481. extern "C" int __stdcall getsockname(int s, TSockAddrIn &name, int &namelen);
  482. extern "C" int __stdcall getsockopt(int s, int level, int optname, char * optval, int &optlen);
  483. extern "C" long __stdcall htonl(long hostlong);
  484. extern "C" Word __stdcall htons(Word hostshort);
  485. extern "C" long __stdcall inet_addr(char * cp);
  486. extern "C" char * __stdcall inet_ntoa(TInAddr inaddr);
  487. extern "C" int __stdcall ioctlsocket(int s, long cmd, long &arg);
  488. extern "C" int __stdcall listen(int s, int backlog);
  489. extern "C" long __stdcall ntohl(long netlong);
  490. extern "C" Word __stdcall ntohs(Word netshort);
  491. extern "C" int __stdcall recv(int s, void *Buf, int len, int flags);
  492. extern "C" int __stdcall recvfrom(int s, void *Buf, int len, int flags, TSockAddrIn &from, int &fromlen
  493.     );
  494. extern "C" long __stdcall select(int nfds, PFDSet readfds, PFDSet writefds, PFDSet exceptfds, PTimeVal 
  495.     timeout);
  496. extern "C" int __stdcall send(int s, void *Buf, int len, int flags);
  497. extern "C" int __stdcall sendto(int s, void *Buf, int len, int flags, TSockAddrIn &addrto, int tolen
  498.     );
  499. extern "C" int __stdcall setsockopt(int s, int level, int optname, char * optval, int optlen);
  500. extern "C" int __stdcall shutdown(int s, int how);
  501. extern "C" int __stdcall socket(int af, int Struct, int protocol);
  502. extern "C" PHostEnt __stdcall gethostbyaddr(void * addr, int len, int Struct);
  503. extern "C" PHostEnt __stdcall gethostbyname(char * name);
  504. extern "C" PProtoEnt __stdcall getprotobyname(char * name);
  505. extern "C" PProtoEnt __stdcall getprotobynumber(int proto);
  506. extern "C" PServEnt __stdcall getservbyname(char * name, char * proto);
  507. extern "C" PServEnt __stdcall getservbyport(int port, char * proto);
  508. extern "C" int __stdcall gethostname(char * name, int len);
  509. extern "C" int __stdcall WSAAsyncSelect(int s, HWND HWindow, int wMsg, long lEvent);
  510. extern "C" int __stdcall WSARecvEx(int s, void *buf, int len, int &flags);
  511. extern "C" int __stdcall WSAAsyncGetHostByAddr(HWND HWindow, int wMsg, char * addr, int len, int Struct
  512.     , char * buf, int buflen);
  513. extern "C" int __stdcall WSAAsyncGetHostByName(HWND HWindow, int wMsg, char * name, char * buf, int 
  514.     buflen);
  515. extern "C" int __stdcall WSAAsyncGetProtoByNumber(HWND HWindow, int wMsg, int number, char * buf, int 
  516.     buflen);
  517. extern "C" int __stdcall WSAAsyncGetProtoByName(HWND HWindow, int wMsg, char * name, char * buf, int 
  518.     buflen);
  519. extern "C" int __stdcall WSAAsyncGetServByPort(HWND HWindow, int wMsg, int port, char * proto, char * 
  520.     buf, int buflen);
  521. extern "C" int __stdcall WSAAsyncGetServByName(HWND HWindow, int wMsg, char * name, char * proto, char * 
  522.     buf, int buflen);
  523. extern "C" int __stdcall WSACancelAsyncRequest(int hAsyncTaskHandle);
  524. extern "C" void * __stdcall WSASetBlockingHook(void * lpBlockFunc);
  525. extern "C" int __stdcall WSAUnhookBlockingHook(void);
  526. extern "C" int __stdcall WSAGetLastError(void);
  527. extern "C" void __stdcall WSASetLastError(int iError);
  528. extern "C" int __stdcall WSACancelBlockingCall(void);
  529. extern "C" DWord __stdcall WSAIsBlocking(void);
  530. extern "C" int __stdcall WSAStartup(Word wVersionRequired, TWSAData &WSData);
  531. extern "C" int __stdcall WSACleanup(void);
  532. extern "C" DWord __stdcall TransmitFile(int hSocket, int hFile, int nNumberOfBytesToWrite, int nNumberOfBytesPerSend
  533.     , Windows::POverlapped lpOverlapped, PTransmitFileBuffers lpTransmitBuffers, int dwReserved);
  534.  
  535. }    /* namespace Winsock */
  536.  
  537. #pragma warn .par
  538. #pragma warn .hid 
  539. #pragma warn .inl
  540.  
  541. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  542. using namespace Winsock;
  543. #endif
  544. //-- end unit ----------------------------------------------------------------
  545. #endif    // WinSock
  546.