22 #ifndef NSC_SIM_INTERFACE_H
23 #define NSC_SIM_INTERFACE_H
25 #define NSC_VERSION 0x000500
31 virtual void init (
int hz) = 0;
38 virtual void if_attach (
const char *addr,
const char *mask,
int mtu) = 0;
70 virtual int sysctl (
const char *sysctl_name,
void *oldval,
size_t *oldlenp,
71 void *newval,
size_t newlen)
80 virtual int sysctl_set (
const char *name,
const char *value)
88 virtual int sysctl_get (
const char *name,
char *value,
size_t len)
111 virtual bool get_var (
const char *var,
char *result,
int result_len)
116 virtual bool set_var (
const char *var,
const char *val)
130 virtual int cmd (
const char *)
140 virtual void connect (
const char *,
int) = 0;
142 virtual void listen (
int) = 0;
145 virtual int read_data (
void *buf,
int *buflen) = 0;
149 virtual int setsockopt (
char *optname,
void *val,
size_t valsize) = 0;
162 virtual bool get_var (
const char *var,
char *result,
int result_len)
167 virtual bool set_var (
const char *var,
const char *val)
191 virtual void wakeup () = 0;
192 virtual void gettime (
unsigned int *,
unsigned int *) = 0;
199 #define CREATE_STACK_FUNC(a,b,c) extern "C" INetStack *nsc_create_stack ( \
200 ISendCallback *a, IInterruptCallback *b, FRandom c)
virtual void if_receive_packet(int if_id, const void *data, int datalen)=0
virtual bool is_listening()=0
virtual void show_config()
virtual void set_destination(const char *, int)=0
virtual ~INetDatagramSocket()
virtual bool get_var(const char *var, char *result, int result_len)
virtual int accept(INetStreamSocket **)=0
virtual int setsockopt(char *optname, void *val, size_t valsize)=0
virtual ~INetStreamSocket()
virtual bool get_var(const char *var, char *result, int result_len)
virtual void if_send_packet(const void *data, int datalen)=0
virtual void connect(const char *, int)=0
virtual void increment_ticks()=0
virtual void send_callback(const void *data, int datalen)=0
virtual const char * get_name()=0
virtual int send_data(const void *data, int datalen)=0
virtual void send_data(const void *data, int datalen)=0
virtual void buffer_size(int size)=0
virtual bool is_connected()=0
virtual void print_state(FILE *)=0
virtual int sysctl_set(const char *name, const char *value)
virtual void timer_interrupt()=0
virtual void set_diagnostic(int level)
virtual struct INetStreamSocket * new_sctp_socket()
virtual int sysctl_getnum(size_t idx, char *name, size_t len)
virtual void gettime(unsigned int *, unsigned int *)=0
virtual void add_default_gateway(const char *addr)=0
virtual int getpeername(struct sockaddr *sa, size_t *salen)
virtual int getsockname(struct sockaddr *sa, size_t *salen)
virtual void listen(int)=0
virtual bool set_var(const char *var, const char *val)
virtual int sysctl(const char *sysctl_name, void *oldval, size_t *oldlenp, void *newval, size_t newlen)
virtual ~IInterruptCallback()
virtual void if_attach(const char *addr, const char *mask, int mtu)=0
virtual void disconnect()=0
virtual void if_send_finish(int if_id)=0
virtual int read_data(void *buf, int *buflen)=0
virtual struct INetStreamSocket * new_tcp_socket()
virtual void init(int hz)=0
virtual bool set_var(const char *var, const char *val)
virtual int cmd(const char *)
virtual struct INetDatagramSocket * new_udp_socket()
virtual int sysctl_get(const char *name, char *value, size_t len)