summaryrefslogtreecommitdiffstats
path: root/router.h
diff options
context:
space:
mode:
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 *);