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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? opennet.h

?? .net 方面的開發說明資料。
?? H
?? 第 1 頁 / 共 2 頁
字號:
// ========================================================
// 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
	// ----------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区在线观看视频| 色婷婷av久久久久久久| 在线精品视频小说1| 中文字幕av一区二区三区免费看 | 日韩色在线观看| 裸体一区二区三区| 久久网这里都是精品| 国产精品亲子乱子伦xxxx裸| 欧美精品在欧美一区二区少妇| 亚洲综合在线第一页| 91美女视频网站| 日韩黄色免费电影| 国产日产欧产精品推荐色| 成人性生交大片免费看中文网站| 亚洲日本一区二区| 欧美精品一卡两卡| 狠狠色2019综合网| 亚洲免费观看高清在线观看| 欧美狂野另类xxxxoooo| 国产一区日韩二区欧美三区| 国产在线精品视频| 成人免费黄色在线| 亚洲动漫第一页| 2023国产精品自拍| 欧美三级在线看| 粉嫩在线一区二区三区视频| 亚洲国产精品久久艾草纯爱| 久久久久国产精品厨房| 91精品国产综合久久久久久漫画| 国产传媒欧美日韩成人| 日本三级亚洲精品| 亚洲日本在线观看| 国产女同互慰高潮91漫画| 欧美精品三级日韩久久| 91免费国产在线观看| 椎名由奈av一区二区三区| 国产一区二区伦理| 麻豆免费看一区二区三区| 亚洲国产精品综合小说图片区| 国产亚洲精品免费| 26uuu成人网一区二区三区| 欧美日韩黄色一区二区| 欧美午夜精品一区| 在线中文字幕一区| 欧美在线你懂的| 在线影院国内精品| 欧美日韩免费一区二区三区视频 | 欧美精品一区在线观看| 国产精品久久福利| 99热99精品| 国产成人免费av在线| 国产米奇在线777精品观看| 欧美a级理论片| 韩日精品视频一区| 成人福利视频在线看| av在线播放不卡| 91成人国产精品| 欧美一区二区视频在线观看2022| 欧美一区二区三区的| 国产日韩欧美一区二区三区综合| 国产欧美一区二区精品性色 | 亚洲国产成人一区二区三区| 久久精品视频一区二区三区| 国产精品素人一区二区| 一区二区三区四区国产精品| 亚洲大片精品永久免费| 久久精品免费看| 91碰在线视频| 91精品国产色综合久久不卡蜜臀| 欧美精品一区二区三区很污很色的| 国产精品亲子伦对白| 日韩国产欧美在线观看| 成人精品视频一区二区三区尤物| 色婷婷av一区二区三区软件| 精品区一区二区| 亚洲美女淫视频| 成人免费视频播放| 欧美性猛交一区二区三区精品| 精品日韩av一区二区| 亚洲午夜激情网站| 成人一区在线看| 精品剧情v国产在线观看在线| 亚洲自拍偷拍图区| 成人av网在线| 国产日产欧美一区二区视频| 国产一区二区三区日韩| 精品久久国产字幕高潮| 亚洲超碰97人人做人人爱| 国内精品久久久久影院一蜜桃| 日本精品视频一区二区| 亚洲成va人在线观看| 国产精品嫩草影院av蜜臀| 国产一区二区三区视频在线播放| 91.xcao| 夜夜嗨av一区二区三区| 97久久超碰国产精品电影| 国产精品毛片大码女人| 成人性生交大片免费看视频在线 | 欧美午夜精品免费| 亚洲综合另类小说| 欧美精品一区二区在线观看| 国产毛片精品一区| 日韩视频在线一区二区| 国产传媒久久文化传媒| 国产精品一级在线| 韩国毛片一区二区三区| 国产性做久久久久久| 成人丝袜高跟foot| 一区二区三区日韩| 欧美久久高跟鞋激| 国产原创一区二区| 国产精品成人免费精品自在线观看| 91在线精品一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 5566中文字幕一区二区电影 | 亚洲综合自拍偷拍| 日韩一级免费一区| 国产成人欧美日韩在线电影| 精品在线一区二区三区| 亚洲欧美一区二区三区极速播放 | 韩国毛片一区二区三区| 国产精品三级久久久久三级| 日本精品视频一区二区| 国产成人一区在线| 国产福利一区在线| 日韩网站在线看片你懂的| 国精产品一区一区三区mba视频 | 亚洲国产精品久久一线不卡| 久久精品一区四区| 欧美日韩一区二区不卡| 国产精品一二二区| 精品一区二区三区欧美| 天天综合网天天综合色| 亚洲色图一区二区三区| 久久精品视频在线看| 日韩一级免费观看| 777久久久精品| 4438亚洲最大| 欧美精品v国产精品v日韩精品| 91黄色免费版| 欧美一区三区四区| 久久国产精品99久久人人澡| 亚洲人成伊人成综合网小说| 欧美一卡二卡在线观看| 色激情天天射综合网| 欧美aaaaaa午夜精品| 综合精品久久久| 26uuu久久天堂性欧美| 91精品国产综合久久久久久久久久| 99视频精品在线| 国产精品一区专区| 麻豆精品精品国产自在97香蕉| 久久久精品黄色| 国产清纯白嫩初高生在线观看91 | 亚洲日本电影在线| 国产精品77777| 自拍偷拍国产精品| 日韩一区二区高清| 91麻豆swag| av毛片久久久久**hd| 成人网在线播放| 91老师片黄在线观看| 成人午夜激情在线| 国产一区在线精品| 国产精品一区二区在线看| 国产精一品亚洲二区在线视频| 亚洲成人av一区二区三区| 欧美96一区二区免费视频| 国产成人av影院| 欧美色涩在线第一页| www..com久久爱| 欧美性大战久久久| 91搞黄在线观看| 久久蜜臀中文字幕| 91蜜桃在线免费视频| 一区二区三区蜜桃| 热久久一区二区| 国产精品一区二区在线观看网站| 波多野洁衣一区| 99精品国产一区二区三区不卡| 欧美日韩国产区一| 国产精品女主播av| 午夜精品123| 色综合久久久久综合| 日韩欧美成人一区| 国产精品欧美久久久久一区二区 | 青娱乐精品在线视频| 亚洲综合一区二区| 韩国女主播一区| 欧美一区二区福利在线| 亚洲国产一区在线观看| 视频一区在线视频| 日本久久精品电影| 亚洲欧美一区二区久久| 成人蜜臀av电影| 中文字幕一区免费在线观看| 国产在线国偷精品免费看| 色一情一乱一乱一91av| 国产精品午夜在线| 99视频在线观看一区三区|