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

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

?? opennet.h

?? .net 方面的開(kāi)發(fā)說(shuō)明資料。
?? H
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// ========================================================
// OpenNet 1.0
//
// Design by:
// - Floris van den Berg
// - Ben Ashley
//
// Implementation by:
// - Floris van den Berg
// ========================================================

#ifndef OPENNET_H
#define OPENNET_H

#define DLL_CALLCONV __stdcall
#define _STL std // don't use stlport

#ifdef OPENNET_EXPORTS
#define DLL_API __declspec(dllexport)
#else
#define DLL_API __declspec(dllimport)
#endif

// ========================================================
// Include some Windows COM stuff to be able to use GUIDS
// ========================================================

#ifndef _WINDOWS_
#include <windows.h>
#endif

#ifndef _OBJBASE_H_
#include <objbase.h>
#endif

// ========================================================
// GUIDs for protocols
// ========================================================

static const GUID CLSID_NULL_PROTOCOL = 
{ 0x00000000, 0x0000, 0x0000, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } };

static const GUID CLSID_SYSTEM_PROTOCOL = 
{ 0xe1223458, 0x8996, 0x4676, { 0xbe, 0xa6, 0xa1, 0x7f, 0xf4, 0xee, 0xa0, 0x4e } };

static const GUID CLSID_MODEM_PROTOCOL = 
{ 0x0e2022a7, 0x2ec1, 0x4627, { 0x8d, 0xac, 0x53, 0x58, 0xb3, 0x58, 0x1e, 0x2f } };

// ========================================================
// Typedefs/Defines for data
// ========================================================

typedef void* TRANSPORT_HANDLE;
typedef void* PROPERTYGROUP_HANDLE;

// ========================================================
// System protocol events and EpEvent structure
// ========================================================

enum SYSTEM_PROTOCOL {
	SYSTEM_DATA_IN = 0,                  // the transport received data
	SYSTEM_DATA_OUT,                     // the transport sent data
	SYSTEM_CONNECTING,                   // the transport started initiating a connection
	SYSTEM_CONNECTED,                    // the transport connected
	SYSTEM_CONNECT_TIMEOUT,              // timeout connection expired
	SYSTEM_DISCONNECTING,                // the transport started initiating a disconnection
	SYSTEM_DISCONNECTED,                 // the transport disconnected
	SYSTEM_LISTENING,                    // the transport is listening for connections
	SYSTEM_SENT_PROGRESS_BYTES,          // a number of bytes were sent
	SYSTEM_SENT_PROGRESS_PERCENTAGE,     // a percentage of the packet was sent
	SYSTEM_SENT_SUCCEEDED,               // complete packet was sent
	SYSTEM_SENT_FAILED,                  // packet failed to sent completely
	SYSTEM_TIMEOUT,                      // timeout event raised
	SYSTEM_IO_ERROR,                     // generic IO error occured. this event will cause all sends to be aborted, and timeouts to be initiated
	SYSTEM_NOT_SUPPORTED,                // this feature is not supported for this link
	SYSTEM_CONNECTION_REQUEST,           // a server transport request a new connection
	SYSTEM_RS232_BREAK,                  // rs232 break flag triggered
	SYSTEM_RS232_ERR_BREAK,              // The hardware detected a break condition
	SYSTEM_RS232_ERR_DNS,                // A parallel device is not selected
	SYSTEM_RS232_ERR_FRAME,              // The hardware detected a framing error
	SYSTEM_RS232_ERR_IOE,                // An I/O error occurred during communications with the device
	SYSTEM_RS232_ERR_MODE,               // The requested mode is not supported
	SYSTEM_RS232_ERR_OOP,                // A parallel device signaled that it is out of paper.
	SYSTEM_RS232_ERR_OVERRUN,            // A character-buffer overrun has occurred. The next character is lost
	SYSTEM_RS232_ERR_PTO,                // A time-out occurred on a parallel device
	SYSTEM_RS232_ERR_RXOVER,             // An input buffer overflow has occurred
	SYSTEM_RS232_ERR_RXPARITY,           // The hardware detected a parity error
	SYSTEM_RS232_ERR_TXFULL,             // The application tried to transmit a character, but the output buffer was full
	SYSTEM_RS232_CTS_ON,                 // carrier detect flag on
	SYSTEM_RS232_CTS_OFF,                // carrier detect flag off
	SYSTEM_RS232_DSR_ON,                 // data-set-ready flag on
	SYSTEM_RS232_DSR_OFF,                // data-set-ready flag off
	SYSTEM_RS232_RING_ON,                // ring indicator on
	SYSTEM_RS232_RING_OFF,               // ring indicator off
	SYSTEM_RS232_RLSD_ON,                // receive-line-signal-detect (e.g. carrier detect) on
	SYSTEM_RS232_RLSD_OFF,               // receive-line-signal-detect (e.g. carrier detect) off
	SYSTEM_TCPIP_NO_SUPPORT      ,       // addresses in the specified family cannot be used with this socket
	SYSTEM_TCPIP_CONNECTION_REFUSED,     // the attempt to connect was forcefully rejected
	SYSTEM_TCPIP_ADDRESS_UNAVAILABLE,    // the host address couldn't be resolved
	SYSTEM_TCPIP_NET_UNREACHABLE,        // the network cannot be reached from this host at this time
	SYSTEM_TCPIP_NO_BUFFERSPACE,         // no buffer space is available. the socket cannot be connected
	SYSTEM_TCPIP_NOT_CONNECTED,          // connection has been reset when SO_KEEPALIVE is set
	SYSTEM_TCPIP_CONNECTION_TIMEOUT,     // attempt to connect timed out without establishing a connection
	SYSTEM_TCPIP_SUBSYSTEM_FAILED,       //	the network subsystem has failed
	SYSTEM_TCPIP_CONNECTION_RESET,       // the connection was reset by the remote side
	SYSTEM_TCPIP_CONNECTION_ABORTED,     // the connection was terminated due to a time-out or other failure
	SYSTEM_TCPIP_NET_RESET,              // the connection has been broken due to keep-alive activity detecting a failure while the operation was in progress
	SYSTEM_TCPIP_OPERATION_ABORTED,      // the overlapped operation has been canceled due to the closure of the socket
	SYSTEM_TCPIP_UNIMPLEMENTED,          // a (not yet) implemented error occurred
	SYSTEM_TCPIP_ACCEPT_FAILED,          // winsock tried to accept a connection but couldn't
	SYSTEM_TCPIP_ACCEPT_TRY_AGAIN,       // the accept was refused by the transport. try again later
	SYSTEM_TCPIP_ACCEPT_WITHDRAWN,       // the connection request that was offered has timed out or been withdrawn.
};

enum MODEM_PROTOCOL {
	MODEM_OK = 0,                        // modem reported 'OK'
	MODEM_CONNECT,                       // modem reported 'CONNECT'
	MODEM_BUSY,                          // modem reported 'BUSY'
	MODEM_NOCARRIER,                     // modem reported 'NO CARRIER'
	MODEM_NODIALTONE,                    // modem reported 'NO DIAL TONE'
	MODEM_DELAYEDNUMBERWAIT,             // modem reported 'DELAYED NUMBER WAIT'
	MODEM_FORBIDDENNUMBER,               // modem reported 'FORBIDDEN NUMBER'
	MODEM_RING,                          // modem reported 'RING'
	MODEM_ERROR_IN_COMMAND,              // modem reported 'ERROR'
};

// ========================================================
// Transport Options
// ========================================================

#define SERIAL_CTS_STATUS            1  // [GET] DWORD containing CTS status
#define SERIAL_DSR_STATUS            2  // [GET] DWORD containing DSR status
#define SERIAL_RING_STATUS           3  // [GET] DWORD containing RING status
#define SERIAL_RLSD_STATUS           4  // [GET] DWORD containing RLSD status
#define SERIAL_GET_DCB               5  // [GET] device control block
#define SERIAL_SET_DCB               6  // [SET] device control block
#define SERIAL_CLEAR_DTR             7  // [SET] clears the DTR (data-terminal-ready) signal
#define SERIAL_CLEAR_RTS             8  // [SET] clears the RTS (request-to-send) signal
#define SERIAL_SET_DTR               9  // [SET] sends the DTR (data-terminal-ready) signal
#define SERIAL_SET_RTS               10 // [SET] sends the RTS (request-to-send) signal
#define SERIAL_SET_XOFF              11 // [SET] causes transmission to act as if an XOFF character has been received
#define SERIAL_SET_XON               12 // [SET] causes transmission to act as if an XON character has been received
#define SERIAL_SET_BREAK             13 // [SET] suspends character transmission and places the transmission line in a break state
#define SERIAL_CLEAR_BREAK           14 // [SET] Restores character transmission and places the transmission line in a nonbreak state
#define TCP_LOCALHOST                1  // [GET] string containing local hostname
#define TCP_PEERNAME                 2  // [GET] string containing the peername
#define UDP_TARGET                   1  // [GET] target address for sends
#define UDP_MULTICAST_LOOP           2  // [SET]
#define UDP_MULTICAST_TTL            3  // [SET] sets the multicast time-to-live value
#define UDP_MULTICAST_ADDMEMBERSHIP  4  // [SET] adds membership to a certain multicast address
#define UDP_MULTICAST_DROPMEMBERSHIP 5  // [SET] drops membership from a certain multicast address

// ========================================================
// Some system specific types
// ========================================================

struct TDCB { 
  DWORD DCBlength; 
  DWORD BaudRate; 
  DWORD Options;
  WORD wReserved; 
  WORD XonLim; 
  WORD XoffLim; 
  BYTE ByteSize; 
  BYTE Parity; 
  BYTE StopBits; 
  char XonChar; 
  char XoffChar; 
  char ErrorChar; 
  char EofChar; 
  char EvtChar; 
  WORD wReserved1; 
};

// ========================================================
// OpenNet Event
// ========================================================

#pragma pack(push, 1)
struct EpAction {
	GUID protocol;                      // protocol id for action
	int msg;                            // message id for action
	int size;                           // size of data
	unsigned char *data;                // action data
	int timeout;                        // timeout in ms
};

struct EpEvent {
	GUID protocol;                      // protocol id for event
	int msg;                            // message id for event
	int size;                           // size of data
	unsigned char *data;                // event data
	int reference_id;                   // reference identification for this event
};

struct EpTimeOut {
	GUID protocol;                      // protocol id that timed out
	int msg;                            // message id that timed out
};

struct UDPTarget {
	int port;
	char address[64];
};
#pragma pack(pop)

// ========================================================
// Protocol Handling
// ========================================================

typedef void* (DLL_CALLCONV *protocol_create)(TRANSPORT_HANDLE transport);
typedef void (DLL_CALLCONV *protocol_receive)(void *self, unsigned char *data, int size);
typedef void (DLL_CALLCONV *protocol_send)(void *self, EpAction *action);
typedef void (DLL_CALLCONV *protocol_reset)(void *self);
typedef void (DLL_CALLCONV *protocol_destroy)(void *self);
typedef int (DLL_CALLCONV *protocol_getname)(void *self, char *name, int size);
typedef int (DLL_CALLCONV *protocol_getmessagename)(void *self, int msg, char *name, int size);

#pragma pack(push, 1)
struct Protocol {
	protocol_create create;                 // protocol constructor
	protocol_receive receive;               // called when data is received
	protocol_send send;                     // called when data is sent
	protocol_reset reset;                   // reset the protocol
	protocol_destroy destroy;               // protocol destructor
	protocol_getname getname;               // retrieve the protocol name
	protocol_getmessagename getmessagename; // retrieve the name of a protocol msg
};
#pragma pack(pop)

// ========================================================
// System callback
// ========================================================

typedef void (DLL_CALLCONV *CallbackProc)(TRANSPORT_HANDLE transport, EpEvent *event, void *data);

// ========================================================
// OpenNet Functions
// ========================================================

extern "C" {
	// ##########################################################
	// INITIALIZE FUNCTIONS
	// ##########################################################
	// ----------------------------------------------------------
	// Purpose: Initialises the OpenNet communication system
	// Usage  : Call this function exactly ONE time at the start
	//          of the program
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpInit();

	// ----------------------------------------------------------
	// Purpose: Drives OpenNet's event pushing mechanism
	// Usage  : Call this function repeatedly so that OpenNet
	//          can deliver its events.
	// Notes  : This function is needed because events have
	//          to be delivered in the thread space of the
	//          calling thread. EpHeartBeat will return true,
	//          if a message was processed, and false otherwise.
	// ----------------------------------------------------------

	DLL_API bool DLL_CALLCONV EpHeartBeat();

	// ----------------------------------------------------------
	// Purpose: deinitialises the OpenNet communication system
	// Usage  : call this function exactly ONE time at the end
	//          of the program
	// Notes  : Make sure there are no open transports anymore
	//          when you deinitialise the library.
	// ----------------------------------------------------------

	DLL_API void DLL_CALLCONV EpFinalize();

	// ----------------------------------------------------------
	// Purpose: Retrieves the number of cpus in the system
	// Usage  : This function is used internally in the library
	//          for thread creation and data load balancing
	// Notes  : This function calls the Win32 API function
	//          GetSystemInfo
	// ----------------------------------------------------------

	DLL_API int DLL_CALLCONV EpGetCpuCount();

	// ----------------------------------------------------------
	// Purpose: Receives the version string of the library
	// Usage  : Use this function to show the OpenNet
	//          version string in an application
	// Notes  : None
	// ----------------------------------------------------------

	DLL_API const char *DLL_CALLCONV EpGetVersion();

	// ##########################################################
	// PROPERTY GROUPS
	// ##########################################################
	// ----------------------------------------------------------
	// Purpose: Creates a new, empty property group object.
	//          A property group stores the type of a transport
	//          and key/value pairs. Every transport contains
	//          exactly one property group.
	// Usage  : None
	// ----------------------------------------------------------

	DLL_API PROPERTYGROUP_HANDLE DLL_CALLCONV EpCreatePropertyGroup();

	// ----------------------------------------------------------
	// Purpose: Converts properties in a string to a property
	//          group and loads it into a group. A property
	//          string should have the format
	//
	//               "type property=value property=value"
	//
	// Usage  : None
	// ----------------------------------------------------------

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品久久理论片| 色天天综合久久久久综合片| 奇米精品一区二区三区在线观看 | 国产自产高清不卡| 五月激情六月综合| 国产午夜精品一区二区三区嫩草 | 亚洲国产精品精华液网站| 国产精品日韩精品欧美在线| 久久蜜臀中文字幕| 6080国产精品一区二区| 日本高清不卡视频| www.久久久久久久久| av不卡在线播放| 岛国精品一区二区| 国产99久久精品| 国产精品18久久久久久久久久久久| 另类综合日韩欧美亚洲| 蜜桃久久精品一区二区| 男男gaygay亚洲| 免费高清成人在线| 国产精品18久久久久久久网站| 成人免费看片app下载| aaa欧美日韩| 欧美日韩一区久久| www亚洲一区| 国产精品久久久久久久第一福利 | 国产精品短视频| 亚洲亚洲精品在线观看| 秋霞国产午夜精品免费视频| 精品一区二区三区蜜桃| 成人av网站在线| 亚欧色一区w666天堂| 亚洲欧洲一区二区在线播放| 久久激情五月激情| 国产精品蜜臀av| 亚洲视频一区二区在线观看| 久久精品夜夜夜夜久久| 国产精品欧美一区喷水| 久久久亚洲精品一区二区三区| 日韩欧美的一区二区| 一级女性全黄久久生活片免费| 日韩免费在线观看| 亚洲国产精品精华液2区45| 亚洲精品精品亚洲| 久久不见久久见中文字幕免费| 成人三级在线视频| 欧美军同video69gay| 久久人人97超碰com| 一区二区三区免费| 国产福利不卡视频| 欧美日韩另类国产亚洲欧美一级| 久久综合九色综合97婷婷女人| 1000部国产精品成人观看| 日本sm残虐另类| 99久久综合狠狠综合久久| 91精品国产欧美日韩| 中文字幕欧美国产| 青青国产91久久久久久| 91色porny| 欧美精品一区二区三区在线播放| 亚洲三级在线免费| 国产一区 二区 三区一级| 欧美三级电影网站| 国产精品卡一卡二卡三| 激情都市一区二区| 欧美丝袜丝交足nylons图片| 亚洲国产精品精华液2区45| 奇米色777欧美一区二区| 在线一区二区三区四区| 亚洲国产精品高清| 韩国女主播成人在线观看| 欧美人xxxx| 亚洲精品免费在线播放| 国产91综合网| 精品久久久久香蕉网| 午夜精品爽啪视频| 色94色欧美sute亚洲13| 亚洲国产精品高清| 国产精品久久久久久久久图文区| 欧美96一区二区免费视频| 国产三区在线成人av| 国产精品99久久久久久宅男| 久久众筹精品私拍模特| 日本午夜精品视频在线观看| 精品免费视频一区二区| 亚洲尤物在线视频观看| 97久久精品人人澡人人爽| 国产精品国产自产拍高清av王其| 日本不卡视频一二三区| 欧美午夜精品一区二区三区| 九九精品视频在线看| 色999日韩国产欧美一区二区| 一区二区三区蜜桃网| 韩国av一区二区三区四区| 7777精品伊人久久久大香线蕉的| 亚洲动漫第一页| 日韩欧美高清一区| 国产a久久麻豆| 久久久不卡网国产精品二区| 性感美女久久精品| 欧美日韩精品一区二区天天拍小说| 18成人在线观看| 成人晚上爱看视频| 国产日本一区二区| 成人综合婷婷国产精品久久免费| 国产精品麻豆一区二区| 欧美久久久一区| 国产一区二区调教| 一区二区三区国产精华| 日韩色视频在线观看| 国产精品影视网| 一区二区三区在线视频免费| 欧美日韩精品免费| 99精品久久久久久| 日韩一本二本av| 亚洲人一二三区| 91美女片黄在线观看| 亚洲激情自拍视频| 7777精品伊人久久久大香线蕉的 | 欧美一区二区网站| 亚洲午夜激情网站| 3d动漫精品啪啪1区2区免费 | 欧美亚洲日本一区| 亚洲一区二区三区四区五区黄| 欧美久久久久中文字幕| 久久91精品国产91久久小草| 欧美国产综合色视频| 欧美综合亚洲图片综合区| 天天综合色天天综合色h| 精品久久人人做人人爽| 不卡欧美aaaaa| 视频在线在亚洲| 亚洲人成影院在线观看| 欧洲一区二区三区免费视频| 日本欧美一区二区| 中文久久乱码一区二区| 欧美探花视频资源| 久久国产麻豆精品| 国产精品毛片久久久久久| 欧美日韩一区二区在线观看| 国产在线精品不卡| 亚洲精品videosex极品| 精品三级av在线| 91久久国产最好的精华液| 精品夜夜嗨av一区二区三区| 亚洲人成亚洲人成在线观看图片| 91精品国产一区二区三区香蕉 | 在线免费不卡视频| 裸体在线国模精品偷拍| 中文字幕一区二区在线观看| 欧美日本韩国一区二区三区视频| 国产精品99久久久久久久女警 | 精品一区二区在线播放| 亚洲色图在线播放| 欧美成人video| 91豆麻精品91久久久久久| 国产综合久久久久久鬼色| 亚洲影视在线播放| 久久久综合网站| 8x8x8国产精品| 91影院在线免费观看| 激情综合网激情| 天堂成人免费av电影一区| 欧美高清在线精品一区| 91精品国产麻豆国产自产在线 | 欧美性三三影院| 国产a视频精品免费观看| 日韩国产欧美在线观看| 亚洲欧美日韩小说| 国产欧美日韩视频一区二区| 日韩午夜中文字幕| 欧美系列在线观看| 成人的网站免费观看| 国产一区二区三区不卡在线观看 | 91福利视频网站| 国产电影一区在线| 免费成人美女在线观看| 亚洲狠狠爱一区二区三区| 国产精品九色蝌蚪自拍| 久久精子c满五个校花| 日韩视频免费直播| 欧美日韩精品福利| 91官网在线免费观看| 99在线视频精品| 国产成人精品在线看| 国产一区二区不卡在线| 日韩不卡一二三区| 香蕉成人伊视频在线观看| 一区二区在线观看免费视频播放 | 成人高清免费在线播放| 国产乱码精品一区二区三区av| 裸体在线国模精品偷拍| 首页国产欧美日韩丝袜| 亚洲国产精品麻豆| 亚洲综合色自拍一区| 亚洲狼人国产精品| 亚洲欧洲av一区二区三区久久| 国产欧美一区二区三区在线看蜜臀| 精品国产乱码久久| 久久综合给合久久狠狠狠97色69|