wsock.h
来自「wince下的源代码集合打包」· C头文件 代码 · 共 198 行
H
198 行
/**********************************************************************//** Microsoft Windows **//**Copyright (c) 1993-2000 Microsoft Corporation. All rights reserved.**//**********************************************************************//* wsock.h WSOCK.386 VxD service definitions.*/#ifndef _WSOCK_H_#define _WSOCK_H_//// Version numbers.//#define WSOCK_Ver_Major 1#define WSOCK_Ver_Minor 0//// The current provider interface version number. Increment// this constant after any change that effects the provider// interface.//#define WSOCK_INTERFACE_VERSION 0x80000001//// All FD_* events.//#define FD_ALL (FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE)// moved the following from DLL#define READ_EVENTS (FD_READ | FD_CLOSE | FD_ACCEPT)#define WRITE_EVENTS (FD_WRITE | FD_CONNECT)#define EXCEPT_EVENTS (FD_OOB | FD_FAILED_CONNECT)//// This "special" FD_ event is used in select so that we may// synthesize proper exceptfds for failed connection attempts.//#define FD_FAILED_CONNECT 0x0100//// Infinite wait time for send/recv timeout.//#define SOCK_IO_TIME (DWORD)-1L//// A list of socket/event mask pairs. A pointer to an array// of these structures is passed to WsCreateMultipleNotify to// create multiple notification objects.//typedef struct _SOCK_LIST { DWORD hSocket; // handle to socket passed in from dll layer struct _SOCK_INFO *Socket; // the target socket DWORD EventMask; // events the client is interested in DWORD Context; // user-defined context value (handle?) // no need to confuse people Context is just a SOCKET} SOCK_LIST, *LPSOCK_LIST, *PSOCK_LIST;// added for select funtionalitytypedef struct _PEGNOTIFY { LIST_ENTRY PerSocketList; LIST_ENTRY GlobalList; // we may need this later for WSAClose struct _SOCK_INFO *pSocket; DWORD EventMask; HANDLE hEvent;} PEGNOTIFY, * PPEGNOTIFY;#ifndef SOCKHAND_DEFINEDDECLARE_HANDLE(SOCKHAND);typedef SOCKHAND *PSOCKHAND;#define SOCKHAND_DEFINED#endif// Include the AFD functions.#include "afdfunc.h"//// Socket Handle API calls//#define WINSOCK_CALL(type, api, args) (*(type (*) args)IMPLICIT_CALL(HT_SOCKET, api))#define AFDCloseSocket WINSOCK_CALL (DWORD, 0, \ (SOCKHAND Socket))#define AFDAccept WINSOCK_CALL (DWORD, 2, \ (SOCKHAND ListeningSocket, \ PSOCKHAND ConnectedSocket, \ LPSOCKADDR Address, \ LPDWORD AddrLen, \ CRITICAL_SECTION *pDllCS))#define AFDBind WINSOCK_CALL (DWORD, 3, \ (SOCKHAND Socket, \ LPSOCKADDR Address, \ DWORD AddressLength, \ CRITICAL_SECTION *pDllCS))#define AFDConnect WINSOCK_CALL (DWORD, 4, \ (SOCKHAND Socket, \ LPSOCKADDR Address, \ DWORD AddressLength, \ CRITICAL_SECTION *pDllCS)) #define AFDIoctl WINSOCK_CALL (DWORD, 5, \ (SOCKHAND Socket, \ DWORD Command, \ LPDWORD Param, \ CRITICAL_SECTION *pDllCS))#define AFDListen WINSOCK_CALL (DWORD, 6, \ (SOCKHAND Socket, \ DWORD Backlog, \ CRITICAL_SECTION *pDllCS)) #define AFDRecv WINSOCK_CALL (DWORD, 7, \ (SOCKHAND Socket, \ LPBYTE Buffer, \ DWORD BufferLength, \ DWORD Flags, \ LPSOCKADDR Address, \ LPDWORD AddressLength, \ LPDWORD BytesReceived, \ CRITICAL_SECTION *pDllCS))#define AFDSend WINSOCK_CALL (DWORD, 8, \ (SOCKHAND Socket, \ LPBYTE Buffer, \ DWORD BufferLength, \ DWORD Flags, \ LPSOCKADDR Address, \ DWORD AddressLength, \ LPDWORD BytesSent, \ CRITICAL_SECTION *pDllCS)) #define AFDShutdown WINSOCK_CALL (DWORD, 9, \ (SOCKHAND Socket, \ DWORD How, \ CRITICAL_SECTION *pDllCS)) #define AFDGetsockname WINSOCK_CALL (DWORD, 10, \ (SOCKHAND Socket, \ LPSOCKADDR Address, \ LPDWORD AddressLength, \ CRITICAL_SECTION *pDllCS))#define AFDGetpeername WINSOCK_CALL (DWORD, 11, \ (SOCKHAND Socket, \ LPSOCKADDR Address, \ LPDWORD AddressLength, \ CRITICAL_SECTION *pDllCS))#define AFDGetSockOpt WINSOCK_CALL (DWORD, 12, \ (SOCKHAND Socket, \ DWORD Level, \ DWORD OptionName, \ LPVOID Buffer, \ LPDWORD BufferLength, \ CRITICAL_SECTION *pDllCS))#define AFDSetSockOpt WINSOCK_CALL (DWORD, 13, \ (SOCKHAND Socket, \ DWORD Level, \ DWORD OptionName, \ LPVOID Buffer, \ DWORD BufferLength, \ CRITICAL_SECTION *pDllCS)) #define AFDWakeup WINSOCK_CALL (DWORD, 14, \ (SOCKHAND Socket, \ DWORD Event, \ DWORD Status, \ CRITICAL_SECTION *pDllCS))#endif // _WSOCK_H_
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?