bundleserver_i.h from EmStar at Krugle
Show bundleserver_i.h syntax highlighted
#ifndef __BUNDLESERVER_I_H__
#define __BUNDLESERVER_I_H__
#include "libdev/query_client.h"
#include "libdev/query_dev.h"
#include "libdev/status_dev.h"
#include "libmisc/queue.h"
struct bundleserver_state_s;
typedef struct bundleserver_job_s
{
char * file_name; // includes bundle header
char * dest_ip;
char * next_ip;
char * src_ip;
char * status;
size_t payload_size; // excludes bundle header
struct bundleserver_state_s * state;
}
bundleserver_job_t;
/**************************************/
typedef struct bundleserver_job_elem_s
{
bundleserver_job_t * job;
QUEUE_ELEMENT_DECL(bundleserver_ptrs, struct bundleserver_job_elem_s);
}
bundleserver_job_elem_t;
/**************************************/
typedef struct bundleserver_job_queue_s
{
QUEUE_DECL(bundleserver_list, struct bundleserver_job_elem_s);
}
bundleserver_job_queue_t;
typedef struct bundleserver_header_s
{
// version, type, new file name, time stamp, length, src, dest
uint32_t version;
uint32_t type;
char base_name[128];
char src[16];
char dest[16];
size_t length; // of the payload
}
bundleserver_header_t;
/**************************************/
typedef struct bundleserver_state_s
{
status_context_t * status_dev_ref;
query_context_t * query_dev_ref;
bundleserver_job_queue_t * job_queue;
query_client_ctx_t * query_client_ref;
g_event_t * bundleserver_timer_dir;
g_event_t * bundleserver_timer_routes;
route_entry_t route_entry;
// this is temporary.
char * next_ip;
char * dest_ip;
char * self_ip;
int stop;
}
bundleserver_state_t;
/**************************************/
QUEUE_INLINE_INSTANTIATIONS(bundleserver_job_queue, bundleserver_ptrs, bundleserver_list,
bundleserver_job_elem_t, bundleserver_job_queue_t);
#endif
See more files for this project here
EmStar is a software system for developing and deploying wireless sensor networks involving Linux-based platforms. As the wireless sensor network community has attempted to deploy more complex designs---large-scale, long-lived systems that need self-organization and adaptivity---a number of difficult software design issues have arisen. Advances in software design have not kept pace with the capabilities of hardware. This is because designing for an adaptive, efficient, and useful sensor network has turned out to be surprisingly complex and difficult. EmStar is a Linux-based software framework, whose goal is to dramatically reduce this complexity, enabling work to be shared and reused, and simplifying and speeding the design of new sensor network applications.
Project homepage:
http://cvs.cens.ucla.edu/emstar/
Programming language(s): C,Shell Script
License: other
TODO
bundleserver.c
bundleserver_i.h
reflect.h
reflect_extras.c
reflect_extras.h
reflect_main.c
state_info.c
state_info.h