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

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

?? pinet.h

?? PTypes (C++ Portable Types Library) is a simple alternative to the STL that includes multithreading
?? H
字號:
/* * *  C++ Portable Types Library (PTypes) *  Version 1.7.5   Released 9-Mar-2003 * *  Copyright (c) 2001, 2002, 2003 Hovik Melikyan * *  http://www.melikyan.com/ptypes/ *  http://ptypes.sourceforge.net/ * */#ifndef __PINET_H__#define __PINET_H__#ifndef __PPORT_H__#include "pport.h"#endif#ifndef __PTYPES_H__#include "ptypes.h"#endif#ifndef __PSTREAMS_H__#include "pstreams.h"#endif#ifdef WIN32#  include <winsock2.h>#else#  include <netdb.h>       // for socklen_t#  include <sys/types.h>#  include <sys/socket.h>#endifPTYPES_BEGIN#ifdef _MSC_VER#pragma pack(push, 4)#endif//// BSD-compatible socket error codes for Win32//#if defined(WSAENOTSOCK) && !defined(ENOTSOCK)#define EWOULDBLOCK             WSAEWOULDBLOCK#define EINPROGRESS             WSAEINPROGRESS#define EALREADY                WSAEALREADY#define ENOTSOCK                WSAENOTSOCK#define EDESTADDRREQ            WSAEDESTADDRREQ#define EMSGSIZE                WSAEMSGSIZE#define EPROTOTYPE              WSAEPROTOTYPE#define ENOPROTOOPT             WSAENOPROTOOPT#define EPROTONOSUPPORT         WSAEPROTONOSUPPORT#define ESOCKTNOSUPPORT         WSAESOCKTNOSUPPORT#define EOPNOTSUPP              WSAEOPNOTSUPP#define EPFNOSUPPORT            WSAEPFNOSUPPORT#define EAFNOSUPPORT            WSAEAFNOSUPPORT#define EADDRINUSE              WSAEADDRINUSE#define EADDRNOTAVAIL           WSAEADDRNOTAVAIL#define ENETDOWN                WSAENETDOWN#define ENETUNREACH             WSAENETUNREACH#define ENETRESET               WSAENETRESET#define ECONNABORTED            WSAECONNABORTED#define ECONNRESET              WSAECONNRESET#define ENOBUFS                 WSAENOBUFS#define EISCONN                 WSAEISCONN#define ENOTCONN                WSAENOTCONN#define ESHUTDOWN               WSAESHUTDOWN#define ETOOMANYREFS            WSAETOOMANYREFS#define ETIMEDOUT               WSAETIMEDOUT#define ECONNREFUSED            WSAECONNREFUSED#define ELOOP                   WSAELOOP// #define ENAMETOOLONG            WSAENAMETOOLONG#define EHOSTDOWN               WSAEHOSTDOWN#define EHOSTUNREACH            WSAEHOSTUNREACH// #define ENOTEMPTY               WSAENOTEMPTY#define EPROCLIM                WSAEPROCLIM#define EUSERS                  WSAEUSERS#define EDQUOT                  WSAEDQUOT#define ESTALE                  WSAESTALE#define EREMOTE                 WSAEREMOTE// NOTE: these are not errno constants in UNIX!#define HOST_NOT_FOUND          WSAHOST_NOT_FOUND#define TRY_AGAIN               WSATRY_AGAIN#define NO_RECOVERY             WSANO_RECOVERY#define NO_DATA                 WSANO_DATA#endif// shutdown() constants#if defined(SD_RECEIVE) && !defined(SHUT_RD)#  define SHUT_RD       SD_RECEIVE#  define SHUT_WR       SD_SEND#  define SHUT_RDWR     SD_BOTH#endif// max backlog value for listen()#ifndef SOMAXCONN#  define SOMAXCONN -1#endif#ifdef WIN32    typedef char* sockval_t;#else    typedef void* sockval_t;#   define closesocket close#endif#if defined(__DARWIN__) || defined(WIN32)  typedef int psocklen;#else  typedef socklen_t psocklen;#endif// -------------------------------------------------------------------- //// ---  IP address class and DNS utilities ---------------------------- //// -------------------------------------------------------------------- ////// IP address//struct ptpublic ipaddress{    union    {        uchar   data[4];        ulong   ldata;    };    ipaddress()                             {}    ipaddress(ulong a)                      { ldata = a; }    ipaddress(int a, int b, int c, int d);    ipaddress& operator= (ulong a)          { ldata = a; return *this; }    uchar& operator [] (int i)              { return data[i]; }    operator ulong() const                  { return ldata; }};ptpublic extern ipaddress ipnone;ptpublic extern ipaddress ipany;ptpublic extern ipaddress ipbcast;//// IP peer info: host name, IP and the port name// used internally in ipstream and ipmessage//class ptpublic ippeerinfo{protected:    ipaddress ip;         // target IP    string    host;       // target host name; either IP or hostname must be specified    int       port;       // target port number    void      notfound(); // throws a (estream*) exception    friend ptpublic bool psockname(int, ippeerinfo&);public:    ippeerinfo();    ippeerinfo(ipaddress iip, const string& ihost, int iport);    ipaddress get_ip();     // resolves the host name if necessary (only once)    string    get_host();   // performs reverse-lookup if necessary (only once)    int       get_port()    { return port; }    void      clear();    string    asstring(bool showport) const;};ptpublic string    iptostring(ipaddress ip);ptpublic ipaddress phostbyname(const char* name);ptpublic string    phostbyaddr(ipaddress ip);ptpublic string    phostcname(const char* name);// internal utilitiesptpublic int usockerrno();ptpublic const char* usockerrmsg(int code);ptpublic bool psockwait(int handle, int timeout);ptpublic bool psockname(int handle, ippeerinfo&);// -------------------------------------------------------------------- //// ---  TCP socket classes -------------------------------------------- //// -------------------------------------------------------------------- //// additional IO status codesconst int IO_RESOLVING  = 10;const int IO_RESOLVED   = 11;const int IO_CONNECTING = 20;const int IO_CONNECTED  = 21;//// ipstream//class ptpublic ipstream: public fdxstm, public ippeerinfo{    friend class ipstmserver;protected:    int svsocket;   // server socket descriptor, used internally by ipstmserver#ifdef WIN32    // A citation from MSDN: "While nothing in the Windows Sockets prevents an     // implementation from using regular file handles to identify sockets, nothing requires     // it either". Nothing requires us to spend less time writing programs?    virtual int dorawread(char* buf, int count);    virtual int dorawwrite(const char* buf, int count);#endif    virtual int  uerrno();    virtual const char* uerrmsg(int code);    virtual void doopen();    virtual int  doseek(int newpos, ioseekmode mode);    virtual void doclose();    void closehandle();public:    ipstream();    ipstream(ipaddress ip, int port);    ipstream(const char* host, int port);    ipstream(const string& host, int port);    virtual ~ipstream();    virtual string get_streamname();    bool      waitfor(int timeout);    ipaddress get_myip();    int       get_myport();    void      set_ip(ipaddress);    void      set_host(const string&);    void      set_host(const char*);    void      set_port(int);};//// common internal interfaces for ipstmserver and ipmsgserver//class ipbindinfo: public unknown, public ippeerinfo{public:    int handle;    ipbindinfo(ipaddress iip, const string& ihost, int iport);    virtual ~ipbindinfo();};class ptpublic ipsvbase: public unknown{protected:    int     socktype;    bool    active;    objlist addrlist;       // list of local socket addresses to bind to (ipbindinfo*)    void error(ippeerinfo& peer, int code, const char* defmsg);    bool dopoll(int* i, int timeout);    void setupfds(void* set, int i);    virtual void open();    virtual void close();    virtual void dobind(ipbindinfo*) = 0;public:    ipsvbase(int isocktype);    virtual ~ipsvbase();    void bind(ipaddress ip, int port);    void bindall(int port);    int get_addrcount()                  { return length(addrlist); }    const ipbindinfo& get_addr(int i)    { return *(ipbindinfo*)addrlist[i]; }    void clear();};//// ipstmserver//class ptpublic ipstmserver: public ipsvbase{protected:    virtual void dobind(ipbindinfo*);public:    ipstmserver();    virtual ~ipstmserver();    bool poll(int i = -1, int timeout = 0);    bool serve(ipstream& client, int i = -1, int timeout = -1);};typedef ipstream ipsocket;      // pre-1.7 compatibility aliasestypedef ipstmserver ipserver;// -------------------------------------------------------------------- //// ---  UDP socket classes -------------------------------------------- //// -------------------------------------------------------------------- ////// ipmessage//class ptpublic ipmessage: public unknown, public ippeerinfo{protected:    int handle;    void error(int code, const char* msg);    void open();    void close();public:    ipmessage();    ipmessage(ipaddress ip, int port);    ipmessage(const char* host, int port);    ipmessage(const string& host, int port);    virtual ~ipmessage();    void set_ip(ipaddress iip);    void set_host(const string&);    void set_host(const char*);    void set_port(int);    ipaddress get_myip();    int get_myport();    bool   waitfor(int timeout);    int    receive(char* buf, int count);    string receive(int max);    void   send(const char* buf, int count);    void   send(const string& s)                { send(s, length(s)); }};//// ipmsgserver//class ptpublic ipmsgserver: public ipsvbase, public ippeerinfo{protected:    int handle;    virtual void close();    virtual void dobind(ipbindinfo*);public:    ipmsgserver();    virtual ~ipmsgserver();    bool   poll(int i = -1, int timeout = 0);    int    receive(char* buf, int count);    string receive(int max);    void   send(const char* buf, int count);    void   send(const string& s)                { send(s, length(s)); }    void   sendto(const char* buf, int count, ipaddress ip, int port);    void   sendto(const string& s, ipaddress ip, int port)                                                { sendto(s, length(s), ip, port); }};#ifdef _MSC_VER#pragma pack(pop)#endifPTYPES_END#endif // __PINET_H__

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美性色黄大片| 亚洲精品亚洲人成人网| 日韩精品影音先锋| 6080国产精品一区二区| 欧美视频一区在线| 欧美日韩一区二区三区在线看 | 国产 日韩 欧美大片| 韩国成人福利片在线播放| 韩国女主播成人在线| 国产一区二区三区国产| 国产成人亚洲精品青草天美| 国产精品一区免费在线观看| 国产精品一二三| 成人免费三级在线| 99re热视频这里只精品| 色综合久久久久综合体桃花网| 日本福利一区二区| 欧美日本免费一区二区三区| 欧美精品久久久久久久多人混战 | 亚洲欧美激情插| 亚洲自拍与偷拍| 日韩成人精品在线| 精品一区二区三区在线播放 | 2020日本不卡一区二区视频| 国产日韩av一区| 一区二区三区中文字幕电影| 亚洲va天堂va国产va久| 久久国产精品第一页| 丰满少妇在线播放bd日韩电影| 99视频精品在线| 欧美老女人第四色| 久久综合视频网| 亚洲乱码日产精品bd| 日韩高清一区在线| 国产aⅴ综合色| 欧美视频在线播放| 久久久天堂av| 亚洲午夜国产一区99re久久| 国内久久精品视频| 91视频一区二区| 欧美一级一区二区| 国产精品久久毛片| 首页国产丝袜综合| 不卡一区中文字幕| 欧美一级理论片| 亚洲欧洲美洲综合色网| 日日夜夜精品视频天天综合网| 丰满亚洲少妇av| 91精品欧美久久久久久动漫| 中文字幕+乱码+中文字幕一区| 亚洲国产成人av网| 成人午夜大片免费观看| 欧美年轻男男videosbes| 国产欧美精品一区aⅴ影院| 一区av在线播放| 国产成人免费视频精品含羞草妖精| 色999日韩国产欧美一区二区| 亚洲成人精品一区| 精品一区二区三区免费播放| 国产尤物一区二区在线| 日本久久电影网| 国产午夜亚洲精品羞羞网站| 亚洲国产视频直播| 成人国产免费视频| 欧美一区二区性放荡片| 亚洲欧洲综合另类| 国产精品小仙女| 日韩一区二区三区视频在线 | 日韩va欧美va亚洲va久久| www.亚洲精品| 久久久精品黄色| 天天影视网天天综合色在线播放 | 国产欧美日产一区| 久久精品国产一区二区| 欧美乱熟臀69xxxxxx| 亚洲欧美另类图片小说| 懂色av中文一区二区三区| 欧美成人性福生活免费看| 亚洲va韩国va欧美va精品| 97国产一区二区| 国产精品久久久一本精品| 美国一区二区三区在线播放| 久久婷婷综合激情| 亚洲国产aⅴ天堂久久| 成人福利电影精品一区二区在线观看| 日韩一区二区三区电影在线观看| 一区二区三区不卡视频在线观看 | 国产在线看一区| 日韩一区二区三区免费观看| 三级一区在线视频先锋| 欧美视频一区二区三区在线观看 | 国产一区二区三区日韩| 日韩一区二区在线看| 男人的天堂久久精品| 日韩一区二区三区四区| 老司机精品视频在线| 日韩欧美成人午夜| 免费成人在线观看视频| 日韩免费看的电影| 精品一区二区国语对白| 欧美v国产在线一区二区三区| 免费日韩伦理电影| 日韩一级片网址| 久久超碰97人人做人人爱| 偷拍亚洲欧洲综合| 91国产免费看| 一区二区三区高清在线| 欧美三级资源在线| 日本免费在线视频不卡一不卡二| 欧美精品 日韩| 九九**精品视频免费播放| 欧美videossexotv100| 激情综合网最新| 日本一区免费视频| 91亚洲永久精品| 亚洲国产美女搞黄色| 91精品国产综合久久福利| 免费成人在线影院| 久久久久久久av麻豆果冻| www.久久精品| 亚洲一区二区三区在线看| 日韩一区二区三区精品视频| 国产一区 二区| 亚洲色图欧美激情| 欧美精品vⅰdeose4hd| 久久精品999| 国产精品久久久久久久岛一牛影视| 91在线你懂得| 青青国产91久久久久久| 国产欧美视频一区二区三区| 9l国产精品久久久久麻豆| 亚洲国产精品影院| 久久综合网色—综合色88| 91在线观看下载| 日韩av中文在线观看| 国产片一区二区| 欧美日韩在线直播| 国产综合色在线视频区| 亚洲人午夜精品天堂一二香蕉| 5566中文字幕一区二区电影| 国产福利91精品| 亚洲地区一二三色| 欧美xxxxx牲另类人与| 91麻豆swag| 激情五月激情综合网| 一区二区三区在线视频免费观看| 精品捆绑美女sm三区| 91国模大尺度私拍在线视频| 精品一区精品二区高清| 一区二区三区高清在线| 久久久久久久免费视频了| 欧美日韩在线观看一区二区 | 欧美精品 国产精品| 粉嫩av亚洲一区二区图片| 日韩精品乱码av一区二区| 国产精品久久久久久久蜜臀| 正在播放亚洲一区| 一本到不卡免费一区二区| 久草中文综合在线| 亚洲一区二区五区| 国产精品久久久久久福利一牛影视| 91精品国产综合久久小美女 | 日韩伦理电影网| 精品国产亚洲在线| 欧美猛男gaygay网站| 成av人片一区二区| 狠狠色综合播放一区二区| 一区二区激情视频| 中文字幕在线一区二区三区| 欧美一级精品在线| 日本一区二区三级电影在线观看| 91超碰这里只有精品国产| 91香蕉国产在线观看软件| 国产成人免费视频网站高清观看视频| 亚洲成人av中文| 亚洲日本在线观看| 国产精品久线观看视频| 久久蜜桃av一区二区天堂| 91精品国产乱码| 欧美欧美欧美欧美| 欧美亚州韩日在线看免费版国语版| 国产 欧美在线| 国产精品99久久久久久久女警 | 在线免费观看成人短视频| 成人av资源网站| 国产福利精品一区二区| 九九热在线视频观看这里只有精品| 五月激情综合网| 无码av免费一区二区三区试看| 亚洲欧美电影一区二区| 中文字幕在线观看不卡| 欧美激情资源网| 中文字幕免费不卡| 国产女同性恋一区二区| 久久久蜜臀国产一区二区| 日韩精品自拍偷拍| 欧美成人女星排名| 精品国产伦一区二区三区观看体验| 91精品国产综合久久久蜜臀粉嫩| 欧美日韩久久久久久|