⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wysockfile.h

📁 一个不错
💻 H
字号:
/* Copyright is licensed under GNU LGPL.                 by I.J.Wang 2003   documentation is in file wysockfile.3wy*/#ifndef WYSOCKFILE_H__#define WYSOCKFILE_H__#define WYSOCKFILE_VERSION 31#include "wybyteflow.h"#include "wy_sockaddr.h"#include <sys/types.h>#include <sys/socket.h>class WyRegFile;class WyChrFile;class WyTerminal;class WyFifoFile;class WySockFile;class WySockFile : public WyByteFlow {    static Wy__FtBits cftbits(void) WY__NOTHROW__;    static const int DefaultFamily=PF_UNSPEC;    int _family;    // Hidden    const WySockFile &operator=(const WySockFile &rhs);    bool operator==(const WySockFile&) const;    bool operator!=(const WySockFile&) const;    mode_t ftype(void) const WY__TSPC();    // Hidden    WyRet _fsync(void);    WyRet _fdatasync(void);    WyRet _tcdrain(void);    bool _isatty(void) const;    // Hidden (for compile time rule out)    WySockFile(const WyRegFile&);    WySockFile(const WyChrFile&);    WySockFile(const WyTerminal&);    WySockFile(const WyFifoFile&);    //WySockFile(const WySockFile&);    WyRet reset(const WyRegFile&);    WyRet reset(const WyChrFile&);    WyRet reset(const WyTerminal&);    WyRet reset(const WyFifoFile&);    //WyRet reset(const WySockFile&);  public:    static const char class_name[];    WY_THROW_REPLY;    WySockFile();    explicit  // no implicit conversion    WySockFile(WyFileHandle fh);    WySockFile(const WySysFile& skf);    //[TBD]    //WySockFile(const char* pathname,int f);    //WySockFile(const WyStr& pathname,int f);        WySockFile(int domain, int type, int proto=0);    WySockFile(const WySockFile& skf);    // [Move Constructor]    //    // Note: skf must be whole object except in initialization list    //    WySockFile(WySockFile& skf, Wy::ByMove_t) WY__TSPC();    //virtual ~WySockFile();    // [Derived]    //bool is_default(void) const WY__TSPC();    // WyFileHandle fh(void) const WY__TSPC();    // WyRet stat(WyFileStat& filestat) const;    // [Override]    virtual WyRet reset(void);    virtual WyRet reset(WyFileHandle fh);    virtual WyRet reset(const WySysFile& skf);    //[Hidden]    //     // Note: Access these member from base gets an error (implicitly disabled)    //    //virtual WyRet reset(const char* pathname,int f);    //virtual WyRet reset(const WyStr& pathname,int f);    // [Added]    virtual WyRet reset(int domain, int type, int proto=0);    // [Override]    virtual WyRet _swap(WySysFile& f) WY__TSPC();    virtual WySockFile* _alloc(WyRet&) const;    // [Derived]    //virtual WyRet read(void *, size_t, size_t&);    //virtual WyRet read(WyStr&, size_t, size_t&);    //virtual WyRet write(const void *, size_t count, size_t&)    //virtual WyRet write(WyCSeg, size_t&);    //virtual WyRet write(const WyStr&, size_t&);    // [Added]    int family(void) const WY__TSPC();    WyRet sockname(Wy_SockAddr& addr) const;    WyRet peername(Wy_SockAddr& addr) const;    virtual WyRet shutdown(int how);    virtual WyRet bind(const Wy_SockAddr& addr);    virtual WyRet listen(int backlog);    virtual WyRet accept(WySockFile &skt, Wy_SockAddr &addr);    virtual WyRet connect(const Wy_SockAddr& peer_addr);    virtual WyRet sendto(const void* msg, size_t len, int flags, const Wy_SockAddr* to, size_t& n_sent);    virtual WyRet recvfrom(void* buf, size_t blen, int flags, Wy_SockAddr* from, size_t& n_recv);    static WyRet sockpair(int domain, int type, int protocol,                          WySockFile& s1, WySockFile& s2);};#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -