Sensix
Wireless Sensor Network Middleware



   Home


   Project Page


   Download


   CVS




 Hosted by
Get SENSIX at SourceForge.net. Fast, secure 
and Free Open Source software downloads

/home/brennan/Software/sensix/source/discovery_service.h File Reference

SENSIX discovery service. More...

#include <stdint.h>
#include "sense_impl.h"

Go to the source code of this file.

Classes

struct  _obj_ref
struct  _announce
struct  _report
struct  _require
struct  _share
struct  _discoverhdr
struct  _discovermsg
struct  _disc_args

Defines

#define DISCOVERY_PORT   2999
#define MCAST_ADDR_IPv6   "FF18::178"
#define MCAST_ADDR_IPv4   "224.0.0.178"
#define MCAST_ADDR   MCAST_ADDR_IPv4
#define TX_TIMEOUT   12
#define RETRY_ITVL   4
#define EMPTY_TIMEOUT   1000
#define DISCOVERY_HEADER_SIZE   8
#define TOO_SMALL   -100
#define REGISTRY_FULL   (0 - RegistryFull)
#define ALREADY_REGISTERED   (0 - AlreadyRegistered)
#define INVALID_OBJECT   (0 - InvalidObject)
#define NO_NODE   (0 - NoNode)
#define NO_NETWORK   (0 - NoNetwork)
#define NO_CAPABILITY   (0 - NoCapability)
#define OBJ_REF_SIZE   2048
#define ANNOUNCE_SIZE   5
#define REPORT_SIZE   6
#define REQUIRE_SIZE   10

Typedefs

typedef struct _obj_ref object_reference_t
typedef struct _announce Announce
typedef struct _report Report
typedef struct _require Require
typedef struct _share Share
typedef struct _discoverhdr DiscoverHeader
typedef struct _discovermsg DiscoverMessage
typedef struct _disc_args discovery_args_t

Enumerations

enum  DiscoveryError {
  RegistryFull, AlreadyRegistered, BadORB, InvalidObject,
  NoNode, NoNetwork, NoCapability
}

Functions

void announceHeader (uint8_t *hdr)
void reportHeader (uint8_t *hdr)
void requireHeader (uint8_t *hdr)
void shareHeader (uint8_t *hdr, Share *shr)
void loadAnnounce (uint8_t *msg, Announce *ann)
void loadReport (uint8_t *msg, Report *rpt)
void loadRequire (uint8_t *msg, Require *req)
void loadShare (uint8_t *msg, Share *shr)
int parseDiscoverHeader (DiscoverHeader *hdr, unsigned char *bytes)
int parseDiscoverMessage (DiscoverMessage *dm, DiscoverHeader *hdr, unsigned char *bytes)
uint8_t self_level ()
uint32_t self_identifier ()
int self_capabilities (uint8_t *caps, size_t *size)
int self_register_object (uint8_t capability, object_reference_t *obj, bool_t override)
bool_t descendants_findNode (uint32_t id)
int descendants_queryNetwork (object_reference_t *objrefs, size_t *num, uint8_t capability)
int descendants_queryNode (object_reference_t *objref, uint32_t id, uint8_t capability)
int descendants_capabilities (uint8_t *caps, size_t *num)
int descendants_nodes (uint32_t *ids, size_t *num)
bool_t siblings_findNode (uint32_t id)
int siblings_queryNetwork (object_reference_t *objrefs, size_t *num, uint8_t capability)
int siblings_queryNode (object_reference_t *objref, uint32_t id, uint8_t capability)
int siblings_capabilities (uint8_t *caps, size_t *num)
int siblings_nodes (uint32_t *ids, size_t *num)
bool_t ancestors_findNode (uint32_t id)
int ancestors_nodes (uint32_t *ids, size_t *num)
bool_t family_findNode (uint32_t id)
int family_queryNetwork (object_reference_t *objrefs, size_t *num, uint8_t capability)
int family_queryNode (object_reference_t *objref, uint32_t id, uint8_t capability)
void * discovery_service (void *args)


Detailed Description

SENSIX discovery service.

Revision
1.9
Author
sean_m_brennan
Date
2009/07/04 03:59:32

Definition in file discovery_service.h.


Define Documentation

#define ALREADY_REGISTERED   (0 - AlreadyRegistered)

Definition at line 71 of file discovery_service.h.

#define ANNOUNCE_SIZE   5

Definition at line 98 of file discovery_service.h.

#define DISCOVERY_HEADER_SIZE   8

Definition at line 66 of file discovery_service.h.

#define DISCOVERY_PORT   2999

Definition at line 51 of file discovery_service.h.

#define EMPTY_TIMEOUT   1000

Definition at line 65 of file discovery_service.h.

#define INVALID_OBJECT   (0 - InvalidObject)

Definition at line 72 of file discovery_service.h.

#define MCAST_ADDR   MCAST_ADDR_IPv4

Definition at line 58 of file discovery_service.h.

#define MCAST_ADDR_IPv4   "224.0.0.178"

Definition at line 53 of file discovery_service.h.

#define MCAST_ADDR_IPv6   "FF18::178"

Definition at line 52 of file discovery_service.h.

#define NO_CAPABILITY   (0 - NoCapability)

Definition at line 75 of file discovery_service.h.

#define NO_NETWORK   (0 - NoNetwork)

Definition at line 74 of file discovery_service.h.

#define NO_NODE   (0 - NoNode)

Definition at line 73 of file discovery_service.h.

#define OBJ_REF_SIZE   2048

Definition at line 85 of file discovery_service.h.

#define REGISTRY_FULL   (0 - RegistryFull)

Definition at line 70 of file discovery_service.h.

#define REPORT_SIZE   6

Definition at line 106 of file discovery_service.h.

#define REQUIRE_SIZE   10

Definition at line 115 of file discovery_service.h.

#define RETRY_ITVL   4

Definition at line 64 of file discovery_service.h.

#define TOO_SMALL   -100

Definition at line 69 of file discovery_service.h.

#define TX_TIMEOUT   12

Definition at line 63 of file discovery_service.h.


Typedef Documentation

typedef struct _announce Announce

typedef struct _discoverhdr DiscoverHeader

typedef struct _discovermsg DiscoverMessage

typedef struct _disc_args discovery_args_t

typedef struct _obj_ref object_reference_t

typedef struct _report Report

typedef struct _require Require

typedef struct _share Share


Enumeration Type Documentation

Enumerator:
RegistryFull 
AlreadyRegistered 
BadORB 
InvalidObject 
NoNode 
NoNetwork 
NoCapability 

Definition at line 43 of file discovery_service.h.


Function Documentation

bool_t ancestors_findNode ( uint32_t  id  ) 

Definition at line 926 of file discovery_service.c.

int ancestors_nodes ( uint32_t *  ids,
size_t *  num 
)

Definition at line 941 of file discovery_service.c.

void announceHeader ( uint8_t *  hdr  ) 

int descendants_capabilities ( uint8_t *  caps,
size_t *  num 
)

Definition at line 756 of file discovery_service.c.

bool_t descendants_findNode ( uint32_t  id  ) 

Definition at line 672 of file discovery_service.c.

int descendants_nodes ( uint32_t *  ids,
size_t *  num 
)

Definition at line 776 of file discovery_service.c.

int descendants_queryNetwork ( object_reference_t objrefs,
size_t *  num,
uint8_t  capability 
)

Definition at line 687 of file discovery_service.c.

int descendants_queryNode ( object_reference_t objref,
uint32_t  id,
uint8_t  capability 
)

Definition at line 723 of file discovery_service.c.

void* discovery_service ( void *  args  ) 

Definition at line 1016 of file discovery_service.c.

bool_t family_findNode ( uint32_t  id  ) 

Definition at line 965 of file discovery_service.c.

int family_queryNetwork ( object_reference_t objrefs,
size_t *  num,
uint8_t  capability 
)

Definition at line 972 of file discovery_service.c.

int family_queryNode ( object_reference_t objref,
uint32_t  id,
uint8_t  capability 
)

Definition at line 994 of file discovery_service.c.

void loadAnnounce ( uint8_t *  msg,
Announce ann 
)

void loadReport ( uint8_t *  msg,
Report rpt 
)

void loadRequire ( uint8_t *  msg,
Require req 
)

void loadShare ( uint8_t *  msg,
Share shr 
)

int parseDiscoverHeader ( DiscoverHeader hdr,
unsigned char *  bytes 
)

Definition at line 229 of file discovery_service.c.

int parseDiscoverMessage ( DiscoverMessage dm,
DiscoverHeader hdr,
unsigned char *  bytes 
)

Definition at line 251 of file discovery_service.c.

void reportHeader ( uint8_t *  hdr  ) 

void requireHeader ( uint8_t *  hdr  ) 

int self_capabilities ( uint8_t *  caps,
size_t *  size 
)

Definition at line 617 of file discovery_service.c.

uint32_t self_identifier (  ) 

Definition at line 612 of file discovery_service.c.

uint8_t self_level (  ) 

Definition at line 607 of file discovery_service.c.

int self_register_object ( uint8_t  capability,
object_reference_t obj,
bool_t  override 
)

Definition at line 636 of file discovery_service.c.

void shareHeader ( uint8_t *  hdr,
Share shr 
)

int siblings_capabilities ( uint8_t *  caps,
size_t *  num 
)

Definition at line 883 of file discovery_service.c.

bool_t siblings_findNode ( uint32_t  id  ) 

Definition at line 799 of file discovery_service.c.

int siblings_nodes ( uint32_t *  ids,
size_t *  num 
)

Definition at line 903 of file discovery_service.c.

int siblings_queryNetwork ( object_reference_t objrefs,
size_t *  num,
uint8_t  capability 
)

Definition at line 814 of file discovery_service.c.

int siblings_queryNode ( object_reference_t objref,
uint32_t  id,
uint8_t  capability 
)

Definition at line 850 of file discovery_service.c.


© 2008, Los Alamos National Security, LLC.