api: add osmo_pfcp_ie_node_id_to_str_c()
So far we had only osmo_pfcp_enc_to_str_node_id(), used for PFCP message to string conversion. It behaves like a common _to_str_buf() function, but has an inconvenient void* arg (for use with libosmo-tlv). Implement the string conversion as common _to_str_buf() and _to_str_c() functions, and call that from osmo_pfcp_enc_to_str_node_id(). That's useful for log messages coming up in a subsequent patch. Related: SYS#5599 Change-Id: I5c580bc510afce58a03dea0861db9630b063b2ae
This commit is contained in:
parent
184360f3b7
commit
ace6adb548
|
@ -48,6 +48,9 @@ struct osmo_pfcp_ie_node_id {
|
|||
};
|
||||
};
|
||||
|
||||
int osmo_pfcp_ie_node_id_to_str_buf(char *buf, size_t buflen, const struct osmo_pfcp_ie_node_id *node_id);
|
||||
char *osmo_pfcp_ie_node_id_to_str_c(void *ctx, const struct osmo_pfcp_ie_node_id *node_id);
|
||||
|
||||
bool osmo_pfcp_bits_get(const uint8_t *bits, unsigned int bitpos);
|
||||
void osmo_pfcp_bits_set(uint8_t *bits, unsigned int bitpos, bool val);
|
||||
int osmo_pfcp_bits_to_str_buf(char *buf, size_t buflen, const uint8_t *bits, const struct value_string *bit_strs);
|
||||
|
|
|
@ -317,9 +317,8 @@ int osmo_pfcp_enc_node_id(struct osmo_gtlv_put *tlv, const void *decoded_struct,
|
|||
return 0;
|
||||
}
|
||||
|
||||
int osmo_pfcp_enc_to_str_node_id(char *buf, size_t buflen, const void *encode_from)
|
||||
int osmo_pfcp_ie_node_id_to_str_buf(char *buf, size_t buflen, const struct osmo_pfcp_ie_node_id *node_id)
|
||||
{
|
||||
const struct osmo_pfcp_ie_node_id *node_id = encode_from;
|
||||
struct osmo_strbuf sb = { .buf = buf, .len = buflen };
|
||||
|
||||
switch (node_id->type) {
|
||||
|
@ -343,6 +342,16 @@ int osmo_pfcp_enc_to_str_node_id(char *buf, size_t buflen, const void *encode_fr
|
|||
return sb.chars_needed;
|
||||
}
|
||||
|
||||
char *osmo_pfcp_ie_node_id_to_str_c(void *ctx, const struct osmo_pfcp_ie_node_id *node_id)
|
||||
{
|
||||
OSMO_NAME_C_IMPL(ctx, 64, "ERROR", osmo_pfcp_ie_node_id_to_str_buf, node_id)
|
||||
}
|
||||
|
||||
int osmo_pfcp_enc_to_str_node_id(char *buf, size_t buflen, const void *encode_from)
|
||||
{
|
||||
return osmo_pfcp_ie_node_id_to_str_buf(buf, buflen, encode_from);
|
||||
}
|
||||
|
||||
bool osmo_pfcp_bits_get(const uint8_t *bits, unsigned int bitpos)
|
||||
{
|
||||
unsigned int bytenum = bitpos / 8;
|
||||
|
|
Loading…
Reference in New Issue