summaryrefslogtreecommitdiffstats
path: root/router.h
diff options
context:
space:
mode:
authorManuel Bachmann <manuel.bachmann@iot.bzh>2016-06-13 13:15:17 +0200
committerYannick Gicquel <yannick.gicquel@iot.bzh>2016-10-11 17:09:07 +0200
commit9dc64e1e291d6518da0a918105c5bf7b1c603dd5 (patch)
treeffc30b09fc92696376ce4a6dec1367201ab3c7d4 /router.h
parent6fc3e02df9de8347eb76fdfd26ed781686d37b6c (diff)
Add basic configuration logic, builtin configuration
There is now a default routing configuration provided at startup (config file parsing is stubbed, decide if we need it for routing purposes, or just for very basic things). Change-Id: Ib824b63c663355ed80d0e6823d5f9aec8cb093d5 Signed-off-by: Manuel Bachmann <manuel.bachmann@iot.bzh>
Diffstat (limited to 'router.h')
-rw-r--r--router.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/router.h b/router.h
index 93b29d8..a1d2f7f 100644
--- a/router.h
+++ b/router.h
@@ -28,15 +28,14 @@
#define AGL_ZONE_MAX 8 /* max 8 zones, demo is using 5 */ /* DEFINED IN MURPHY */
-/*typedef bool (*agl_rtgroup_accept_t)(struct userdata *, agl_rtgroup *, agl_node *);*/
-/*typedef int (*agl_rtgroup_compare_t)(struct userdata *, agl_rtgroup *, agl_node *, agl_node *);*/
+typedef bool (*agl_rtgroup_accept_t)(struct userdata *, agl_rtgroup *, agl_node *);
+typedef int (*agl_rtgroup_compare_t)(struct userdata *, agl_rtgroup *, agl_node *, agl_node *);
struct agl_rtgroup {
char *name; /**< name of the rtgroup */
agl_dlist entries; /**< listhead of ordered rtentries */
- /*agl_rtgroup_accept_t accept;*/ /**< function pointer, whether to accept a node or not */
- /*agl_rtgroup_compare_t compare;*/ /**< function pointer, comparision for ordering */
- /*scripting_rtgroup *scripting;*/ /**< data for scripting, if any */
+ agl_rtgroup_accept_t accept; /**< function pointer, whether to accept a node or not */
+ agl_rtgroup_compare_t compare; /**< function pointer, comparision for ordering */
};
typedef struct {
@@ -71,6 +70,11 @@ struct agl_connection {
pa_router *pa_router_init (struct userdata *);
void pa_router_done (struct userdata *);
+bool agl_router_default_accept (struct userdata *, agl_rtgroup *, agl_node *);
+bool agl_router_phone_accept (struct userdata *, agl_rtgroup *, agl_node *);
+int agl_router_default_compare (struct userdata *, agl_rtgroup *, agl_node *, agl_node *);
+int agl_router_phone_compare (struct userdata *, agl_rtgroup *, agl_node *, agl_node *);
+
void agl_router_register_node (struct userdata *, agl_node *);
void agl_router_unregister_node (struct userdata *, agl_node *);
agl_node *agl_router_make_prerouting (struct userdata *, agl_node *);