/* THIS FILE IS GENERATED FROM gtlv_gen.c */
#include <stdint.h>
#include <osmocom/gtlv/gtlv_dec_enc.h>

#include "myproto_ies_custom.h"

struct myproto_msg_moo {
	struct myproto_ie_bar bar_alpha;
	bool bar_beta_present;
	struct myproto_ie_bar bar_beta;
	struct myproto_ie_bar bar_gamma;
};

union myproto_ies {
	struct myproto_msg_moo moo;
};

const struct osmo_gtlv_coding *myproto_get_msg_coding(enum myproto_msg_type message_type);

int myproto_ies_decode(union myproto_ies *dst, struct osmo_gtlv_load *gtlv, bool tlv_ordered,
	enum myproto_msg_type message_type, osmo_gtlv_err_cb err_cb, void *err_cb_data, const struct value_string *iei_strs);

int myproto_ies_encode(struct osmo_gtlv_put *gtlv, const union myproto_ies *src,
	enum myproto_msg_type message_type, osmo_gtlv_err_cb err_cb, void *err_cb_data, const struct value_string *iei_strs);

int myproto_ies_encode_to_str(char *buf, size_t buflen, const union myproto_ies *src,
	enum myproto_msg_type message_type, const struct value_string *iei_strs);
