summaryrefslogtreecommitdiff
path: root/cesar/cp2/cco/bw/inc/bw.h
diff options
context:
space:
mode:
authorboure2008-04-29 14:15:08 +0000
committerboure2008-04-29 14:15:08 +0000
commit69f09b741865780091c7b5d2d0e4b3ac7d9c0c07 (patch)
tree91467829be1c21627dab6c36aacdfe8723915c33 /cesar/cp2/cco/bw/inc/bw.h
parent565f1eb28cfb14289e99ca3bf560910866352e10 (diff)
Add Bandwidth Manager .xmi
Update Bandwidth Manager .odt && .h Update CCo action .odt && .h && .xmi git-svn-id: svn+ssh://pessac/svn/cesar/trunk@1930 017c9cb6-072f-447c-8318-d5b54f68fe89
Diffstat (limited to 'cesar/cp2/cco/bw/inc/bw.h')
-rw-r--r--cesar/cp2/cco/bw/inc/bw.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/cesar/cp2/cco/bw/inc/bw.h b/cesar/cp2/cco/bw/inc/bw.h
new file mode 100644
index 0000000000..34158a1a8f
--- /dev/null
+++ b/cesar/cp2/cco/bw/inc/bw.h
@@ -0,0 +1,67 @@
+#ifndef cp_cco_bw_private_h.h
+#define cp_cco_bw_private_h.h
+/* Cesar project {{{
+ *
+ * Copyright (C) 2008 Spidcom
+ *
+ * <<<Licence>>>
+ *
+ * }}} */
+/**
+ * \file inc/cp_cco_bw_private.h
+ * \brief « brief description »
+ * \ingroup « module »
+ *
+ * « long description »
+ */
+
+/**
+ * Bandwidth Manager Module. - Create the schedule - Allocate a specific
+ * connection - finalise and return a schedule (used by the Beacon module
+ * only)
+ */
+struct cp_cco_bw_private_t
+{
+ /** Public data. */
+ cp_cco_bw_t public_data;
+
+ /**
+ * The actual schedule is the one is motion during the beacon period.
+ * It receives modifications regarding on the incoming MMEs.
+ */
+ cp_cco_bw_alloc_conn_t* actual_schedule;
+
+
+};
+typedef struct cp_cco_bw_private_t cp_cco_bw_private_t;
+
+/**
+ * function that get a free GLID.
+ * \param ctx the module context.
+ * \return \todo fill this
+ *
+ */
+u8
+cp_cco_bw_get_free_glid (cp_cco_bw_t *ctx);
+
+/**
+ * Finalise the schedule before sending it.
+ * \param ctx the module context.
+ * \param conn_allocations table of the allocations.
+ *
+ */
+void
+cp_cco_bw_finalise_sched (cp_cco_bw_t *ctx, cp_cco_bw_alloc_conn_t* conn_allocations);
+
+/**
+ * Release the schedule after finaliseing it and sending it.
+ * \param ctx the module context.
+ * \param sched schedule to release
+ * \return \todo fill this
+ *
+ * Initialise the new schedule
+ */
+cp_cco_bw_alloc_conn_t*
+cp_cco_bw_release_sched (cp_cco_bw_t *ctx, cp_cco_bw_alloc_conn_t* sched);
+
+#endif /* cp_cco_bw_private_h */