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
WvIPRawStream::src
virtual const WvAddr * src() const
return the remote address (source of incoming packets, target of outgoing packets).
Definition: wvipraw.cc:70
WvIPRawStream::WvIPRawStream
WvIPRawStream(const WvIPAddr &_local, const WvIPAddr &_rem, int ip_protocol=IPPROTO_RAW)
connect a new socket
Definition: wvipraw.cc:16
WvIPRawStream
WvIPRawStream can send and receive packets on a connectionless IP socket.
Definition: wvipraw.h:32
WvAddr
Base class for different address types, each of which will have the ability to convert itself to/from...
Definition: wvaddr.h:118
WvIPRawStream::uread
virtual size_t uread(void *buf, size_t count)
unbuffered I/O functions; these ignore the buffer, which is handled by read().
Definition: wvipraw.cc:82
WvIPAddr
An IP address is made up of a "dotted quad" – four decimal numbers in the form www....
Definition: wvaddr.h:249
WvFdStream
Base class for streams built on Unix file descriptors.
Definition: wvfdstream.h:20
WvIPRawStream::uwrite
virtual size_t uwrite(const void *buf, size_t count)
unbuffered I/O functions; these ignore the buffer, which is handled by write().
Definition: wvipraw.cc:98