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

📄 sockunix.h

📁 《CODE READING》配套书源代码 《CODE READING》配套书源代码
💻 H
字号:
// sockunix.h -*- C++ -*- socket library// Copyright (C) 1992-1996 Gnanasekaran Swaminathan <gs4t@virginia.edu>//// Permission is granted to use at your own risk and distribute this software// in source and  binary forms provided  the above copyright notice and  this// paragraph are  preserved on all copies.  This software is provided "as is"// with no express or implied warranty.//// Version: 12Jan97 1.11#ifndef _SOCKUNIX_H#define	_SOCKUNIX_H#include <sockstream.h>#include <sys/un.h>class sockunixaddr: public sockAddr, public sockaddr_un {public:                     ~sockunixaddr () {}  		     sockunixaddr (const char* path);  		     sockunixaddr (const sockunixaddr& suna);  		     operator void* () const { return addr_un (); }  sockaddr_un*       addr_un () const { return (sockaddr_un*)this; }  int                size () const { return sizeof (sockaddr_un); }  int                family () const { return sun_family; }  sockaddr*          addr() const {return (sockaddr*) addr_un (); }};class sockunixbuf: public sockbuf {public:  enum domain { af_unix = AF_UNIX };                         sockunixbuf (const sockbuf::sockdesc& sd);  		     sockunixbuf (const sockunixbuf& su);  		     sockunixbuf (sockbuf::type ty, int proto=0);  sockunixbuf&       operator = (const sockunixbuf& su);                     ~sockunixbuf () {}  virtual void       bind (sockAddr& sa);  void               bind (const char* path);  virtual void       connect (sockAddr& sa);  void               connect (const char* path);};class isockunix: public isockstream{public:  		     isockunix (const sockbuf::sockdesc& sd);                     isockunix (const sockunixbuf& sb);  		     isockunix (sockbuf::type ty=sockbuf::sock_stream,				int proto=0);  		     ~isockunix();        sockunixbuf*       operator -> () { return (sockunixbuf*)rdbuf (); }};class osockunix: public osockstream{public:  		     osockunix (const sockbuf::sockdesc& sd);                     osockunix (const sockunixbuf& sb);  		     osockunix (sockbuf::type ty=sockbuf::sock_stream,				int proto=0);  		     ~osockunix ();       sockunixbuf*	     operator -> () { return (sockunixbuf*)rdbuf (); }};class iosockunix: public iosockstream{public:  		     iosockunix (const sockbuf::sockdesc& sd);                     iosockunix (const sockunixbuf& sb);  		     iosockunix (sockbuf::type ty=sockbuf::sock_stream,				 int proto=0);  		     ~iosockunix ();      sockunixbuf*       operator -> () { return (sockunixbuf*)rdbuf (); }};#endif	// _SOCKUNIX_H

⌨️ 快捷键说明

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