📄 winsock.h
字号:
#define IP_MULTICAST_TTL 3#define IP_MULTICAST_LOOP 4#define IP_ADD_MEMBERSHIP 5#define IP_DROP_MEMBERSHIP 6#define IP_DEFAULT_MULTICAST_TTL 1#define IP_DEFAULT_MULTICAST_LOOP 1#define IP_MAX_MEMBERSHIPS 20struct ip_mreq { struct in_addr imr_multiaddr; struct in_addr imr_interface;};#define INVALID_SOCKET (SOCKET)(~0)#define SOCKET_ERROR (-1)#define SOCK_STREAM 1#define SOCK_DGRAM 2#define SOCK_RAW 3#define SOCK_RDM 4#define SOCK_SEQPACKET 5#define TCP_NODELAY 0x0001#define AF_UNSPEC 0#define AF_UNIX 1#define AF_INET 2#define AF_IMPLINK 3#define AF_PUP 4#define AF_CHAOS 5#define AF_IPX 6#define AF_NS 6#define AF_ISO 7#define AF_OSI AF_ISO#define AF_ECMA 8#define AF_DATAKIT 9#define AF_CCITT 10#define AF_SNA 11#define AF_DECnet 12#define AF_DLI 13#define AF_LAT 14#define AF_HYLINK 15#define AF_APPLETALK 16#define AF_NETBIOS 17#define AF_VOICEVIEW 18#define AF_FIREFOX 19#define AF_UNKNOWN1 20#define AF_BAN 21#define AF_ATM 22#define AF_INET6 23#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))#define AF_MAX 24struct sockaddr { u_short sa_family; char sa_data[14];};#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */struct sockproto { u_short sp_family; u_short sp_protocol;};#define PF_UNSPEC AF_UNSPEC#define PF_UNIX AF_UNIX#define PF_INET AF_INET#define PF_IMPLINK AF_IMPLINK#define PF_PUP AF_PUP#define PF_CHAOS AF_CHAOS#define PF_NS AF_NS#define PF_IPX AF_IPX#define PF_ISO AF_ISO#define PF_OSI AF_OSI#define PF_ECMA AF_ECMA#define PF_DATAKIT AF_DATAKIT#define PF_CCITT AF_CCITT#define PF_SNA AF_SNA#define PF_DECnet AF_DECnet#define PF_DLI AF_DLI#define PF_LAT AF_LAT#define PF_HYLINK AF_HYLINK#define PF_APPLETALK AF_APPLETALK#define PF_VOICEVIEW AF_VOICEVIEW#define PF_FIREFOX AF_FIREFOX#define PF_UNKNOWN1 AF_UNKNOWN1#define PF_BAN AF_BAN#define PF_ATM AF_ATM#define PF_INET6 AF_INET6#define PF_MAX AF_MAX#define SOL_SOCKET 0xffff#define SOMAXCONN 5#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))#define MSG_OOB 1#define MSG_PEEK 2#define MSG_DONTROUTE 4#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */#define MSG_MAXIOVLEN 16#define MSG_PARTIAL 0x8000#define MAXGETHOSTSTRUCT 1024#define FD_READ 1#define FD_WRITE 2#define FD_OOB 4#define FD_ACCEPT 8#define FD_CONNECT 16#define FD_CLOSE 32#ifndef WSABASEERR#define WSABASEERR 10000#define WSAEINTR (WSABASEERR+4)#define WSAEBADF (WSABASEERR+9)#define WSAEACCES (WSABASEERR+13)#define WSAEFAULT (WSABASEERR+14)#define WSAEINVAL (WSABASEERR+22)#define WSAEMFILE (WSABASEERR+24)#define WSAEWOULDBLOCK (WSABASEERR+35)#define WSAEINPROGRESS (WSABASEERR+36)#define WSAEALREADY (WSABASEERR+37)#define WSAENOTSOCK (WSABASEERR+38)#define WSAEDESTADDRREQ (WSABASEERR+39)#define WSAEMSGSIZE (WSABASEERR+40)#define WSAEPROTOTYPE (WSABASEERR+41)#define WSAENOPROTOOPT (WSABASEERR+42)#define WSAEPROTONOSUPPORT (WSABASEERR+43)#define WSAESOCKTNOSUPPORT (WSABASEERR+44)#define WSAEOPNOTSUPP (WSABASEERR+45)#define WSAEPFNOSUPPORT (WSABASEERR+46)#define WSAEAFNOSUPPORT (WSABASEERR+47)#define WSAEADDRINUSE (WSABASEERR+48)#define WSAEADDRNOTAVAIL (WSABASEERR+49)#define WSAENETDOWN (WSABASEERR+50)#define WSAENETUNREACH (WSABASEERR+51)#define WSAENETRESET (WSABASEERR+52)#define WSAECONNABORTED (WSABASEERR+53)#define WSAECONNRESET (WSABASEERR+54)#define WSAENOBUFS (WSABASEERR+55)#define WSAEISCONN (WSABASEERR+56)#define WSAENOTCONN (WSABASEERR+57)#define WSAESHUTDOWN (WSABASEERR+58)#define WSAETOOMANYREFS (WSABASEERR+59)#define WSAETIMEDOUT (WSABASEERR+60)#define WSAECONNREFUSED (WSABASEERR+61)#define WSAELOOP (WSABASEERR+62)#define WSAENAMETOOLONG (WSABASEERR+63)#define WSAEHOSTDOWN (WSABASEERR+64)#define WSAEHOSTUNREACH (WSABASEERR+65)#define WSAENOTEMPTY (WSABASEERR+66)#define WSAEPROCLIM (WSABASEERR+67)#define WSAEUSERS (WSABASEERR+68)#define WSAEDQUOT (WSABASEERR+69)#define WSAESTALE (WSABASEERR+70)#define WSAEREMOTE (WSABASEERR+71)#define WSAEDISCON (WSABASEERR+101)#define WSASYSNOTREADY (WSABASEERR+91)#define WSAVERNOTSUPPORTED (WSABASEERR+92)#define WSANOTINITIALISED (WSABASEERR+93)#define WSAHOST_NOT_FOUND (WSABASEERR+1001)#define WSATRY_AGAIN (WSABASEERR+1002)#define WSANO_RECOVERY (WSABASEERR+1003)#define WSANO_DATA (WSABASEERR+1004)#endif /* !WSABASEERR */#define WSANO_ADDRESS WSANO_DATA#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))#define h_errno WSAGetLastError()#define HOST_NOT_FOUND WSAHOST_NOT_FOUND#define TRY_AGAIN WSATRY_AGAIN#define NO_RECOVERY WSANO_RECOVERY#define NO_DATA WSANO_DATA#define NO_ADDRESS WSANO_ADDRESS#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */SOCKET PASCAL accept(SOCKET,struct sockaddr*,int*);int PASCAL bind(SOCKET,const struct sockaddr*,int);int PASCAL closesocket(SOCKET);int PASCAL connect(SOCKET,const struct sockaddr*,int);int PASCAL ioctlsocket(SOCKET,long,u_long *);int PASCAL getpeername(SOCKET,struct sockaddr*,int*);int PASCAL getsockname(SOCKET,struct sockaddr*,int*);int PASCAL getsockopt(SOCKET,int,int,char*,int*);unsigned long PASCAL inet_addr(const char*);DECLARE_STDCALL_P(char *) inet_ntoa(struct in_addr);int PASCAL listen(SOCKET,int);int PASCAL recv(SOCKET,char*,int,int);int PASCAL recvfrom(SOCKET,char*,int,int,struct sockaddr*,int*);int PASCAL send(SOCKET,const char*,int,int);int PASCAL sendto(SOCKET,const char*,int,int,const struct sockaddr*,int);int PASCAL setsockopt(SOCKET,int,int,const char*,int);int PASCAL shutdown(SOCKET,int);SOCKET PASCAL socket(int,int,int);DECLARE_STDCALL_P(struct hostent *) gethostbyaddr(const char*,int,int);DECLARE_STDCALL_P(struct hostent *) gethostbyname(const char*);DECLARE_STDCALL_P(struct servent *) getservbyport(int,const char*);DECLARE_STDCALL_P(struct servent *) getservbyname(const char*,const char*);DECLARE_STDCALL_P(struct protoent *) getprotobynumber(int);DECLARE_STDCALL_P(struct protoent *) getprotobyname(const char*);int PASCAL WSAStartup(WORD,LPWSADATA);int PASCAL WSACleanup(void);void PASCAL WSASetLastError(int);int PASCAL WSAGetLastError(void);BOOL PASCAL WSAIsBlocking(void);int PASCAL WSAUnhookBlockingHook(void);FARPROC PASCAL WSASetBlockingHook(FARPROC);int PASCAL WSACancelBlockingCall(void);HANDLE PASCAL WSAAsyncGetServByName(HWND,u_int,const char*,const char*,char*,int);HANDLE PASCAL WSAAsyncGetServByPort(HWND,u_int,int,const char*,char*,int);HANDLE PASCAL WSAAsyncGetProtoByName(HWND,u_int,const char*,char*,int);HANDLE PASCAL WSAAsyncGetProtoByNumber(HWND,u_int,int,char*,int);HANDLE PASCAL WSAAsyncGetHostByName(HWND,u_int,const char*,char*,int);HANDLE PASCAL WSAAsyncGetHostByAddr(HWND,u_int,const char*,int,int,char*,int);int PASCAL WSACancelAsyncRequest(HANDLE);int PASCAL WSAAsyncSelect(SOCKET,HWND,u_int,long);#if !(defined (__INSIDE_CYGWIN__) || defined (__INSIDE_MSYS__))u_long PASCAL htonl(u_long);u_long PASCAL ntohl(u_long);u_short PASCAL htons(u_short);u_short PASCAL ntohs(u_short);int PASCAL select(int nfds,fd_set*,fd_set*,fd_set*,const struct timeval*);int PASCAL gethostname(char*,int);#endif /* ! (__INSIDE_CYGWIN__ || __INSIDE_MSYS__) */#define WSAMAKEASYNCREPLY(b,e) MAKELONG(b,e)#define WSAMAKESELECTREPLY(e,error) MAKELONG(e,error)#define WSAGETASYNCBUFLEN(l) LOWORD(l)#define WSAGETASYNCERROR(l) HIWORD(l)#define WSAGETSELECTEVENT(l) LOWORD(l)#define WSAGETSELECTERROR(l) HIWORD(l)typedef struct sockaddr SOCKADDR;typedef struct sockaddr *PSOCKADDR;typedef struct sockaddr *LPSOCKADDR;typedef struct sockaddr_in SOCKADDR_IN;typedef struct sockaddr_in *PSOCKADDR_IN;typedef struct sockaddr_in *LPSOCKADDR_IN;typedef struct linger LINGER;typedef struct linger *PLINGER;typedef struct linger *LPLINGER;typedef struct in_addr IN_ADDR;typedef struct in_addr *PIN_ADDR;typedef struct in_addr *LPIN_ADDR;typedef struct fd_set FD_SET;typedef struct fd_set *PFD_SET;typedef struct fd_set *LPFD_SET;typedef struct hostent HOSTENT;typedef struct hostent *PHOSTENT;typedef struct hostent *LPHOSTENT;typedef struct servent SERVENT;typedef struct servent *PSERVENT;typedef struct servent *LPSERVENT;typedef struct protoent PROTOENT;typedef struct protoent *PPROTOENT;typedef struct protoent *LPPROTOENT;typedef struct timeval TIMEVAL;typedef struct timeval *PTIMEVAL;typedef struct timeval *LPTIMEVAL;#ifdef __cplusplus}#endif/* * Recent MSDN docs indicate that the MS-specific extensions exported from * mswsock.dll (AcceptEx, TransmitFile. WSARecEx and GetAcceptExSockaddrs) are * declared in mswsock.h. These extensions are not supported on W9x or WinCE. * However, code using WinSock 1.1 API may expect the declarations and * associated defines to be in this header. Thus we include mswsock.h here. * * When linking against the WinSock 1.1 lib, wsock32.dll, the mswsock functions * are automatically routed to mswsock.dll (on platforms with support). * The WinSock 2 lib, ws2_32.dll, does not contain any references to * the mswsock extensions. */#include <mswsock.h>#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -