WvStreams
wvipraw.h
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