dispatcher.h File Reference

#include "net/ip.h"
#include "net/net_if.h"
#include "net/tcp.h"

Include dependency graph for dispatcher.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  nip_disp_params_t
 Dispatcher Command Parameters. More...
struct  nip_disp_state_t
 Information needed to manage the dispatcher state machine. More...

Defines

#define nip_disp_notify(events)   nip_disp.flags |= events
Dispatcher status flags
#define NIP_DISP_RUNNING   0x01
 Dispatcher is running.
#define NIP_DISP_CHECK_IF   0x02
 Some network interface flag changed.
#define NIP_DISP_CHECK_UDP   0x04
 Check UDP sockets.
#define NIP_DISP_CHECK_TCP   0x08
 TCP connections need to be checked.
#define NIP_DISP_TIMER   0x10
 Check stack timer.
#define NIP_DISP_CHECK_TRANS   0x20
 check transmissions.
#define NIP_DISP_CHECK_MDNS   0x40
 perform mDNS checks
Dispatcher network interface event flags
#define NIP_DISP_IF_ETH_R   0x01
 Missed Eth Receive Call because Dispatcher was busy.
#define NIP_DISP_IF_TIMER   0x04
 check interface timers.
#define NIP_DISP_IF_DHCP   0x08
 check DHCP status for interface, currently same as timer
#define NIP_DISP_IF_AUTOIP   0x10
 check autoIP implementation
#define NIP_DISP_IF_GROUP   0x20
 check host group memberships
Macros for easier access to dispatcher variables
#define NIP_CURR_CMD   nip_disp.next.common.func
#define NIP_CURR_IF   0
#define SET_CURR_IF(id)

Enumerations

enum  nip_disp_cmd_t {
  NIP_DC_NONE, NIP_DC_IP_SEND, NIP_DC_TCP_SEND, NIP_DC_HARD_RECV,
  NIP_DC_IP_RECV, NIP_DC_ARP_RECV, NIP_DC_ICMP_RECV, NIP_DC_TCP_RECV,
  NIP_DC_CUSTOM
}
 Commands to be executed by the dispatcher. More...

Functions

void nip_disp_notify_if (nip_net_if_id_t net_if_id, uint8_t event)
nip_error_t nip_dispatcher (void)

Variables

nip_disp_state_t nip_disp


Define Documentation

#define NIP_CURR_CMD   nip_disp.next.common.func

#define NIP_CURR_IF   0

Definition at line 142 of file dispatcher.h.

Referenced by nip_dhcp_disp_check().

#define NIP_DISP_CHECK_IF   0x02

Some network interface flag changed.

Definition at line 61 of file dispatcher.h.

#define NIP_DISP_CHECK_MDNS   0x40

perform mDNS checks

Definition at line 66 of file dispatcher.h.

Referenced by nip_mdns_cache_task(), nip_mdns_disp_check_queries(), and nip_mdns_interface_up().

#define NIP_DISP_CHECK_TCP   0x08

TCP connections need to be checked.

Definition at line 63 of file dispatcher.h.

Referenced by nip_tcp_close(), nip_tcp_disp_check(), and nip_tcp_write().

#define NIP_DISP_CHECK_TRANS   0x20

check transmissions.

same as timer, currently

Definition at line 65 of file dispatcher.h.

Referenced by nip_udp_transmit().

#define NIP_DISP_CHECK_UDP   0x04

Check UDP sockets.

Definition at line 62 of file dispatcher.h.

#define NIP_DISP_IF_AUTOIP   0x10

check autoIP implementation

Definition at line 75 of file dispatcher.h.

#define NIP_DISP_IF_DHCP   0x08

check DHCP status for interface, currently same as timer

Definition at line 74 of file dispatcher.h.

Referenced by nip_dhcp_start().

#define NIP_DISP_IF_ETH_R   0x01

Missed Eth Receive Call because Dispatcher was busy.

Definition at line 71 of file dispatcher.h.

#define NIP_DISP_IF_GROUP   0x20

check host group memberships

Definition at line 76 of file dispatcher.h.

#define NIP_DISP_IF_TIMER   0x04

check interface timers.

Definition at line 73 of file dispatcher.h.

Referenced by main().

#define nip_disp_notify ( events   )     nip_disp.flags |= events

#define NIP_DISP_RUNNING   0x01

Dispatcher is running.

Do not allow another instance.

Definition at line 60 of file dispatcher.h.

#define NIP_DISP_TIMER   0x10

Check stack timer.

Definition at line 64 of file dispatcher.h.

Referenced by main().

#define SET_CURR_IF ( id   ) 

Definition at line 143 of file dispatcher.h.


Enumeration Type Documentation

Commands to be executed by the dispatcher.

Note:
this list is currently not in use but may replace the func-pointer in the nip_disp_params_t choice at some time in future.
Enumerator:
NIP_DC_NONE 
NIP_DC_IP_SEND  command to indicate empty unused structure
NIP_DC_TCP_SEND 
NIP_DC_HARD_RECV 
NIP_DC_IP_RECV 
NIP_DC_ARP_RECV 
NIP_DC_ICMP_RECV 
NIP_DC_TCP_RECV 
NIP_DC_CUSTOM  custom command

Definition at line 41 of file dispatcher.h.


Function Documentation

void nip_disp_notify_if ( nip_net_if_id_t  net_if_id,
uint8_t  event 
)

Referenced by main(), and nip_dhcp_start().

Here is the caller graph for this function:

nip_error_t nip_dispatcher ( void   ) 

Referenced by main(), nip_tcp_close(), nip_tcp_write(), and nip_udp_transmit().

Here is the caller graph for this function:


Variable Documentation


Generated on Thu Jul 10 01:09:40 2008 for NIP by  doxygen 1.5.5