diff options
-rw-r--r-- | include/ouroboros/qos.h | 5 | ||||
-rw-r--r-- | src/lib/qos.c | 32 | ||||
-rw-r--r-- | src/lib/qoscube.c | 33 |
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 && |