WvStreams
wvipraw.h
1 /* -*- Mode: C++ -*-
2  * Worldvisions Weaver Software:
3  * Copyright (C) 1997-2003 Net Integration Technologies, Inc.
4  *
5  */
6 #ifndef __WVIPRAW_H
7 #define __WVIPRAW_H
8 
9 #include "wvfdstream.h"
10 #include "wvaddr.h"
11 #include <netinet/in.h>
12 
32 class WvIPRawStream : public WvFDStream
33 {
34 public:
36  WvIPRawStream(const WvIPAddr &_local, const WvIPAddr &_rem,
37  int ip_protocol = IPPROTO_RAW);
38  virtual ~WvIPRawStream();
39 
40  const WvAddr *local() const;
41 
47  virtual const WvAddr *src() const;
48  void setdest(const WvIPAddr &_remaddr)
49  { remaddr = _remaddr; }
50 
51  void enable_broadcasts();
52 
53 protected:
54  WvIPAddr localaddr, remaddr;
55 
56  virtual size_t uread(void *buf, size_t count);
57  virtual size_t uwrite(const void *buf, size_t count);
58 
59 public:
60  const char *wstype() const { return "WvIPRawStream"; }
61 };
62 
63 
64 #endif // __WVIPRAW_H