rgb-cln/wire/tlvstream.c

23 lines
507 B
C

#include <common/bigsize.h>
#include <wire/tlvstream.h>
#include <wire/wire.h>
void towire_tlvstream_raw(u8 **pptr, const struct tlv_field *fields)
{
if (!fields)
return;
for (size_t i = 0; i < tal_count(fields); i++) {
const struct tlv_field *field = &fields[i];
/* BOLT #1:
*
* The sending node:
...
* - MUST minimally encode `type` and `length`.
*/
towire_bigsize(pptr, field->numtype);
towire_bigsize(pptr, field->length);
towire(pptr, field->value, field->length);
}
}