|
@@ -28,10 +28,10 @@ int cellcommon_deadcode_dummy__ = 0;
|
|
|
} \
|
|
|
} while (0)
|
|
|
|
|
|
-trn_cell_extension_fields_t *
|
|
|
-trn_cell_extension_fields_new(void)
|
|
|
+trn_cell_extension_field_t *
|
|
|
+trn_cell_extension_field_new(void)
|
|
|
{
|
|
|
- trn_cell_extension_fields_t *val = trunnel_calloc(1, sizeof(trn_cell_extension_fields_t));
|
|
|
+ trn_cell_extension_field_t *val = trunnel_calloc(1, sizeof(trn_cell_extension_field_t));
|
|
|
if (NULL == val)
|
|
|
return NULL;
|
|
|
return val;
|
|
@@ -40,7 +40,7 @@ trn_cell_extension_fields_new(void)
|
|
|
|
|
|
*/
|
|
|
static void
|
|
|
-trn_cell_extension_fields_clear(trn_cell_extension_fields_t *obj)
|
|
|
+trn_cell_extension_field_clear(trn_cell_extension_field_t *obj)
|
|
|
{
|
|
|
(void) obj;
|
|
|
TRUNNEL_DYNARRAY_WIPE(&obj->field);
|
|
@@ -48,62 +48,62 @@ trn_cell_extension_fields_clear(trn_cell_extension_fields_t *obj)
|
|
|
}
|
|
|
|
|
|
void
|
|
|
-trn_cell_extension_fields_free(trn_cell_extension_fields_t *obj)
|
|
|
+trn_cell_extension_field_free(trn_cell_extension_field_t *obj)
|
|
|
{
|
|
|
if (obj == NULL)
|
|
|
return;
|
|
|
- trn_cell_extension_fields_clear(obj);
|
|
|
- trunnel_memwipe(obj, sizeof(trn_cell_extension_fields_t));
|
|
|
+ trn_cell_extension_field_clear(obj);
|
|
|
+ trunnel_memwipe(obj, sizeof(trn_cell_extension_field_t));
|
|
|
trunnel_free_(obj);
|
|
|
}
|
|
|
|
|
|
uint8_t
|
|
|
-trn_cell_extension_fields_get_field_type(const trn_cell_extension_fields_t *inp)
|
|
|
+trn_cell_extension_field_get_field_type(const trn_cell_extension_field_t *inp)
|
|
|
{
|
|
|
return inp->field_type;
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_fields_set_field_type(trn_cell_extension_fields_t *inp, uint8_t val)
|
|
|
+trn_cell_extension_field_set_field_type(trn_cell_extension_field_t *inp, uint8_t val)
|
|
|
{
|
|
|
inp->field_type = val;
|
|
|
return 0;
|
|
|
}
|
|
|
uint8_t
|
|
|
-trn_cell_extension_fields_get_field_len(const trn_cell_extension_fields_t *inp)
|
|
|
+trn_cell_extension_field_get_field_len(const trn_cell_extension_field_t *inp)
|
|
|
{
|
|
|
return inp->field_len;
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_fields_set_field_len(trn_cell_extension_fields_t *inp, uint8_t val)
|
|
|
+trn_cell_extension_field_set_field_len(trn_cell_extension_field_t *inp, uint8_t val)
|
|
|
{
|
|
|
inp->field_len = val;
|
|
|
return 0;
|
|
|
}
|
|
|
size_t
|
|
|
-trn_cell_extension_fields_getlen_field(const trn_cell_extension_fields_t *inp)
|
|
|
+trn_cell_extension_field_getlen_field(const trn_cell_extension_field_t *inp)
|
|
|
{
|
|
|
return TRUNNEL_DYNARRAY_LEN(&inp->field);
|
|
|
}
|
|
|
|
|
|
uint8_t
|
|
|
-trn_cell_extension_fields_get_field(trn_cell_extension_fields_t *inp, size_t idx)
|
|
|
+trn_cell_extension_field_get_field(trn_cell_extension_field_t *inp, size_t idx)
|
|
|
{
|
|
|
return TRUNNEL_DYNARRAY_GET(&inp->field, idx);
|
|
|
}
|
|
|
|
|
|
uint8_t
|
|
|
-trn_cell_extension_fields_getconst_field(const trn_cell_extension_fields_t *inp, size_t idx)
|
|
|
+trn_cell_extension_field_getconst_field(const trn_cell_extension_field_t *inp, size_t idx)
|
|
|
{
|
|
|
- return trn_cell_extension_fields_get_field((trn_cell_extension_fields_t*)inp, idx);
|
|
|
+ return trn_cell_extension_field_get_field((trn_cell_extension_field_t*)inp, idx);
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_fields_set_field(trn_cell_extension_fields_t *inp, size_t idx, uint8_t elt)
|
|
|
+trn_cell_extension_field_set_field(trn_cell_extension_field_t *inp, size_t idx, uint8_t elt)
|
|
|
{
|
|
|
TRUNNEL_DYNARRAY_SET(&inp->field, idx, elt);
|
|
|
return 0;
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_fields_add_field(trn_cell_extension_fields_t *inp, uint8_t elt)
|
|
|
+trn_cell_extension_field_add_field(trn_cell_extension_field_t *inp, uint8_t elt)
|
|
|
{
|
|
|
#if SIZE_MAX >= UINT8_MAX
|
|
|
if (inp->field.n_ == UINT8_MAX)
|
|
@@ -117,17 +117,17 @@ trn_cell_extension_fields_add_field(trn_cell_extension_fields_t *inp, uint8_t el
|
|
|
}
|
|
|
|
|
|
uint8_t *
|
|
|
-trn_cell_extension_fields_getarray_field(trn_cell_extension_fields_t *inp)
|
|
|
+trn_cell_extension_field_getarray_field(trn_cell_extension_field_t *inp)
|
|
|
{
|
|
|
return inp->field.elts_;
|
|
|
}
|
|
|
const uint8_t *
|
|
|
-trn_cell_extension_fields_getconstarray_field(const trn_cell_extension_fields_t *inp)
|
|
|
+trn_cell_extension_field_getconstarray_field(const trn_cell_extension_field_t *inp)
|
|
|
{
|
|
|
- return (const uint8_t *)trn_cell_extension_fields_getarray_field((trn_cell_extension_fields_t*)inp);
|
|
|
+ return (const uint8_t *)trn_cell_extension_field_getarray_field((trn_cell_extension_field_t*)inp);
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_fields_setlen_field(trn_cell_extension_fields_t *inp, size_t newlen)
|
|
|
+trn_cell_extension_field_setlen_field(trn_cell_extension_field_t *inp, size_t newlen)
|
|
|
{
|
|
|
uint8_t *newptr;
|
|
|
#if UINT8_MAX < SIZE_MAX
|
|
@@ -147,7 +147,7 @@ trn_cell_extension_fields_setlen_field(trn_cell_extension_fields_t *inp, size_t
|
|
|
return -1;
|
|
|
}
|
|
|
const char *
|
|
|
-trn_cell_extension_fields_check(const trn_cell_extension_fields_t *obj)
|
|
|
+trn_cell_extension_field_check(const trn_cell_extension_field_t *obj)
|
|
|
{
|
|
|
if (obj == NULL)
|
|
|
return "Object was NULL";
|
|
@@ -159,11 +159,11 @@ trn_cell_extension_fields_check(const trn_cell_extension_fields_t *obj)
|
|
|
}
|
|
|
|
|
|
ssize_t
|
|
|
-trn_cell_extension_fields_encoded_len(const trn_cell_extension_fields_t *obj)
|
|
|
+trn_cell_extension_field_encoded_len(const trn_cell_extension_field_t *obj)
|
|
|
{
|
|
|
ssize_t result = 0;
|
|
|
|
|
|
- if (NULL != trn_cell_extension_fields_check(obj))
|
|
|
+ if (NULL != trn_cell_extension_field_check(obj))
|
|
|
return -1;
|
|
|
|
|
|
|
|
@@ -178,24 +178,24 @@ trn_cell_extension_fields_encoded_len(const trn_cell_extension_fields_t *obj)
|
|
|
return result;
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_fields_clear_errors(trn_cell_extension_fields_t *obj)
|
|
|
+trn_cell_extension_field_clear_errors(trn_cell_extension_field_t *obj)
|
|
|
{
|
|
|
int r = obj->trunnel_error_code_;
|
|
|
obj->trunnel_error_code_ = 0;
|
|
|
return r;
|
|
|
}
|
|
|
ssize_t
|
|
|
-trn_cell_extension_fields_encode(uint8_t *output, const size_t avail, const trn_cell_extension_fields_t *obj)
|
|
|
+trn_cell_extension_field_encode(uint8_t *output, const size_t avail, const trn_cell_extension_field_t *obj)
|
|
|
{
|
|
|
ssize_t result = 0;
|
|
|
size_t written = 0;
|
|
|
uint8_t *ptr = output;
|
|
|
const char *msg;
|
|
|
#ifdef TRUNNEL_CHECK_ENCODED_LEN
|
|
|
- const ssize_t encoded_len = trn_cell_extension_fields_encoded_len(obj);
|
|
|
+ const ssize_t encoded_len = trn_cell_extension_field_encoded_len(obj);
|
|
|
#endif
|
|
|
|
|
|
- if (NULL != (msg = trn_cell_extension_fields_check(obj)))
|
|
|
+ if (NULL != (msg = trn_cell_extension_field_check(obj)))
|
|
|
goto check_failed;
|
|
|
|
|
|
#ifdef TRUNNEL_CHECK_ENCODED_LEN
|
|
@@ -252,11 +252,11 @@ trn_cell_extension_fields_encode(uint8_t *output, const size_t avail, const trn_
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
* output object.
|
|
|
*/
|
|
|
static ssize_t
|
|
|
-trn_cell_extension_fields_parse_into(trn_cell_extension_fields_t *obj, const uint8_t *input, const size_t len_in)
|
|
|
+trn_cell_extension_field_parse_into(trn_cell_extension_field_t *obj, const uint8_t *input, const size_t len_in)
|
|
|
{
|
|
|
const uint8_t *ptr = input;
|
|
|
size_t remaining = len_in;
|
|
@@ -290,15 +290,15 @@ trn_cell_extension_fields_parse_into(trn_cell_extension_fields_t *obj, const uin
|
|
|
}
|
|
|
|
|
|
ssize_t
|
|
|
-trn_cell_extension_fields_parse(trn_cell_extension_fields_t **output, const uint8_t *input, const size_t len_in)
|
|
|
+trn_cell_extension_field_parse(trn_cell_extension_field_t **output, const uint8_t *input, const size_t len_in)
|
|
|
{
|
|
|
ssize_t result;
|
|
|
- *output = trn_cell_extension_fields_new();
|
|
|
+ *output = trn_cell_extension_field_new();
|
|
|
if (NULL == *output)
|
|
|
return -1;
|
|
|
- result = trn_cell_extension_fields_parse_into(*output, input, len_in);
|
|
|
+ result = trn_cell_extension_field_parse_into(*output, input, len_in);
|
|
|
if (result < 0) {
|
|
|
- trn_cell_extension_fields_free(*output);
|
|
|
+ trn_cell_extension_field_free(*output);
|
|
|
*output = NULL;
|
|
|
}
|
|
|
return result;
|
|
@@ -322,7 +322,7 @@ trn_cell_extension_clear(trn_cell_extension_t *obj)
|
|
|
|
|
|
unsigned idx;
|
|
|
for (idx = 0; idx < TRUNNEL_DYNARRAY_LEN(&obj->fields); ++idx) {
|
|
|
- trn_cell_extension_fields_free(TRUNNEL_DYNARRAY_GET(&obj->fields, idx));
|
|
|
+ trn_cell_extension_field_free(TRUNNEL_DYNARRAY_GET(&obj->fields, idx));
|
|
|
}
|
|
|
}
|
|
|
TRUNNEL_DYNARRAY_WIPE(&obj->fields);
|
|
@@ -356,66 +356,66 @@ trn_cell_extension_getlen_fields(const trn_cell_extension_t *inp)
|
|
|
return TRUNNEL_DYNARRAY_LEN(&inp->fields);
|
|
|
}
|
|
|
|
|
|
-struct trn_cell_extension_fields_st *
|
|
|
+struct trn_cell_extension_field_st *
|
|
|
trn_cell_extension_get_fields(trn_cell_extension_t *inp, size_t idx)
|
|
|
{
|
|
|
return TRUNNEL_DYNARRAY_GET(&inp->fields, idx);
|
|
|
}
|
|
|
|
|
|
- const struct trn_cell_extension_fields_st *
|
|
|
+ const struct trn_cell_extension_field_st *
|
|
|
trn_cell_extension_getconst_fields(const trn_cell_extension_t *inp, size_t idx)
|
|
|
{
|
|
|
return trn_cell_extension_get_fields((trn_cell_extension_t*)inp, idx);
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_set_fields(trn_cell_extension_t *inp, size_t idx, struct trn_cell_extension_fields_st * elt)
|
|
|
+trn_cell_extension_set_fields(trn_cell_extension_t *inp, size_t idx, struct trn_cell_extension_field_st * elt)
|
|
|
{
|
|
|
- trn_cell_extension_fields_t *oldval = TRUNNEL_DYNARRAY_GET(&inp->fields, idx);
|
|
|
+ trn_cell_extension_field_t *oldval = TRUNNEL_DYNARRAY_GET(&inp->fields, idx);
|
|
|
if (oldval && oldval != elt)
|
|
|
- trn_cell_extension_fields_free(oldval);
|
|
|
+ trn_cell_extension_field_free(oldval);
|
|
|
return trn_cell_extension_set0_fields(inp, idx, elt);
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_set0_fields(trn_cell_extension_t *inp, size_t idx, struct trn_cell_extension_fields_st * elt)
|
|
|
+trn_cell_extension_set0_fields(trn_cell_extension_t *inp, size_t idx, struct trn_cell_extension_field_st * elt)
|
|
|
{
|
|
|
TRUNNEL_DYNARRAY_SET(&inp->fields, idx, elt);
|
|
|
return 0;
|
|
|
}
|
|
|
int
|
|
|
-trn_cell_extension_add_fields(trn_cell_extension_t *inp, struct trn_cell_extension_fields_st * elt)
|
|
|
+trn_cell_extension_add_fields(trn_cell_extension_t *inp, struct trn_cell_extension_field_st * elt)
|
|
|
{
|
|
|
#if SIZE_MAX >= UINT8_MAX
|
|
|
if (inp->fields.n_ == UINT8_MAX)
|
|
|
goto trunnel_alloc_failed;
|
|
|
#endif
|
|
|
- TRUNNEL_DYNARRAY_ADD(struct trn_cell_extension_fields_st *, &inp->fields, elt, {});
|
|
|
+ TRUNNEL_DYNARRAY_ADD(struct trn_cell_extension_field_st *, &inp->fields, elt, {});
|
|
|
return 0;
|
|
|
trunnel_alloc_failed:
|
|
|
TRUNNEL_SET_ERROR_CODE(inp);
|
|
|
return -1;
|
|
|
}
|
|
|
|
|
|
-struct trn_cell_extension_fields_st * *
|
|
|
+struct trn_cell_extension_field_st * *
|
|
|
trn_cell_extension_getarray_fields(trn_cell_extension_t *inp)
|
|
|
{
|
|
|
return inp->fields.elts_;
|
|
|
}
|
|
|
-const struct trn_cell_extension_fields_st * const *
|
|
|
+const struct trn_cell_extension_field_st * const *
|
|
|
trn_cell_extension_getconstarray_fields(const trn_cell_extension_t *inp)
|
|
|
{
|
|
|
- return (const struct trn_cell_extension_fields_st * const *)trn_cell_extension_getarray_fields((trn_cell_extension_t*)inp);
|
|
|
+ return (const struct trn_cell_extension_field_st * const *)trn_cell_extension_getarray_fields((trn_cell_extension_t*)inp);
|
|
|
}
|
|
|
int
|
|
|
trn_cell_extension_setlen_fields(trn_cell_extension_t *inp, size_t newlen)
|
|
|
{
|
|
|
- struct trn_cell_extension_fields_st * *newptr;
|
|
|
+ struct trn_cell_extension_field_st * *newptr;
|
|
|
#if UINT8_MAX < SIZE_MAX
|
|
|
if (newlen > UINT8_MAX)
|
|
|
goto trunnel_alloc_failed;
|
|
|
#endif
|
|
|
newptr = trunnel_dynarray_setlen(&inp->fields.allocated_,
|
|
|
&inp->fields.n_, inp->fields.elts_, newlen,
|
|
|
- sizeof(inp->fields.elts_[0]), (trunnel_free_fn_t) trn_cell_extension_fields_free,
|
|
|
+ sizeof(inp->fields.elts_[0]), (trunnel_free_fn_t) trn_cell_extension_field_free,
|
|
|
&inp->trunnel_error_code_);
|
|
|
if (newlen != 0 && newptr == NULL)
|
|
|
goto trunnel_alloc_failed;
|
|
@@ -437,7 +437,7 @@ trn_cell_extension_check(const trn_cell_extension_t *obj)
|
|
|
|
|
|
unsigned idx;
|
|
|
for (idx = 0; idx < TRUNNEL_DYNARRAY_LEN(&obj->fields); ++idx) {
|
|
|
- if (NULL != (msg = trn_cell_extension_fields_check(TRUNNEL_DYNARRAY_GET(&obj->fields, idx))))
|
|
|
+ if (NULL != (msg = trn_cell_extension_field_check(TRUNNEL_DYNARRAY_GET(&obj->fields, idx))))
|
|
|
return msg;
|
|
|
}
|
|
|
}
|
|
@@ -458,12 +458,12 @@ trn_cell_extension_encoded_len(const trn_cell_extension_t *obj)
|
|
|
|
|
|
result += 1;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
{
|
|
|
|
|
|
unsigned idx;
|
|
|
for (idx = 0; idx < TRUNNEL_DYNARRAY_LEN(&obj->fields); ++idx) {
|
|
|
- result += trn_cell_extension_fields_encoded_len(TRUNNEL_DYNARRAY_GET(&obj->fields, idx));
|
|
|
+ result += trn_cell_extension_field_encoded_len(TRUNNEL_DYNARRAY_GET(&obj->fields, idx));
|
|
|
}
|
|
|
}
|
|
|
return result;
|
|
@@ -500,13 +500,13 @@ trn_cell_extension_encode(uint8_t *output, const size_t avail, const trn_cell_ex
|
|
|
trunnel_set_uint8(ptr, (obj->num));
|
|
|
written += 1; ptr += 1;
|
|
|
|
|
|
-
|
|
|
+
|
|
|
{
|
|
|
|
|
|
unsigned idx;
|
|
|
for (idx = 0; idx < TRUNNEL_DYNARRAY_LEN(&obj->fields); ++idx) {
|
|
|
trunnel_assert(written <= avail);
|
|
|
- result = trn_cell_extension_fields_encode(ptr, avail - written, TRUNNEL_DYNARRAY_GET(&obj->fields, idx));
|
|
|
+ result = trn_cell_extension_field_encode(ptr, avail - written, TRUNNEL_DYNARRAY_GET(&obj->fields, idx));
|
|
|
if (result < 0)
|
|
|
goto fail;
|
|
|
written += result; ptr += result;
|
|
@@ -553,18 +553,18 @@ trn_cell_extension_parse_into(trn_cell_extension_t *obj, const uint8_t *input, c
|
|
|
obj->num = (trunnel_get_uint8(ptr));
|
|
|
remaining -= 1; ptr += 1;
|
|
|
|
|
|
-
|
|
|
- TRUNNEL_DYNARRAY_EXPAND(trn_cell_extension_fields_t *, &obj->fields, obj->num, {});
|
|
|
+
|
|
|
+ TRUNNEL_DYNARRAY_EXPAND(trn_cell_extension_field_t *, &obj->fields, obj->num, {});
|
|
|
{
|
|
|
- trn_cell_extension_fields_t * elt;
|
|
|
+ trn_cell_extension_field_t * elt;
|
|
|
unsigned idx;
|
|
|
for (idx = 0; idx < obj->num; ++idx) {
|
|
|
- result = trn_cell_extension_fields_parse(&elt, ptr, remaining);
|
|
|
+ result = trn_cell_extension_field_parse(&elt, ptr, remaining);
|
|
|
if (result < 0)
|
|
|
goto relay_fail;
|
|
|
trunnel_assert((size_t)result <= remaining);
|
|
|
remaining -= result; ptr += result;
|
|
|
- TRUNNEL_DYNARRAY_ADD(trn_cell_extension_fields_t *, &obj->fields, elt, {trn_cell_extension_fields_free(elt);});
|
|
|
+ TRUNNEL_DYNARRAY_ADD(trn_cell_extension_field_t *, &obj->fields, elt, {trn_cell_extension_field_free(elt);});
|
|
|
}
|
|
|
}
|
|
|
trunnel_assert(ptr + remaining == input + len_in);
|