ssize_t fr_struct_to_network(fr_dbuff_t *dbuff,
fr_da_stack_t *da_stack, unsigned int depth,
fr_dcursor_t *parent_cursor, void *encode_ctx,
- fr_encode_dbuff_t encode_value, fr_encode_dbuff_t encode_tlv)
+ fr_encode_dbuff_t encode_value, fr_encode_dbuff_t encode_cursor)
{
fr_dbuff_t work_dbuff;
fr_dbuff_marker_t hdr;
fr_proto_da_stack_build(da_stack, vp->da);
len = fr_struct_to_network(&work_dbuff, da_stack, depth + 2, /* note + 2 !!! */
- cursor, encode_ctx, encode_value, encode_tlv);
+ cursor, encode_ctx, encode_value, encode_cursor);
if (len < 0) return len;
goto done;
}
fr_proto_da_stack_build(da_stack, vp->da->parent);
len = fr_struct_to_network(&work_dbuff, da_stack, depth + 2, /* note + 2 !!! */
- cursor, encode_ctx, encode_value, encode_tlv);
+ cursor, encode_ctx, encode_value, encode_cursor);
if (len < 0) return len;
goto done;
}
if (tlv) {
ssize_t slen;
- if (!encode_tlv) {
- fr_strerror_printf("Asked to encode TLV %s, but not passed an encoding function",
+ if (!encode_cursor) {
+ fr_strerror_printf("Asked to encode child attribute %s, but we were not passed an encoding function",
tlv->name);
return -1;
}
* Encode any TLV attributes which are part of this structure.
*/
while (vp && (da_stack->da[depth] == parent) && (da_stack->depth >= parent->depth)) {
- slen = encode_tlv(&work_dbuff, da_stack, depth + 1, cursor, encode_ctx);
+ slen = encode_cursor(&work_dbuff, da_stack, depth + 1, cursor, encode_ctx);
if (slen < 0) return slen;
vp = fr_dcursor_current(cursor);
ssize_t fr_struct_to_network(fr_dbuff_t *dbuff, fr_da_stack_t *da_stack, unsigned int depth,
fr_dcursor_t *cursor, void *encode_ctx,
- fr_encode_dbuff_t encode_value, fr_encode_dbuff_t encode_tlv) CC_HINT(nonnull(1,2,4));
+ fr_encode_dbuff_t encode_value, fr_encode_dbuff_t encode_cursor) CC_HINT(nonnull(1,2,4));
#ifdef __cplusplus
}
fr_da_stack_t *da_stack, unsigned int depth,
fr_dcursor_t *cursor, void *encode_ctx);
-static ssize_t encode_tlv(fr_dbuff_t *dbuff,
- fr_da_stack_t *da_stack, unsigned int depth,
- fr_dcursor_t *cursor, void *encode_ctx);
+static ssize_t encode_cursor(fr_dbuff_t *dbuff,
+ fr_da_stack_t *da_stack, unsigned int depth,
+ fr_dcursor_t *cursor, void *encode_ctx);
/** Write DHCP option value into buffer
*
* Structures are special.
*/
if ((vp->da->type == FR_TYPE_STRUCT) || (da->type == FR_TYPE_STRUCT)) {
- slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value, encode_cursor);
if (slen <= 0) return slen;
/*
#define DHCPV4_OPT_HDR_LEN (2)
-static ssize_t encode_tlv(fr_dbuff_t *dbuff,
- fr_da_stack_t *da_stack, unsigned int depth,
- fr_dcursor_t *cursor, void *encode_ctx)
+static ssize_t encode_cursor(fr_dbuff_t *dbuff,
+ fr_da_stack_t *da_stack, unsigned int depth,
+ fr_dcursor_t *cursor, void *encode_ctx)
{
fr_dbuff_t work_dbuff = FR_DBUFF(dbuff);
fr_pair_t const *vp = fr_dcursor_current(cursor);
fr_da_stack_t *da_stack, unsigned int depth,
fr_dcursor_t *cursor, void *encode_ctx);
-static ssize_t encode_tlv(fr_dbuff_t *dbuff,
- fr_da_stack_t *da_stack, unsigned int depth,
- fr_dcursor_t *cursor, void *encode_ctx);
+static ssize_t encode_cursor(fr_dbuff_t *dbuff,
+ fr_da_stack_t *da_stack, unsigned int depth,
+ fr_dcursor_t *cursor, void *encode_ctx);
/** Macro-like function for encoding an option header
*
* Pack multiple attributes into into a single option
*/
if ((vp->da->type == FR_TYPE_STRUCT) || (da->type == FR_TYPE_STRUCT)) {
- slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value, encode_cursor);
if (slen <= 0) return slen;
/*
return fr_dbuff_set(dbuff, &work_dbuff);
}
-static ssize_t encode_tlv(fr_dbuff_t *dbuff,
+static ssize_t encode_cursor(fr_dbuff_t *dbuff,
fr_da_stack_t *da_stack, unsigned int depth,
fr_dcursor_t *cursor, void *encode_ctx)
{
FR_DBUFF_ADVANCE_RETURN(&work_dbuff, DHCPV6_OPT_HDR_LEN); /* Make room for option header */
- len = encode_tlv(&work_dbuff, da_stack, depth, cursor, encode_ctx);
+ len = encode_cursor(&work_dbuff, da_stack, depth, cursor, encode_ctx);
if (len < 0) return len;
/*
fr_da_stack_t *da_stack, unsigned int depth,
fr_dcursor_t *cursor, void *encode_ctx);
-static ssize_t encode_tlv(fr_dbuff_t *dbuff,
- fr_da_stack_t *da_stack, unsigned int depth,
- fr_dcursor_t *cursor, void *encode_ctx);
+static ssize_t encode_cursor(fr_dbuff_t *dbuff,
+ fr_da_stack_t *da_stack, unsigned int depth,
+ fr_dcursor_t *cursor, void *encode_ctx);
/** Macro-like function for encoding an option header
*
fr_pair_dcursor_init(&child_cursor, &vp->vp_group);
- slen = fr_struct_to_network(&work_dbuff, da_stack, depth, &child_cursor, encode_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, da_stack, depth, &child_cursor, encode_ctx, encode_value, encode_cursor);
if (slen < 0) return slen;
/*
* Flat-list
*/
if (da->type == FR_TYPE_STRUCT) {
- slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, da_stack, depth, cursor, encode_ctx, encode_value, encode_cursor);
if (slen <= 0) return slen;
/*
return fr_dbuff_set(dbuff, &work_dbuff);
}
-static ssize_t encode_tlv(fr_dbuff_t *dbuff,
- fr_da_stack_t *da_stack, unsigned int depth,
- fr_dcursor_t *cursor, void *encode_ctx)
+static ssize_t encode_cursor(fr_dbuff_t *dbuff,
+ fr_da_stack_t *da_stack, unsigned int depth,
+ fr_dcursor_t *cursor, void *encode_ctx)
{
fr_dbuff_t work_dbuff = FR_DBUFF(dbuff);
fr_pair_t const *vp = fr_dcursor_current(cursor);
FR_DBUFF_ADVANCE_RETURN(&work_dbuff, DNS_OPT_HDR_LEN); /* Make room for option header */
- len = encode_tlv(&work_dbuff, da_stack, depth, cursor, encode_ctx);
+ len = encode_cursor(&work_dbuff, da_stack, depth, cursor, encode_ctx);
if (len < 0) return len;
/*
fr_pair_dcursor_init(&child_cursor, &vp->vp_group);
- slen = fr_struct_to_network(&work_dbuff, &da_stack, 0, &child_cursor, encode_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, &da_stack, 0, &child_cursor, encode_ctx, encode_value, encode_cursor);
if (slen <= 0) return slen;
(void) fr_dcursor_next(cursor);
} else {
- slen = fr_struct_to_network(&work_dbuff, &da_stack, 0, cursor, encode_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, &da_stack, 0, cursor, encode_ctx, encode_value, encode_cursor);
if (slen <= 0) return slen;
}
fr_dcursor_t child_cursor;
fr_pair_dcursor_init(&child_cursor, &vp->vp_group);
- slen = fr_struct_to_network(&work_dbuff, da_stack, 0, &child_cursor, packet_ctx, encode_value, encode_tlv);
+ slen = fr_struct_to_network(&work_dbuff, da_stack, 0, &child_cursor, packet_ctx, encode_value, encode_cursor);
if (slen <= 0) return slen;
count++;