00001
00002
00003
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
00060
00061 #endif // __WVIPRAW_H