amduat/include/amduat/enc/pel_program_dag_desc.h
Carl Niklas Rydberg f5e1ab8801 Add PEL DAG scheme descriptor codec and validation
If you want a longer one:
Add codec + tests for PEL DAG scheme descriptor
2025-12-22 08:16:58 +01:00

41 lines
1,019 B
C

#ifndef AMDUAT_ENC_PEL_PROGRAM_DAG_DESC_H
#define AMDUAT_ENC_PEL_PROGRAM_DAG_DESC_H
#include "amduat/asl/core.h"
#include <stdbool.h>
#include <stdint.h>
#ifdef __cplusplus
extern "C" {
#endif
typedef struct {
uint16_t pel1_version;
amduat_octets_t scheme_name;
amduat_type_tag_t program_type_tag;
uint16_t program_enc_profile;
bool has_trace_profile_ref;
amduat_reference_t trace_profile_ref;
bool has_opreg_ref;
amduat_reference_t opreg_ref;
} amduat_pel_dag_scheme_descriptor_t;
/* Caller owns any heap allocations returned in out_bytes/out_desc. */
bool amduat_enc_pel_program_dag_desc_encode_v1(
const amduat_pel_dag_scheme_descriptor_t *desc,
amduat_octets_t *out_bytes);
bool amduat_enc_pel_program_dag_desc_decode_v1(
amduat_octets_t bytes,
amduat_pel_dag_scheme_descriptor_t *out_desc);
void amduat_enc_pel_program_dag_desc_free(
amduat_pel_dag_scheme_descriptor_t *desc);
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* AMDUAT_ENC_PEL_PROGRAM_DAG_DESC_H */