summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ouroboros/qos.h5
-rw-r--r--src/lib/qos.c32
-rw-r--r--src/lib/qoscube.c33
3 files changed, 38 insertions, 32 deletions
diff --git a/include/ouroboros/qos.h b/include/ouroboros/qos.h
index 0a9bc060..2419195b 100644
--- a/include/ouroboros/qos.h
+++ b/include/ouroboros/qos.h
@@ -34,6 +34,11 @@ typedef struct qos_spec {
uint32_t maximum_interruption; /* In ms */
} qosspec_t;
+qosspec_t qos_raw;
+qosspec_t qos_best_effort;
+qosspec_t qos_video;
+qosspec_t qos_voice;
+
__BEGIN_DECLS
int qosspec_init(qosspec_t * qs);
diff --git a/src/lib/qos.c b/src/lib/qos.c
index 7a830b8b..f5fbf1fb 100644
--- a/src/lib/qos.c
+++ b/src/lib/qos.c
@@ -26,6 +26,38 @@
#include <stdint.h>
#include <stddef.h>
+qosspec_t qos_raw = {
+ .delay = UINT32_MAX,
+ .bandwidth = UINT64_MAX,
+ .availability = 0,
+ .in_order = 0,
+ .maximum_interruption = UINT32_MAX
+};
+
+qosspec_t qos_best_effort = {
+ .delay = UINT32_MAX,
+ .bandwidth = UINT64_MAX,
+ .availability = 0,
+ .in_order = 1,
+ .maximum_interruption = UINT32_MAX
+};
+
+qosspec_t qos_video = {
+ .delay = 100,
+ .bandwidth = UINT64_MAX,
+ .availability = 3,
+ .in_order = 1,
+ .maximum_interruption = 100
+};
+
+qosspec_t qos_voice = {
+ .delay = 10,
+ .bandwidth = 100000,
+ .availability = 5,
+ .in_order = 1,
+ .maximum_interruption = 50
+};
+
int qosspec_init(qosspec_t * qs)
{
if (qs == NULL)
diff --git a/src/lib/qoscube.c b/src/lib/qoscube.c
index 00210625..12f7c277 100644
--- a/src/lib/qoscube.c
+++ b/src/lib/qoscube.c
@@ -20,42 +20,11 @@
* Foundation, Inc., http://www.fsf.org/about/contact/.
*/
+#include <ouroboros/qos.h>
#include <ouroboros/qoscube.h>
#include <string.h>
-static struct qos_spec qos_raw = {
- .delay = UINT32_MAX,
- .bandwidth = UINT64_MAX,
- .availability = 0,
- .in_order = 0,
- .maximum_interruption = UINT32_MAX
-};
-
-static struct qos_spec qos_best_effort = {
- .delay = UINT32_MAX,
- .bandwidth = UINT64_MAX,
- .availability = 0,
- .in_order = 1,
- .maximum_interruption = UINT32_MAX
-};
-
-static struct qos_spec qos_video = {
- .delay = 100,
- .bandwidth = UINT64_MAX,
- .availability = 3,
- .in_order = 1,
- .maximum_interruption = 100
-};
-
-static struct qos_spec qos_voice = {
- .delay = 10,
- .bandwidth = 100000,
- .availability = 5,
- .in_order = 1,
- .maximum_interruption = 50
-};
-
qoscube_t qos_spec_to_cube(qosspec_t qs)
{
if (qs.delay <= qos_voice.delay &&