/* * Copyright (c) 1995, 1996 Gunther Schadow. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ /* The xsockbuf is a streambuf that hides the underlying transport * medium. It provides Berkeley socket style semantics to a number * of network, serial line and file media: TCP/IP, unix stream type * socket, tty, pty, file, pipe. * The xsockbuf can operate in client or server mode. As a server, it * can be bound to an address. It can then accept */ #ifndef XSOCKBUF_H #define XSOCKBUF_H #include class xsockbuf: public streambuf { public: enum { Write = 1, Read = 2, Discard = 4 }; const int address_maxsize = 255; public: void xconnect(const char *address); void xbind(const char *address); void xaccept(); const char *xpeername(); void xshutdown(int how); void xreset(); private: char *address; char *peer; }; #endif /* ! XSOCKBUF_H */