INetStack Struct Reference

#include <sim_interface.h>

List of all members.

Public Member Functions

virtual ~INetStack ()
virtual void init (int hz)=0
virtual void if_receive_packet (int if_id, const void *data, int datalen)=0
virtual void if_send_packet (const void *data, int datalen)=0
virtual void if_send_finish (int if_id)=0
virtual void if_attach (const char *addr, const char *mask, int mtu)=0
virtual void add_default_gateway (const char *addr)=0
virtual int get_id ()=0
virtual const char * get_name ()=0
virtual int get_hz ()=0
virtual void timer_interrupt ()=0
virtual void increment_ticks ()=0
virtual void buffer_size (int size)=0
virtual struct INetDatagramSocketnew_udp_socket ()
virtual struct INetStreamSocketnew_tcp_socket ()
virtual struct INetStreamSocketnew_sctp_socket ()
virtual int sysctl (const char *sysctl_name, void *oldval, size_t *oldlenp, void *newval, size_t newlen)
virtual int sysctl_set (const char *name, const char *value)
virtual int sysctl_get (const char *name, char *value, size_t len)
virtual int sysctl_getnum (size_t idx, char *name, size_t len)
virtual void show_config ()
virtual bool get_var (const char *var, char *result, int result_len)
virtual bool set_var (const char *var, const char *val)
virtual void set_diagnostic (int level)
virtual int cmd (const char *)

Detailed Description

Definition at line 25 of file sim_interface.h.


Constructor & Destructor Documentation

virtual INetStack::~INetStack (  )  [inline, virtual]

Definition at line 27 of file sim_interface.h.


Member Function Documentation

virtual void INetStack::add_default_gateway ( const char *  addr  )  [pure virtual]
virtual void INetStack::buffer_size ( int  size  )  [pure virtual]
virtual int INetStack::cmd ( const char *   )  [inline, virtual]

Simple interface to support sending any textual command to a stack

Returns:
0 on success

Definition at line 128 of file sim_interface.h.

virtual int INetStack::get_hz (  )  [pure virtual]

This is used so the simulator can call the stack timer_interrupt function the correct amount of times per second. For example, lwip has a hz of 10, which it returns here to say that it's timer_interrupt should be called 10 times a second. FreeBSD uses 100, as does Linux 2.4, while Linux 2.6 uses 1000. (This is often configurable in the kernel in question, also.)

Referenced by ns3::NscTcpL4Protocol::SetNode().

virtual int INetStack::get_id (  )  [pure virtual]

Purely for debugging/diagnostic purposes. This returns the internal id of the stack instance.

virtual const char* INetStack::get_name (  )  [pure virtual]

Should return a short one-word name of the stack. Eg. Linux 2.4.x -> linux24, FreeBSD 5.x -> freebsd5. This can be used to identify output from a stack, for example a packet trace file.

Referenced by ns3::Ns3NscStack::GetInstanceTypeId().

virtual bool INetStack::get_var ( const char *  var,
char *  result,
int  result_len 
) [inline, virtual]

Definition at line 109 of file sim_interface.h.

virtual void INetStack::if_attach ( const char *  addr,
const char *  mask,
int  mtu 
) [pure virtual]
virtual void INetStack::if_receive_packet ( int  if_id,
const void *  data,
int  datalen 
) [pure virtual]
virtual void INetStack::if_send_finish ( int  if_id  )  [pure virtual]
virtual void INetStack::if_send_packet ( const void *  data,
int  datalen 
) [pure virtual]
virtual void INetStack::increment_ticks (  )  [pure virtual]
virtual void INetStack::init ( int  hz  )  [pure virtual]
virtual struct INetStreamSocket* INetStack::new_sctp_socket (  )  [inline, read, virtual]

Definition at line 64 of file sim_interface.h.

virtual struct INetStreamSocket* INetStack::new_tcp_socket (  )  [inline, read, virtual]

Definition at line 63 of file sim_interface.h.

virtual struct INetDatagramSocket* INetStack::new_udp_socket (  )  [inline, read, virtual]

Definition at line 62 of file sim_interface.h.

virtual void INetStack::set_diagnostic ( int  level  )  [inline, virtual]

The level of debugging or diagnostic information to print out. This normally means kernel messages printed out during initialisation but may also include extra debugging messages that are part of NSC.

Definition at line 122 of file sim_interface.h.

virtual bool INetStack::set_var ( const char *  var,
const char *  val 
) [inline, virtual]

Definition at line 114 of file sim_interface.h.

virtual void INetStack::show_config (  )  [inline, virtual]

Definition at line 103 of file sim_interface.h.

virtual int INetStack::sysctl ( const char *  sysctl_name,
void *  oldval,
size_t *  oldlenp,
void *  newval,
size_t  newlen 
) [inline, virtual]

Definition at line 68 of file sim_interface.h.

virtual int INetStack::sysctl_get ( const char *  name,
char *  value,
size_t  len 
) [inline, virtual]

Definition at line 86 of file sim_interface.h.

Referenced by ns3::Ns3NscStack::Get(), and ns3::Ns3NscStack::GetInstanceTypeId().

virtual int INetStack::sysctl_getnum ( size_t  idx,
char *  name,
size_t  len 
) [inline, virtual]

Definition at line 98 of file sim_interface.h.

Referenced by ns3::Ns3NscStack::GetInstanceTypeId().

virtual int INetStack::sysctl_set ( const char *  name,
const char *  value 
) [inline, virtual]

Definition at line 78 of file sim_interface.h.

Referenced by ns3::Ns3NscStack::Set().

virtual void INetStack::timer_interrupt (  )  [pure virtual]

The documentation for this struct was generated from the following file:
Generated on Thu Dec 3 14:09:13 2009 for NS-3 by  doxygen 1.6.3