Main Page   Modules   Data Structures   File List   Globals  

sumalib.h

00001 #if !defined(_SUMALIB_H_)
00002 #define _SUMALIB_H_
00003 
00004 #include <stdarg.h>
00005 #include <apr_uuid.h>
00006 #include "mystream.h"
00007 
00008 #define P2P_LOG_ERROR           1
00009 #define P2P_LOG_INFO            2
00010 #define P2P_LOG_DEBUG           3
00011 
00012 /*#define PROHIBIT_LOCAL_CONNECTION*/
00013 
00014 void p2p_log(int level, char *fmt, ...);
00015 void p2p_show_loglevel(mystream_t *mystream, char **argv, char *rest);
00016 void p2p_set_loglevel(mystream_t *mystream, char **argv, char *rest);
00017 
00018 #define P2P_UUID_FORMATTED_LENGTH       APR_UUID_FORMATTED_LENGTH
00019 typedef apr_uuid_t p2p_uuid_t;
00020 extern p2p_uuid_t uuid;
00021 void p2p_uuid_format(char *buffer, const p2p_uuid_t *uuid);
00022 
00023 typedef struct {
00024   unsigned int n_dst;
00025   char uuids[0][P2P_UUID_FORMATTED_LENGTH + 1];
00026 } p2p_destinations_t;
00027 
00028 typedef struct p2p_channel_s p2p_channel_t;
00029 
00030 p2p_channel_t *p2p_create_broadcast_channel(unsigned int service_port);
00031 p2p_channel_t *p2p_create_multicast_channel(unsigned int service_port, p2p_destinations_t *dst);
00032 p2p_channel_t *p2p_create_unicast_channel(unsigned int service_port, char* dst_uuid);
00033 int p2p_init(int argc, char *argv[], char *entry_points_ip_addrs[]);
00034 int p2p_write(p2p_channel_t *chann, char *body, int len);
00035 int p2p_read(p2p_channel_t *chann, char *msg, int len);
00036 int p2p_close_channel(p2p_channel_t *chann);
00037 int p2p_register_response_callback(int service_port, int (*handler)(p2p_channel_t *));
00038 int p2p_register_shutdown_callback
00039 (int service_port,
00040  int (*handler)(p2p_channel_t *)        /* channel might be null */
00041  );
00042 void p2p_list_connections(mystream_t *mystream, char **argv, char *rest);
00043 void p2p_list_channels(mystream_t *mystream, char **argv, char *rest);
00044 int p2p_shutdown();
00045 
00046 #endif  /* _SUMALIB_H_ */

Generated on Wed Aug 28 14:45:08 2002 for suma by doxygen1.2.17