亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? wsock.h

?? wince3.0的源碼
?? H
字號:
/**********************************************************************/
/**                        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 funtionality
typedef 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_DEFINED
DECLARE_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 + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品不卡一区| 成人一级视频在线观看| 国产99一区视频免费| 91老师片黄在线观看| 久久精品日韩一区二区三区| 亚洲一区在线播放| 不卡的电影网站| 国产亚洲一区二区三区四区 | 久久精品综合网| 午夜视频久久久久久| eeuss鲁片一区二区三区在线观看 eeuss鲁片一区二区三区在线看 | 777午夜精品免费视频| 亚洲婷婷在线视频| 国产盗摄一区二区三区| 日韩欧美成人午夜| 午夜欧美视频在线观看| 欧美日韩在线精品一区二区三区激情| 日本一区二区三区在线不卡| 国内外成人在线视频| 欧美疯狂做受xxxx富婆| 午夜精品福利视频网站| 在线视频欧美区| 亚洲欧美电影一区二区| 大尺度一区二区| 国产精品天美传媒沈樵| 成人av影院在线| 国产精品福利一区二区三区| 高清久久久久久| 中文字幕乱码久久午夜不卡| 国产成人自拍高清视频在线免费播放| 欧美一区二区三区四区在线观看 | 中文字幕在线观看不卡| 国产一区二区三区在线观看精品| 日韩美女在线视频| 精品制服美女久久| 久久婷婷久久一区二区三区| 国产一区二区免费看| 国产人成一区二区三区影院| 成人成人成人在线视频| 18欧美亚洲精品| 色88888久久久久久影院按摩| 亚洲精品国产精华液| 欧洲亚洲国产日韩| 天天综合天天综合色| 日韩精品一区在线| 国产91精品一区二区麻豆网站| 国产精品久久毛片a| 色www精品视频在线观看| 一区二区三区四区在线免费观看| 欧美午夜精品理论片a级按摩| 亚洲电影一区二区| 日韩精品专区在线影院观看| 国产一区二区久久| 亚洲欧美在线视频| 欧美精品第一页| 黄一区二区三区| 国产精品午夜电影| 欧美午夜不卡在线观看免费| 免费亚洲电影在线| 亚洲国产成人私人影院tom | 成人综合婷婷国产精品久久| 亚洲精品亚洲人成人网在线播放| 欧美日韩在线播放一区| 国产曰批免费观看久久久| **网站欧美大片在线观看| 欧美精品在线观看一区二区| 国产自产v一区二区三区c| 亚洲精品视频在线观看网站| 欧美一级在线免费| 色婷婷综合五月| 男女性色大片免费观看一区二区| 国产精品视频在线看| 欧美日韩国产高清一区| 高清国产午夜精品久久久久久| 亚洲无线码一区二区三区| 国产亚洲欧美中文| 欧美一区二区视频在线观看| 国产精品123| 日韩综合小视频| 136国产福利精品导航| 日韩欧美国产不卡| 一本大道久久a久久综合婷婷| 日本亚洲三级在线| 亚洲电影中文字幕在线观看| 国产精品素人视频| 久久亚洲二区三区| 欧美日韩中文另类| 不卡的电影网站| 久久成人18免费观看| 亚州成人在线电影| 亚洲日本在线视频观看| 久久九九99视频| 精品国产青草久久久久福利| 欧美三级中文字幕| 不卡的看片网站| 国产成人激情av| 激情五月婷婷综合网| 日韩av网站在线观看| 亚洲一区二区三区四区五区中文 | 国产一区视频在线看| 五月婷婷另类国产| 亚洲一区二区三区四区在线观看| 中文文精品字幕一区二区| 日韩精品一区二区三区视频播放| 欧美四级电影网| 在线视频一区二区三区| 色婷婷综合中文久久一本| 成人国产亚洲欧美成人综合网| 国产伦精一区二区三区| 极品尤物av久久免费看| 欧美a级一区二区| 首页综合国产亚洲丝袜| 亚洲国产一区二区a毛片| 亚洲自拍偷拍欧美| 夜夜精品视频一区二区| 一级做a爱片久久| 亚洲高清免费视频| 亚洲国产精品一区二区www| 久久99国产精品久久| 日韩电影免费在线看| 日韩av一级片| 精品一区二区三区在线观看| 久久成人18免费观看| 国产精品一区二区男女羞羞无遮挡| 激情综合五月天| 国产成人夜色高潮福利影视| 成人黄色777网| 欧美性受极品xxxx喷水| 欧美日韩国产综合一区二区三区 | 久久久久久久久久久久久夜| 久久伊人中文字幕| 中文字幕精品一区二区三区精品| 亚洲天堂精品在线观看| 亚洲已满18点击进入久久| 日韩精品成人一区二区在线| 毛片基地黄久久久久久天堂| 国产精品一色哟哟哟| 99久久久久久| 欧美精品在线观看一区二区| 日韩精品一区二区三区老鸭窝| 久久久.com| 一区二区三区日韩欧美| 全国精品久久少妇| 成人理论电影网| 欧美日韩三级视频| 久久久久久亚洲综合影院红桃| 亚洲天堂精品视频| 免费成人在线观看视频| 成人高清视频在线| 欧美一区二区三区系列电影| 国产女人aaa级久久久级| 亚洲一区二区三区不卡国产欧美| 免费观看91视频大全| 97久久精品人人爽人人爽蜜臀| 欧美日韩一卡二卡三卡| 国产日韩亚洲欧美综合| 亚洲午夜在线电影| 成人午夜激情影院| 91麻豆精品91久久久久久清纯| 国产日韩欧美电影| 日韩一区精品视频| 91丝袜国产在线播放| 日韩精品最新网址| 亚洲电影一级黄| 成人午夜在线播放| 日韩一级成人av| 亚洲第一精品在线| 91小视频在线| 久久免费电影网| 免费精品视频在线| 欧美色爱综合网| 一区二区三区在线视频播放 | 国产亚洲一区二区三区四区| 五月婷婷激情综合网| 91在线一区二区三区| 国产婷婷一区二区| 老司机精品视频导航| 欧美成人精品高清在线播放| 亚洲人成网站色在线观看| 国产呦精品一区二区三区网站| 91精品国产一区二区三区香蕉| 亚洲精品成人在线| 色哟哟国产精品| 亚洲色图一区二区三区| 国产盗摄视频一区二区三区| 26uuu精品一区二区三区四区在线| 日韩激情av在线| 欧美一区二区在线免费观看| 午夜精品一区二区三区三上悠亚| 91国产丝袜在线播放| 日韩美女视频19| 99精品视频一区| 日韩美女精品在线| 91一区二区在线观看| 亚洲欧美日韩中文字幕一区二区三区 | 91亚洲永久精品| 亚洲精品国产品国语在线app| 色综合中文字幕| 亚洲午夜免费视频| 91精品国产手机|