summaryrefslogtreecommitdiffstats
path: root/tinyNET/src/dhcp6/tnet_dhcp6_duid.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinyNET/src/dhcp6/tnet_dhcp6_duid.c')
-rwxr-xr-xtinyNET/src/dhcp6/tnet_dhcp6_duid.c307
1 files changed, 150 insertions, 157 deletions
diff --git a/tinyNET/src/dhcp6/tnet_dhcp6_duid.c b/tinyNET/src/dhcp6/tnet_dhcp6_duid.c
index 38f2a52..3bec2f4 100755
--- a/tinyNET/src/dhcp6/tnet_dhcp6_duid.c
+++ b/tinyNET/src/dhcp6/tnet_dhcp6_duid.c
@@ -2,19 +2,19 @@
* Copyright (C) 2010-2011 Mamadou Diop.
*
* Contact: Mamadou Diop <diopmamadou(at)doubango[dot]org>
-*
+*
* This file is part of Open Source Doubango Framework.
*
* DOUBANGO is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
-*
+*
* DOUBANGO is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
-*
+*
* You should have received a copy of the GNU General Public License
* along with DOUBANGO.
*
@@ -38,101 +38,97 @@ int tnet_dhcp6_duid_ll_serialize(const tnet_dhcp6_duid_ll_t* self, tsk_buffer_t
tnet_dhcp6_duid_llt_t* tnet_dhcp6_duid_llt_create(const void* payload, tsk_size_t payload_size)
{
- return tsk_object_new(tnet_dhcp6_duid_llt_def_t, payload, payload_size);
+ return tsk_object_new(tnet_dhcp6_duid_llt_def_t, payload, payload_size);
}
tnet_dhcp6_duid_en_t* tnet_dhcp6_duid_en_create(const void* payload, tsk_size_t payload_size)
{
- return tsk_object_new(tnet_dhcp6_duid_en_def_t, payload, payload_size);
+ return tsk_object_new(tnet_dhcp6_duid_en_def_t, payload, payload_size);
}
tnet_dhcp6_duid_ll_t* tnet_dhcp6_duid_ll_create(const void* payload, tsk_size_t payload_size)
{
- return tsk_object_new(tnet_dhcp6_duid_ll_def_t, payload, payload_size);
+ return tsk_object_new(tnet_dhcp6_duid_ll_def_t, payload, payload_size);
}
int tnet_dhcp6_duid_init(tnet_dhcp6_duid_t *self, tnet_dhcp6_duid_type_t type)
{
- if(self){
- if(!self->initialized){
- self->type = type;
- self->initialized = tsk_true;
- return 0;
- }
- return -2;
- }
- return -1;
+ if(self) {
+ if(!self->initialized) {
+ self->type = type;
+ self->initialized = tsk_true;
+ return 0;
+ }
+ return -2;
+ }
+ return -1;
}
int tnet_dhcp6_duid_deinit(tnet_dhcp6_duid_t *self)
{
- if(self){
- if(self->initialized){
- self->initialized = tsk_true;
- return 0;
- }
- return -2;
- }
- return -1;
+ if(self) {
+ if(self->initialized) {
+ self->initialized = tsk_true;
+ return 0;
+ }
+ return -2;
+ }
+ return -1;
}
tnet_dhcp6_duid_t* tnet_dhcp6_duid_deserialize(const void* data, tsk_size_t size)
{
- tnet_dhcp6_duid_t *duid = 0;
- uint8_t* dataPtr = ((uint8_t*)data);
- //uint8_t* dataEnd = (dataPtr+size);
+ tnet_dhcp6_duid_t *duid = 0;
+ uint8_t* dataPtr = ((uint8_t*)data);
+ //uint8_t* dataEnd = (dataPtr+size);
- tnet_dhcp6_duid_type_t type;
- //uint8_t len = 0;
+ tnet_dhcp6_duid_type_t type;
+ //uint8_t len = 0;
- /* Check validity */
- if(!dataPtr || size<2/*Type*/){
- goto bail;
- }
+ /* Check validity */
+ if(!dataPtr || size<2/*Type*/) {
+ goto bail;
+ }
- type = (tnet_dhcp6_duid_type_t) tnet_ntohs_2(dataPtr);
- dataPtr += 2;
+ type = (tnet_dhcp6_duid_type_t) tnet_ntohs_2(dataPtr);
+ dataPtr += 2;
bail:
- return duid;
+ return duid;
}
int tnet_dhcp6_duid_serialize(const tnet_dhcp6_duid_t* self, tsk_buffer_t *output)
{
- int ret = -1;
-
- if(!self || !output){
- return ret;
- }
-
- switch(self->type){
- case dhcp6_duid_linklayer_plus_time:
- {
- ret = tnet_dhcp6_duid_llt_serialize(TNET_DHCP6_DUID_LLT(self), output);
- break;
- }
-
- case dhcp6_duid_Vendor_assigned_id:
- {
- ret = tnet_dhcp6_duid_en_serialize(TNET_DHCP6_DUID_EN(self), output);
- break;
- }
-
- case dhcp6_duid_linklayer:
- {
- ret = tnet_dhcp6_duid_ll_serialize(TNET_DHCP6_DUID_LL(self), output);
- break;
- }
-
- default:
- {
- ret = -2;
- goto bail;
- }
- }
+ int ret = -1;
+
+ if(!self || !output) {
+ return ret;
+ }
+
+ switch(self->type) {
+ case dhcp6_duid_linklayer_plus_time: {
+ ret = tnet_dhcp6_duid_llt_serialize(TNET_DHCP6_DUID_LLT(self), output);
+ break;
+ }
+
+ case dhcp6_duid_Vendor_assigned_id: {
+ ret = tnet_dhcp6_duid_en_serialize(TNET_DHCP6_DUID_EN(self), output);
+ break;
+ }
+
+ case dhcp6_duid_linklayer: {
+ ret = tnet_dhcp6_duid_ll_serialize(TNET_DHCP6_DUID_LL(self), output);
+ break;
+ }
+
+ default: {
+ ret = -2;
+ goto bail;
+ }
+ }
bail:
- return ret;
+ return ret;
}
/*=======================================================================================
@@ -141,7 +137,7 @@ bail:
int tnet_dhcp6_duid_llt_serialize(const tnet_dhcp6_duid_llt_t* self, tsk_buffer_t *output)
{
- return -1;
+ return -1;
}
//
@@ -149,39 +145,38 @@ int tnet_dhcp6_duid_llt_serialize(const tnet_dhcp6_duid_llt_t* self, tsk_buffer_
//
static tsk_object_t* tnet_dhcp6_duid_llt_ctor(tsk_object_t * self, va_list * app)
{
- tnet_dhcp6_duid_llt_t *duid = self;
- if(duid){
- const void* payload = va_arg(*app, const void*);
- tsk_size_t payload_size = va_arg(*app, tsk_size_t);
-
- /* init base */
- tnet_dhcp6_duid_init(TNET_DHCP6_DUID(duid), dhcp6_duid_linklayer_plus_time);
-
- if(payload && payload_size){
- /* DESERIALIZATION */
- }
- }
- return self;
+ tnet_dhcp6_duid_llt_t *duid = self;
+ if(duid) {
+ const void* payload = va_arg(*app, const void*);
+ tsk_size_t payload_size = va_arg(*app, tsk_size_t);
+
+ /* init base */
+ tnet_dhcp6_duid_init(TNET_DHCP6_DUID(duid), dhcp6_duid_linklayer_plus_time);
+
+ if(payload && payload_size) {
+ /* DESERIALIZATION */
+ }
+ }
+ return self;
}
-static tsk_object_t* tnet_dhcp6_duid_llt_dtor(tsk_object_t * self)
-{
- tnet_dhcp6_duid_llt_t *duid = self;
- if(duid){
- /* deinit base */
- tnet_dhcp6_duid_deinit(TNET_DHCP6_DUID(duid));
-
- TSK_OBJECT_SAFE_FREE(duid->address);
- }
- return self;
+static tsk_object_t* tnet_dhcp6_duid_llt_dtor(tsk_object_t * self)
+{
+ tnet_dhcp6_duid_llt_t *duid = self;
+ if(duid) {
+ /* deinit base */
+ tnet_dhcp6_duid_deinit(TNET_DHCP6_DUID(duid));
+
+ TSK_OBJECT_SAFE_FREE(duid->address);
+ }
+ return self;
}
-static const tsk_object_def_t tnet_dhcp6_duid_llt_def_s =
-{
- sizeof(tnet_dhcp6_duid_llt_t),
- tnet_dhcp6_duid_llt_ctor,
- tnet_dhcp6_duid_llt_dtor,
- tsk_null,
+static const tsk_object_def_t tnet_dhcp6_duid_llt_def_s = {
+ sizeof(tnet_dhcp6_duid_llt_t),
+ tnet_dhcp6_duid_llt_ctor,
+ tnet_dhcp6_duid_llt_dtor,
+ tsk_null,
};
const tsk_object_def_t *tnet_dhcp6_duid_llt_def_t = &tnet_dhcp6_duid_llt_def_s;
@@ -192,7 +187,7 @@ const tsk_object_def_t *tnet_dhcp6_duid_llt_def_t = &tnet_dhcp6_duid_llt_def_s;
int tnet_dhcp6_duid_en_serialize(const tnet_dhcp6_duid_en_t* self, tsk_buffer_t *output)
{
- return -1;
+ return -1;
}
//
@@ -200,39 +195,38 @@ int tnet_dhcp6_duid_en_serialize(const tnet_dhcp6_duid_en_t* self, tsk_buffer_t
//
static tsk_object_t* tnet_dhcp6_duid_en_ctor(tsk_object_t * self, va_list * app)
{
- tnet_dhcp6_duid_en_t *duid = self;
- if(duid){
- const void* payload = va_arg(*app, const void*);
- tsk_size_t payload_size = va_arg(*app, tsk_size_t);
-
- /* init base */
- tnet_dhcp6_duid_init(TNET_DHCP6_DUID(duid), dhcp6_duid_Vendor_assigned_id);
-
- if(payload && payload_size){
- /* DESERIALIZATION */
- }
- }
- return self;
+ tnet_dhcp6_duid_en_t *duid = self;
+ if(duid) {
+ const void* payload = va_arg(*app, const void*);
+ tsk_size_t payload_size = va_arg(*app, tsk_size_t);
+
+ /* init base */
+ tnet_dhcp6_duid_init(TNET_DHCP6_DUID(duid), dhcp6_duid_Vendor_assigned_id);
+
+ if(payload && payload_size) {
+ /* DESERIALIZATION */
+ }
+ }
+ return self;
}
-static tsk_object_t* tnet_dhcp6_duid_en_dtor(tsk_object_t * self)
-{
- tnet_dhcp6_duid_en_t *duid = self;
- if(duid){
- /* deinit base */
- tnet_dhcp6_duid_deinit(TNET_DHCP6_DUID(duid));
-
- TSK_OBJECT_SAFE_FREE(duid->indentifier);
- }
- return self;
+static tsk_object_t* tnet_dhcp6_duid_en_dtor(tsk_object_t * self)
+{
+ tnet_dhcp6_duid_en_t *duid = self;
+ if(duid) {
+ /* deinit base */
+ tnet_dhcp6_duid_deinit(TNET_DHCP6_DUID(duid));
+
+ TSK_OBJECT_SAFE_FREE(duid->indentifier);
+ }
+ return self;
}
-static const tsk_object_def_t tnet_dhcp6_duid_en_def_s =
-{
- sizeof(tnet_dhcp6_duid_en_t),
- tnet_dhcp6_duid_en_ctor,
- tnet_dhcp6_duid_en_dtor,
- tsk_null,
+static const tsk_object_def_t tnet_dhcp6_duid_en_def_s = {
+ sizeof(tnet_dhcp6_duid_en_t),
+ tnet_dhcp6_duid_en_ctor,
+ tnet_dhcp6_duid_en_dtor,
+ tsk_null,
};
const tsk_object_def_t *tnet_dhcp6_duid_en_def_t = &tnet_dhcp6_duid_en_def_s;
@@ -243,7 +237,7 @@ const tsk_object_def_t *tnet_dhcp6_duid_en_def_t = &tnet_dhcp6_duid_en_def_s;
int tnet_dhcp6_duid_ll_serialize(const tnet_dhcp6_duid_ll_t* self, tsk_buffer_t *output)
{
- return -1;
+ return -1;
}
//
@@ -251,38 +245,37 @@ int tnet_dhcp6_duid_ll_serialize(const tnet_dhcp6_duid_ll_t* self, tsk_buffer_t
//
static tsk_object_t* tnet_dhcp6_duid_ll_ctor(tsk_object_t * self, va_list * app)
{
- tnet_dhcp6_duid_ll_t *duid = self;
- if(duid){
- const void* payload = va_arg(*app, const void*);
- tsk_size_t payload_size = va_arg(*app, tsk_size_t);
-
- /* init base */
- tnet_dhcp6_duid_init(TNET_DHCP6_DUID(duid), dhcp6_duid_linklayer);
-
- if(payload && payload_size){
- /* DESERIALIZATION */
- }
- }
- return self;
+ tnet_dhcp6_duid_ll_t *duid = self;
+ if(duid) {
+ const void* payload = va_arg(*app, const void*);
+ tsk_size_t payload_size = va_arg(*app, tsk_size_t);
+
+ /* init base */
+ tnet_dhcp6_duid_init(TNET_DHCP6_DUID(duid), dhcp6_duid_linklayer);
+
+ if(payload && payload_size) {
+ /* DESERIALIZATION */
+ }
+ }
+ return self;
}
-static tsk_object_t* tnet_dhcp6_duid_ll_dtor(tsk_object_t * self)
-{
- tnet_dhcp6_duid_ll_t *duid = self;
- if(duid){
- /* deinit base */
- tnet_dhcp6_duid_deinit(TNET_DHCP6_DUID(duid));
-
- TSK_OBJECT_SAFE_FREE(duid->address);
- }
- return self;
+static tsk_object_t* tnet_dhcp6_duid_ll_dtor(tsk_object_t * self)
+{
+ tnet_dhcp6_duid_ll_t *duid = self;
+ if(duid) {
+ /* deinit base */
+ tnet_dhcp6_duid_deinit(TNET_DHCP6_DUID(duid));
+
+ TSK_OBJECT_SAFE_FREE(duid->address);
+ }
+ return self;
}
-static const tsk_object_def_t tnet_dhcp6_duid_ll_def_s =
-{
- sizeof(tnet_dhcp6_duid_ll_t),
- tnet_dhcp6_duid_ll_ctor,
- tnet_dhcp6_duid_ll_dtor,
- tsk_null,
+static const tsk_object_def_t tnet_dhcp6_duid_ll_def_s = {
+ sizeof(tnet_dhcp6_duid_ll_t),
+ tnet_dhcp6_duid_ll_ctor,
+ tnet_dhcp6_duid_ll_dtor,
+ tsk_null,
};
const tsk_object_def_t *tnet_dhcp6_duid_ll_def_t = &tnet_dhcp6_duid_ll_def_s;
OpenPOWER on IntegriCloud