Main Page | Modules | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals | Related Pages | Examples

XgDiscover


Data Structures

struct  DISCOVERY_OPTIONS

Defines

#define NUT_THREAD_DISTSTACK   512
#define DISCOVERY_PORT   9806

Functions

int NutDiscoveryAnnTele (DISCOVERY_TELE *dist)
 Create an announcement datagram.
int NutDiscoveryAppConf (DISCOVERY_TELE *dist)
 Apply new configuration.
void DiscoveryResponder (void *arg)
NutDiscoveryCallback NutRegisterDiscoveryCallback (NutDiscoveryCallback func)
 Register a custom discovery callback handler.
int NutRegisterDiscovery (u_long ipmask, u_short port, u_int flags)
 Register discovery telegram responder.


Function Documentation

int NutDiscoveryAnnTele DISCOVERY_TELE *  dist  ) 
 

Create an announcement datagram.

Parameters:
dist Pointer to the datagram buffer that will be filled.
Returns:
Number of bytes filled into the datagram buffer.

int NutDiscoveryAppConf DISCOVERY_TELE *  dist  ) 
 

Apply new configuration.

Parameters:
dist Pointer to the discovery datagram. It is assumed, that the validity of the datagram contents had been checked by the caller.

NutDiscoveryCallback NutRegisterDiscoveryCallback NutDiscoveryCallback  func  ) 
 

Register a custom discovery callback handler.

When a callback had been registered, all datagrams matching the IP mask are passed to this function, which should inspect the datagram contents and take any required action like calling NutDiscoveryAnnTele() etc. If the callback returns a positive value, a response will be sent back, using that return value as its length.

Parameters:
func Pointer to the callback function or NULL to disable responses.
Returns:
Previously used callback function pointer.

int NutRegisterDiscovery u_long  ipmask,
u_short  port,
u_int  flags
 

Register discovery telegram responder.

The first call will activate the responder thread. Any subsequent calls will return a failure.

Note:
Enabling a discovery responder is a potential security hole.
Parameters:
ipmask Update datagrams from remote hosts, which do not fit to this mask are ignored. Set to INADDR_BROADCAST to allow any. If zero, no updates are allowed.
port The responder will listen to this UDP port. If zero, the default port 9806 will be used.
flags Option value, may contain any combination of DISF_ flags.
Returns:
0 if a handler thread had been started, -1 otherwise.


© 2000-2006 by egnite Software GmbH - visit http://www.ethernut.de/