ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

winsock.h
Go to the documentation of this file.
00001 /*
00002   Definitions for winsock 1.1
00003 
00004   Portions Copyright (c) 1980, 1983, 1988, 1993
00005   The Regents of the University of California.  All rights reserved.
00006 
00007   Portions Copyright (c) 1993 by Digital Equipment Corporation.
00008  */
00009 
00010 #pragma once
00011 
00012 #define _WINSOCKAPI_
00013 
00014 #ifndef _INC_WINDOWS
00015 #include <windows.h>
00016 #endif
00017 
00018 #ifndef _M_AMD64
00019 #if !defined(__ROS_LONG64__)
00020 #ifdef __WINESRC__
00021 #define __ROS_LONG64__
00022 #endif
00023 #endif
00024 #endif
00025 
00026 #define _GNU_H_WINDOWS32_SOCKETS
00027 
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031 
00032 #if !defined ( _BSDTYPES_DEFINED )
00033 
00034 /* also defined in gmon.h and in cygwin's sys/types */
00035 typedef unsigned char u_char;
00036 typedef unsigned short u_short;
00037 typedef unsigned int u_int;
00038 
00039 #ifndef __ROS_LONG64__
00040 typedef unsigned long u_long;
00041 #else
00042 typedef unsigned int u_long;
00043 #endif
00044 
00045 #define _BSDTYPES_DEFINED
00046 
00047 #endif /* !defined ( _BSDTYPES_DEFINED ) */
00048 
00049 typedef UINT_PTR SOCKET;
00050 
00051 #ifndef FD_SETSIZE
00052 #define FD_SETSIZE 64
00053 #endif
00054 
00055 /* shutdown() how types */
00056 #define SD_RECEIVE      0x00
00057 #define SD_SEND         0x01
00058 #define SD_BOTH         0x02
00059 
00060 #ifndef _SYS_TYPES_FD_SET
00061 
00062 /* fd_set may have be defined by the newlib <sys/types.h>
00063  * if __USE_W32_SOCKETS not defined.
00064  */
00065 #ifdef fd_set
00066 #undef fd_set
00067 #endif
00068 typedef struct fd_set {
00069   u_int fd_count;
00070   SOCKET fd_array[FD_SETSIZE];
00071 } fd_set;
00072 
00073 extern int PASCAL __WSAFDIsSet(SOCKET,fd_set FAR*);
00074 
00075 #ifndef FD_CLR
00076 #define FD_CLR(fd,set) do { u_int __i;\
00077 for (__i = 0; __i < ((fd_set FAR*)(set))->fd_count ; __i++) {\
00078   if (((fd_set FAR*)(set))->fd_array[__i] == (fd)) {\
00079   while (__i < ((fd_set FAR*)(set))->fd_count-1) {\
00080     ((fd_set FAR*)(set))->fd_array[__i] = ((fd_set FAR*)(set))->fd_array[__i+1];\
00081     __i++;\
00082   }\
00083   ((fd_set FAR*)(set))->fd_count--;\
00084   break;\
00085   }\
00086 }\
00087 } while (0)
00088 #endif /* FD_CLR */
00089 
00090 #ifndef FD_SET
00091 #define FD_SET(fd, set) do { \
00092   if (((fd_set FAR*)(set))->fd_count < FD_SETSIZE) \
00093   ((fd_set FAR*)(set))->fd_array[((fd_set FAR*)(set))->fd_count++]=(fd);\
00094 }while (0)
00095 #endif
00096 
00097 #ifndef FD_ZERO
00098 #define FD_ZERO(set) (((fd_set FAR*)(set))->fd_count=0)
00099 #endif
00100 
00101 #ifndef FD_ISSET
00102 #define FD_ISSET(fd, set) __WSAFDIsSet((SOCKET)(fd), (fd_set FAR*)(set))
00103 #endif
00104 
00105 
00106 
00107 #elif !defined(USE_SYS_TYPES_FD_SET)
00108 #warning "fd_set and associated macros have been defined in sys/types.  \
00109     This can cause runtime problems with W32 sockets"
00110 #endif /* ndef _SYS_TYPES_FD_SET */
00111 
00112 #if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))
00113 
00114 #ifndef _TIMEVAL_DEFINED /* also in sys/time.h */
00115 #define _TIMEVAL_DEFINED
00116 
00117 struct timeval {
00118   LONG tv_sec;
00119   LONG tv_usec;
00120 };
00121 
00122 #define timerisset(tvp) ((tvp)->tv_sec || (tvp)->tv_usec)
00123 
00124 #define timercmp(tvp, uvp, cmp) \
00125   (((tvp)->tv_sec != (uvp)->tv_sec) ? \
00126   ((tvp)->tv_sec cmp (uvp)->tv_sec) : \
00127   ((tvp)->tv_usec cmp (uvp)->tv_usec))
00128 
00129 #define timerclear(tvp) (tvp)->tv_sec = (tvp)->tv_usec = 0
00130 
00131 #endif /* _TIMEVAL_DEFINED */
00132 
00133 #define h_addr h_addr_list[0]
00134 
00135 struct hostent {
00136   char *h_name;
00137   char **h_aliases;
00138   short h_addrtype;
00139   short h_length;
00140   char **h_addr_list;
00141 };
00142 
00143 struct linger {
00144   u_short l_onoff;
00145   u_short l_linger;
00146 };
00147 
00148 #define _IO(x,y) (IOC_VOID|((x)<<8)|(y))
00149 #define _IOR(x,y,t) (IOC_OUT|(((LONG)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
00150 #define _IOW(x,y,t) (IOC_IN|(((LONG)sizeof(t)&IOCPARM_MASK)<<16)|((x)<<8)|(y))
00151 #define FIONBIO _IOW('f', 126, u_long)
00152 
00153 struct netent {
00154   char * n_name;
00155   char **n_aliases;
00156   short n_addrtype;
00157   u_long n_net;
00158 };
00159 
00160 struct servent {
00161   char *s_name;
00162   char **s_aliases;
00163 #ifdef _WIN64
00164   char *s_proto;
00165   short s_port;
00166 #else
00167   short s_port;
00168   char *s_proto;
00169 #endif
00170 };
00171 
00172 struct protoent {
00173   char *p_name;
00174   char **p_aliases;
00175   short p_proto;
00176 };
00177 
00178 #define IP_OPTIONS 1
00179 
00180 #define SO_DEBUG 1
00181 #define SO_ACCEPTCONN 2
00182 #define SO_REUSEADDR 4
00183 #define SO_KEEPALIVE 8
00184 #define SO_DONTROUTE 16
00185 #define SO_BROADCAST 32
00186 #define SO_USELOOPBACK 64
00187 #define SO_LINGER 128
00188 #define SO_OOBINLINE 256
00189 #define SO_DONTLINGER (u_int)(~SO_LINGER)
00190 #define SO_SNDBUF 0x1001
00191 #define SO_RCVBUF 0x1002
00192 #define SO_SNDLOWAT 0x1003
00193 #define SO_RCVLOWAT 0x1004
00194 #define SO_SNDTIMEO 0x1005
00195 #define SO_RCVTIMEO 0x1006
00196 #define SO_ERROR 0x1007
00197 #define SO_TYPE 0x1008
00198 
00199 #define SO_CONNDATA     0x7000
00200 #define SO_CONNOPT      0x7001
00201 #define SO_DISCDATA     0x7002
00202 #define SO_DISCOPT      0x7003
00203 #define SO_CONNDATALEN  0x7004
00204 #define SO_CONNOPTLEN   0x7005
00205 #define SO_DISCDATALEN  0x7006
00206 #define SO_DISCOPTLEN   0x7007
00207 #define SO_OPENTYPE     0x7008
00208 #define SO_MAXDG        0x7009
00209 #define SO_MAXPATHDG    0x700A
00210 #define SO_UPDATE_ACCEPT_CONTEXT 0x700B
00211 #define SO_CONNECT_TIME 0x700C
00212 
00213 #define SO_SYNCHRONOUS_ALERT    0x10
00214 #define SO_SYNCHRONOUS_NONALERT 0x20
00215 
00216 #define AF_MAX 24
00217 
00218 struct sockaddr {
00219   u_short sa_family;
00220   char sa_data[14];
00221 };
00222 
00223 #define MSG_OOB                  1
00224 #define MSG_PEEK                 2
00225 #define MSG_DONTROUTE            4
00226 
00227 #define h_errno WSAGetLastError()
00228 #define HOST_NOT_FOUND WSAHOST_NOT_FOUND
00229 #define TRY_AGAIN WSATRY_AGAIN
00230 #define NO_RECOVERY WSANO_RECOVERY
00231 #define NO_DATA WSANO_DATA
00232 #define NO_ADDRES WSANO_ADDRESS
00233 
00234 u_long PASCAL htonl(u_long);
00235 u_long PASCAL ntohl(u_long);
00236 u_short PASCAL htons(u_short);
00237 u_short PASCAL ntohs(u_short);
00238 int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);
00239 int PASCAL gethostname(char*,int);
00240 
00241 #endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */
00242 
00243 #define IOCPARM_MASK             0x7f
00244 #define IOC_VOID                 0x20000000
00245 #define IOC_OUT                  0x40000000
00246 #define IOC_IN                   0x80000000
00247 #define IOC_INOUT                (IOC_IN|IOC_OUT)
00248 
00249 #define FIONREAD _IOR('f', 127, u_long)
00250 #define FIOASYNC _IOW('f', 125, u_long)
00251 #define SIOCSHIWAT _IOW('s',  0, u_long)
00252 #define SIOCGHIWAT _IOR('s',  1, u_long)
00253 #define SIOCSLOWAT _IOW('s',  2, u_long)
00254 #define SIOCGLOWAT _IOR('s',  3, u_long)
00255 #define SIOCATMARK _IOR('s',  7, u_long)
00256 
00257 #define IPPROTO_IP               0
00258 #define IPPROTO_ICMP             1
00259 #define IPPROTO_IGMP             2
00260 #define IPPROTO_GGP              3
00261 #define IPPROTO_TCP              6
00262 #define IPPROTO_PUP              12
00263 #define IPPROTO_UDP              17
00264 #define IPPROTO_IDP              22
00265 #define IPPROTO_ND               77
00266 #define IPPROTO_RAW              255
00267 #define IPPROTO_MAX              256
00268 #define IPPORT_ECHO              7
00269 #define IPPORT_DISCARD           9
00270 #define IPPORT_SYSTAT            11
00271 #define IPPORT_DAYTIME           13
00272 #define IPPORT_NETSTAT           15
00273 #define IPPORT_FTP               21
00274 #define IPPORT_TELNET            23
00275 #define IPPORT_SMTP              25
00276 #define IPPORT_TIMESERVER        37
00277 #define IPPORT_NAMESERVER        42
00278 #define IPPORT_WHOIS             43
00279 #define IPPORT_MTP               57
00280 #define IPPORT_TFTP              69
00281 #define IPPORT_RJE               77
00282 #define IPPORT_FINGER            79
00283 #define IPPORT_TTYLINK           87
00284 #define IPPORT_SUPDUP            95
00285 #define IPPORT_EXECSERVER        512
00286 #define IPPORT_LOGINSERVER       513
00287 #define IPPORT_CMDSERVER         514
00288 #define IPPORT_EFSSERVER         520
00289 #define IPPORT_BIFFUDP           512
00290 #define IPPORT_WHOSERVER         513
00291 #define IPPORT_ROUTESERVER       520
00292 #define IPPORT_RESERVED          1024
00293 #define IMPLINK_IP               155
00294 #define IMPLINK_LOWEXPER         156
00295 #define IMPLINK_HIGHEXPER        158
00296 
00297 #include <inaddr.h>
00298 
00299 #define IN_CLASSA(i) ((LONG)(i)&0x80000000)
00300 #define IN_CLASSA_NET 0xff000000
00301 #define IN_CLASSA_NSHIFT 24
00302 #define IN_CLASSA_HOST 0x00ffffff
00303 #define IN_CLASSA_MAX 128
00304 #define IN_CLASSB(i) (((LONG)(i)&0xc0000000)==0x80000000)
00305 #define IN_CLASSB_NET    0xffff0000
00306 #define IN_CLASSB_NSHIFT 16
00307 #define IN_CLASSB_HOST   0x0000ffff
00308 #define IN_CLASSB_MAX    65536
00309 #define IN_CLASSC(i) (((LONG)(i)&0xe0000000)==0xc0000000)
00310 #define IN_CLASSC_NET    0xffffff00
00311 #define IN_CLASSC_NSHIFT 8
00312 #define IN_CLASSC_HOST   0xff
00313 #define INADDR_ANY       (u_long)0
00314 #define INADDR_LOOPBACK  0x7f000001
00315 #define INADDR_BROADCAST (u_long)0xffffffff
00316 #define INADDR_NONE 0xffffffff
00317 
00318 #define WSADESCRIPTION_LEN   256
00319 #define WSASYS_STATUS_LEN    128
00320 
00321 #define IP_MULTICAST_IF 2
00322 #define IP_MULTICAST_TTL 3
00323 #define IP_MULTICAST_LOOP 4
00324 #define IP_ADD_MEMBERSHIP 5
00325 #define IP_DROP_MEMBERSHIP 6
00326 #define IP_TTL 7
00327 #define IP_TOS 8
00328 #define IP_DONTFRAGMENT 9
00329 
00330 #define IP_DEFAULT_MULTICAST_TTL   1
00331 #define IP_DEFAULT_MULTICAST_LOOP  1
00332 #define IP_MAX_MEMBERSHIPS  20
00333 
00334 #define INVALID_SOCKET (SOCKET)(~0)
00335 #define SOCKET_ERROR (-1)
00336 
00337 #define SOCK_STREAM 1
00338 #define SOCK_DGRAM 2
00339 #define SOCK_RAW 3
00340 #define SOCK_RDM 4
00341 #define SOCK_SEQPACKET 5
00342 
00343 #define TCP_NODELAY     0x0001
00344 #define TCP_BSDURGENT   0x7000
00345 
00346 #define AF_UNSPEC 0
00347 #define AF_UNIX 1
00348 #define AF_INET 2
00349 #define AF_IMPLINK 3
00350 #define AF_PUP 4
00351 #define AF_CHAOS 5
00352 #define AF_IPX 6
00353 #define AF_NS 6
00354 #define AF_ISO 7
00355 #define AF_OSI AF_ISO
00356 #define AF_ECMA 8
00357 #define AF_DATAKIT 9
00358 #define AF_CCITT 10
00359 #define AF_SNA 11
00360 #define AF_DECnet 12
00361 #define AF_DLI 13
00362 #define AF_LAT 14
00363 #define AF_HYLINK 15
00364 #define AF_APPLETALK 16
00365 #define AF_NETBIOS 17
00366 #define AF_VOICEVIEW 18
00367 #define AF_FIREFOX 19
00368 #define AF_UNKNOWN1 20
00369 #define AF_BAN 21
00370 #define AF_ATM 22
00371 #define AF_INET6 23
00372 
00373 #define PF_UNSPEC AF_UNSPEC
00374 #define PF_UNIX AF_UNIX
00375 #define PF_INET AF_INET
00376 #define PF_IMPLINK AF_IMPLINK
00377 #define PF_PUP AF_PUP
00378 #define PF_CHAOS AF_CHAOS
00379 #define PF_NS AF_NS
00380 #define PF_IPX AF_IPX
00381 #define PF_ISO AF_ISO
00382 #define PF_OSI AF_OSI
00383 #define PF_ECMA AF_ECMA
00384 #define PF_DATAKIT AF_DATAKIT
00385 #define PF_CCITT AF_CCITT
00386 #define PF_SNA AF_SNA
00387 #define PF_DECnet AF_DECnet
00388 #define PF_DLI AF_DLI
00389 #define PF_LAT AF_LAT
00390 #define PF_HYLINK AF_HYLINK
00391 #define PF_APPLETALK AF_APPLETALK
00392 #define PF_VOICEVIEW AF_VOICEVIEW
00393 #define PF_FIREFOX AF_FIREFOX
00394 #define PF_UNKNOWN1 AF_UNKNOWN1
00395 #define PF_BAN AF_BAN
00396 #define PF_ATM AF_ATM
00397 #define PF_INET6 AF_INET6
00398 #define PF_MAX AF_MAX
00399 
00400 #define SOL_SOCKET 0xffff
00401 #define SOMAXCONN 5
00402 
00403 #define MSG_MAXIOVLEN 16
00404 #define MSG_PARTIAL 0x8000
00405 #define MAXGETHOSTSTRUCT 1024
00406 
00407 #define FD_READ 1
00408 #define FD_WRITE 2
00409 #define FD_OOB 4
00410 #define FD_ACCEPT 8
00411 #define FD_CONNECT 16
00412 #define FD_CLOSE 32
00413 
00414 #ifndef WSABASEERR
00415 
00416 #define WSABASEERR 10000
00417 #define WSAEINTR (WSABASEERR+4)
00418 #define WSAEBADF (WSABASEERR+9)
00419 #define WSAEACCES (WSABASEERR+13)
00420 #define WSAEFAULT (WSABASEERR+14)
00421 #define WSAEINVAL (WSABASEERR+22)
00422 #define WSAEMFILE (WSABASEERR+24)
00423 #define WSAEWOULDBLOCK (WSABASEERR+35)
00424 #define WSAEINPROGRESS (WSABASEERR+36)
00425 #define WSAEALREADY (WSABASEERR+37)
00426 #define WSAENOTSOCK (WSABASEERR+38)
00427 #define WSAEDESTADDRREQ (WSABASEERR+39)
00428 #define WSAEMSGSIZE (WSABASEERR+40)
00429 #define WSAEPROTOTYPE (WSABASEERR+41)
00430 #define WSAENOPROTOOPT (WSABASEERR+42)
00431 #define WSAEPROTONOSUPPORT (WSABASEERR+43)
00432 #define WSAESOCKTNOSUPPORT (WSABASEERR+44)
00433 #define WSAEOPNOTSUPP (WSABASEERR+45)
00434 #define WSAEPFNOSUPPORT (WSABASEERR+46)
00435 #define WSAEAFNOSUPPORT (WSABASEERR+47)
00436 #define WSAEADDRINUSE (WSABASEERR+48)
00437 #define WSAEADDRNOTAVAIL (WSABASEERR+49)
00438 #define WSAENETDOWN (WSABASEERR+50)
00439 #define WSAENETUNREACH (WSABASEERR+51)
00440 #define WSAENETRESET (WSABASEERR+52)
00441 #define WSAECONNABORTED (WSABASEERR+53)
00442 #define WSAECONNRESET (WSABASEERR+54)
00443 #define WSAENOBUFS (WSABASEERR+55)
00444 #define WSAEISCONN (WSABASEERR+56)
00445 #define WSAENOTCONN (WSABASEERR+57)
00446 #define WSAESHUTDOWN (WSABASEERR+58)
00447 #define WSAETOOMANYREFS (WSABASEERR+59)
00448 #define WSAETIMEDOUT (WSABASEERR+60)
00449 #define WSAECONNREFUSED (WSABASEERR+61)
00450 #define WSAELOOP (WSABASEERR+62)
00451 #define WSAENAMETOOLONG (WSABASEERR+63)
00452 #define WSAEHOSTDOWN (WSABASEERR+64)
00453 #define WSAEHOSTUNREACH (WSABASEERR+65)
00454 #define WSAENOTEMPTY (WSABASEERR+66)
00455 #define WSAEPROCLIM (WSABASEERR+67)
00456 #define WSAEUSERS (WSABASEERR+68)
00457 #define WSAEDQUOT (WSABASEERR+69)
00458 #define WSAESTALE (WSABASEERR+70)
00459 #define WSAEREMOTE (WSABASEERR+71)
00460 #define WSASYSNOTREADY (WSABASEERR+91)
00461 #define WSAVERNOTSUPPORTED (WSABASEERR+92)
00462 #define WSANOTINITIALISED (WSABASEERR+93)
00463 #define WSAEDISCON (WSABASEERR+101)
00464 #define WSAHOST_NOT_FOUND (WSABASEERR+1001)
00465 #define WSATRY_AGAIN (WSABASEERR+1002)
00466 #define WSANO_RECOVERY (WSABASEERR+1003)
00467 #define WSANO_DATA (WSABASEERR+1004)
00468 #define WSA_SECURE_HOST_NOT_FOUND (WSABASEERR+1032)
00469 #define WSA_IPSEC_NAME_POLICY_ERROR (WSABASEERR+1033)
00470 
00471 #endif /* !WSABASEERR */
00472 
00473 #define WSANO_ADDRESS WSANO_DATA
00474 
00475 #define TF_DISCONNECT       0x01
00476 #define TF_REUSE_SOCKET     0x02
00477 #define TF_WRITE_BEHIND     0x04
00478 
00479 #define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)
00480 #define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)
00481 #define WSAGETASYNCBUFLEN(l) LOWORD(l)
00482 #define WSAGETASYNCERROR(l) HIWORD(l)
00483 #define WSAGETSELECTEVENT(l) LOWORD(l)
00484 #define WSAGETSELECTERROR(l) HIWORD(l)
00485 
00486 typedef struct sockaddr SOCKADDR;
00487 typedef struct sockaddr *PSOCKADDR;
00488 typedef struct sockaddr *LPSOCKADDR;
00489 typedef struct sockaddr_in SOCKADDR_IN;
00490 typedef struct sockaddr_in *PSOCKADDR_IN;
00491 typedef struct sockaddr_in *LPSOCKADDR_IN;
00492 typedef struct linger LINGER;
00493 typedef struct linger *PLINGER;
00494 typedef struct linger *LPLINGER;
00495 typedef struct fd_set FD_SET;
00496 typedef struct fd_set *PFD_SET;
00497 typedef struct fd_set *LPFD_SET;
00498 typedef struct hostent HOSTENT;
00499 typedef struct hostent *PHOSTENT;
00500 typedef struct hostent *LPHOSTENT;
00501 typedef struct servent SERVENT;
00502 typedef struct servent *PSERVENT;
00503 typedef struct servent *LPSERVENT;
00504 typedef struct protoent PROTOENT;
00505 typedef struct protoent *PPROTOENT;
00506 typedef struct protoent *LPPROTOENT;
00507 typedef struct timeval TIMEVAL;
00508 typedef struct timeval *PTIMEVAL;
00509 typedef struct timeval *LPTIMEVAL;
00510 
00511 struct sockaddr_in {
00512   short sin_family;
00513   u_short sin_port;
00514   struct in_addr sin_addr;
00515   char sin_zero[8];
00516 };
00517 
00518 typedef struct WSAData {
00519   WORD wVersion;
00520   WORD wHighVersion;
00521 #ifdef _WIN64
00522   unsigned short iMaxSockets;
00523   unsigned short iMaxUdpDg;
00524   char *lpVendorInfo;
00525   char szDescription[WSADESCRIPTION_LEN+1];
00526   char szSystemStatus[WSASYS_STATUS_LEN+1];
00527 #else
00528   char szDescription[WSADESCRIPTION_LEN+1];
00529   char szSystemStatus[WSASYS_STATUS_LEN+1];
00530   unsigned short iMaxSockets;
00531   unsigned short iMaxUdpDg;
00532   char *lpVendorInfo;
00533 #endif
00534 } WSADATA, FAR *LPWSADATA;
00535 
00536 struct ip_mreq {
00537   struct in_addr imr_multiaddr;
00538   struct in_addr imr_interface;
00539 };
00540 
00541 struct sockproto {
00542   u_short sp_family;
00543   u_short sp_protocol;
00544 };
00545 
00546 SOCKET
00547 PASCAL FAR
00548 accept(
00549   IN SOCKET s,
00550   OUT struct sockaddr FAR *addr OPTIONAL,
00551   IN OUT int FAR *addrlen OPTIONAL);
00552 
00553 int
00554 PASCAL FAR
00555 bind(
00556   IN SOCKET s,
00557   IN const struct sockaddr FAR *addr,
00558   IN int namelen);
00559 
00560 int
00561 PASCAL FAR
00562 closesocket(
00563   IN SOCKET s);
00564 
00565 int
00566 PASCAL FAR
00567 connect(
00568   IN SOCKET s,
00569   IN const struct sockaddr FAR *name,
00570   IN int namelen);
00571 
00572 int
00573 PASCAL FAR
00574 ioctlsocket(
00575   IN SOCKET s,
00576   IN long cmd,
00577   IN OUT u_long FAR *argp);
00578 
00579 int
00580 PASCAL FAR
00581 getpeername(
00582   IN SOCKET s,
00583   OUT struct sockaddr FAR *name,
00584   IN OUT int FAR *namelen);
00585 
00586 int
00587 PASCAL FAR
00588 getsockname(
00589   IN SOCKET s,
00590   OUT struct sockaddr FAR *name,
00591   IN OUT int FAR *namelen);
00592 
00593 int
00594 PASCAL FAR
00595 getsockopt(
00596   IN SOCKET s,
00597   IN int level,
00598   IN int optname,
00599   OUT char FAR *optval,
00600   IN OUT int FAR *optlen);
00601 
00602 u_long
00603 PASCAL FAR
00604 htonl(
00605   IN u_long hostlong);
00606 
00607 u_short
00608 PASCAL FAR
00609 htons(
00610   IN u_short hostshort);
00611 
00612 unsigned long
00613 PASCAL FAR
00614 inet_addr(
00615   IN const char FAR *cp);
00616 
00617 char FAR
00618 *PASCAL FAR
00619 inet_ntoa(
00620   IN struct in_addr in);
00621 
00622 int
00623 PASCAL FAR
00624 listen(
00625   IN SOCKET s,
00626   IN int backlog);
00627 
00628 u_long
00629 PASCAL FAR
00630 ntohl(
00631   IN u_long netlong);
00632 
00633 u_short
00634 PASCAL FAR
00635 ntohs(
00636   IN u_short netshort);
00637 
00638 int
00639 PASCAL FAR
00640 recv(
00641   IN SOCKET s,
00642   OUT char FAR *buf,
00643   IN int len,
00644   IN int flags);
00645 
00646 int
00647 PASCAL FAR
00648 recvfrom(
00649   IN SOCKET s,
00650   OUT char FAR *buf,
00651   IN int len,
00652   IN int flags,
00653   OUT struct sockaddr FAR *from OPTIONAL,
00654   IN OUT int FAR * fromlen OPTIONAL);
00655 
00656 int
00657 PASCAL FAR
00658 select(
00659   IN int nfds,
00660   IN OUT fd_set FAR *readfds OPTIONAL,
00661   IN OUT fd_set FAR *writefds OPTIONAL,
00662   IN OUT fd_set FAR *exceptfds OPTIONAL,
00663   IN const struct timeval FAR *timeout OPTIONAL);
00664 
00665 int
00666 PASCAL FAR
00667 send(
00668   IN SOCKET s,
00669   IN const char FAR *buf,
00670   IN int len,
00671   IN int flags);
00672 
00673 int
00674 PASCAL FAR
00675 sendto(
00676   IN SOCKET s,
00677   IN const char FAR *buf,
00678   IN int len,
00679   IN int flags,
00680   IN const struct sockaddr FAR *to OPTIONAL,
00681   IN int tolen);
00682 
00683 int
00684 PASCAL FAR
00685 setsockopt(
00686   IN SOCKET s,
00687   IN int level,
00688   IN int optname,
00689   IN const char FAR *optval OPTIONAL,
00690   IN int optlen);
00691 
00692 int
00693 PASCAL FAR
00694 shutdown(
00695   IN SOCKET s,
00696   IN int how);
00697 
00698 SOCKET
00699 PASCAL FAR
00700 socket(
00701   IN int af,
00702   IN int type,
00703   IN int protocol);
00704 
00705 struct hostent FAR
00706 *PASCAL FAR
00707 gethostbyaddr(
00708   IN const char FAR *addr,
00709   IN int len,
00710   IN int type);
00711 
00712 struct hostent FAR
00713 *PASCAL FAR
00714 gethostbyname(
00715   IN const char FAR *name);
00716 
00717 int
00718 PASCAL FAR
00719 gethostname(
00720   OUT char FAR *name,
00721   IN int namelen);
00722 
00723 struct servent FAR
00724 *PASCAL FAR
00725 getservbyport(
00726   IN int port,
00727   IN const char FAR *proto);
00728 
00729 struct servent FAR
00730 *PASCAL FAR
00731 getservbyname(
00732   IN const char FAR *name,
00733   IN const char FAR *proto);
00734 
00735 struct protoent FAR
00736 *PASCAL FAR
00737 getprotobynumber(
00738   IN int number);
00739 
00740 struct protoent FAR
00741 *PASCAL FAR
00742 getprotobyname(
00743   IN const char FAR *name);
00744 
00745 int
00746 PASCAL FAR
00747 WSAStartup(
00748   IN WORD wVersionRequired,
00749   OUT LPWSADATA lpWSAData);
00750 
00751 int
00752 PASCAL FAR
00753 WSACleanup(void);
00754 
00755 void
00756 PASCAL FAR
00757 WSASetLastError(
00758   IN int iError);
00759 
00760 int
00761 PASCAL FAR
00762 WSAGetLastError(void);
00763 
00764 BOOL
00765 PASCAL FAR
00766 WSAIsBlocking(void);
00767 
00768 int
00769 PASCAL FAR
00770 WSAUnhookBlockingHook(void);
00771 
00772 FARPROC
00773 PASCAL FAR
00774 WSASetBlockingHook(
00775   IN FARPROC lpBlockFunc);
00776 
00777 int
00778 PASCAL FAR
00779 WSACancelBlockingCall(void);
00780 
00781 HANDLE
00782 PASCAL FAR
00783 WSAAsyncGetServByName(
00784   IN HWND hWnd,
00785   IN u_int wMsg,
00786   IN const char FAR *name,
00787   IN const char FAR *proto,
00788   OUT char FAR *buf,
00789   IN int buflen);
00790 
00791 HANDLE
00792 PASCAL FAR
00793 WSAAsyncGetServByPort(
00794   IN HWND hWnd,
00795   IN u_int wMsg,
00796   IN int port,
00797   IN const char FAR *proto,
00798   OUT char FAR *buf,
00799   IN int buflen);
00800 
00801 HANDLE
00802 PASCAL FAR
00803 WSAAsyncGetProtoByName(
00804   IN HWND hWnd,
00805   IN u_int wMsg,
00806   IN const char FAR *name,
00807   OUT char FAR *buf,
00808   IN int buflen);
00809 
00810 HANDLE
00811 PASCAL FAR
00812 WSAAsyncGetProtoByNumber(
00813   IN HWND hWnd,
00814   IN u_int wMsg,
00815   IN int number,
00816   OUT char FAR *buf,
00817   IN int buflen);
00818 
00819 HANDLE
00820 PASCAL FAR
00821 WSAAsyncGetHostByName(
00822   IN HWND hWnd,
00823   IN u_int wMsg,
00824   IN const char FAR *name,
00825   OUT char FAR *buf,
00826   IN int buflen);
00827 
00828 HANDLE
00829 PASCAL FAR
00830 WSAAsyncGetHostByAddr(
00831   IN HWND hWnd,
00832   IN u_int wMsg,
00833   IN const char FAR *addr,
00834   IN int len,
00835   IN int type,
00836   OUT char FAR *buf,
00837   IN int buflen);
00838 
00839 int
00840 PASCAL FAR
00841 WSACancelAsyncRequest(
00842   IN HANDLE hAsyncTaskHandle);
00843 
00844 int
00845 PASCAL FAR
00846 WSAAsyncSelect(
00847   IN SOCKET s,
00848   IN HWND hWnd,
00849   IN u_int wMsg,
00850   IN long lEvent);
00851 
00852 int
00853 PASCAL FAR
00854 WSARecvEx(
00855   IN SOCKET s,
00856   OUT char FAR *buf,
00857   IN int len,
00858   IN OUT int FAR *flags);
00859 
00860 typedef struct _TRANSMIT_FILE_BUFFERS {
00861   PVOID Head;
00862   DWORD HeadLength;
00863   PVOID Tail;
00864   DWORD TailLength;
00865 } TRANSMIT_FILE_BUFFERS, *PTRANSMIT_FILE_BUFFERS, *LPTRANSMIT_FILE_BUFFERS;
00866 
00867 BOOL
00868 PASCAL FAR
00869 TransmitFile(
00870   IN SOCKET hSocket,
00871   IN HANDLE hFile,
00872   IN DWORD nNumberOfBytesToWrite,
00873   IN DWORD nNumberOfBytesPerSend,
00874   IN OUT LPOVERLAPPED lpOverlapped OPTIONAL,
00875   IN LPTRANSMIT_FILE_BUFFERS lpTransmitBuffers OPTIONAL,
00876   IN DWORD dwReserved);
00877 
00878 BOOL
00879 PASCAL FAR
00880 AcceptEx(
00881   IN SOCKET sListenSocket,
00882   IN SOCKET sAcceptSocket,
00883   OUT PVOID lpOutputBuffer,
00884   IN DWORD dwReceiveDataLength,
00885   IN DWORD dwLocalAddressLength,
00886   IN DWORD dwRemoteAddressLength,
00887   OUT LPDWORD lpdwBytesReceived,
00888   IN OUT LPOVERLAPPED lpOverlapped);
00889 
00890 VOID
00891 PASCAL FAR
00892 GetAcceptExSockaddrs(
00893   IN PVOID lpOutputBuffer,
00894   IN DWORD dwReceiveDataLength,
00895   IN DWORD dwLocalAddressLength,
00896   IN DWORD dwRemoteAddressLength,
00897   OUT struct sockaddr **LocalSockaddr,
00898   OUT LPINT LocalSockaddrLength,
00899   OUT struct sockaddr **RemoteSockaddr,
00900   OUT LPINT RemoteSockaddrLength);
00901 
00902 #if(_WIN32_WINNT >= 0x0501)
00903 
00904 #ifdef IPV6STRICT
00905 #error WINSOCK2 required.
00906 #endif
00907 
00908 #endif /* (_WIN32_WINNT >= 0x0501) */
00909 
00910 #ifdef __cplusplus
00911 }
00912 #endif

Generated on Sun May 27 2012 04:32:47 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.