WvStreams
|
00001 /* -*- Mode: C++ -*- 00002 * Worldvisions Weaver Software: 00003 * Copyright (C) 1997-2003 Net Integration Technologies, Inc. 00004 * 00005 */ 00006 #ifndef __WVIPRAW_H 00007 #define __WVIPRAW_H 00008 00009 #include "wvfdstream.h" 00010 #include "wvaddr.h" 00011 #include <netinet/in.h> 00012 00032 class WvIPRawStream : public WvFDStream 00033 { 00034 public: 00036 WvIPRawStream(const WvIPAddr &_local, const WvIPAddr &_rem, 00037 int ip_protocol = IPPROTO_RAW); 00038 virtual ~WvIPRawStream(); 00039 00040 const WvAddr *local() const; 00041 00047 virtual const WvAddr *src() const; 00048 void setdest(const WvIPAddr &_remaddr) 00049 { remaddr = _remaddr; } 00050 00051 void enable_broadcasts(); 00052 00053 protected: 00054 WvIPAddr localaddr, remaddr; 00055 00056 virtual size_t uread(void *buf, size_t count); 00057 virtual size_t uwrite(const void *buf, size_t count); 00058 00059 public: 00060 const char *wstype() const { return "WvIPRawStream"; } 00061 }; 00062 00063 00064 #endif // __WVIPRAW_H