57 lines
1.2 KiB
C
57 lines
1.2 KiB
C
#ifndef AMDUAT_PEL_CORE_H
|
|
#define AMDUAT_PEL_CORE_H
|
|
|
|
#include "amduat/asl/core.h"
|
|
|
|
#include <stdbool.h>
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef uint8_t amduat_pel_execution_status_t;
|
|
typedef uint8_t amduat_pel_execution_error_kind_t;
|
|
|
|
enum {
|
|
AMDUAT_PEL_EXEC_STATUS_OK = 0,
|
|
AMDUAT_PEL_EXEC_STATUS_SCHEME_UNSUPPORTED = 1,
|
|
AMDUAT_PEL_EXEC_STATUS_INVALID_PROGRAM = 2,
|
|
AMDUAT_PEL_EXEC_STATUS_INVALID_INPUTS = 3,
|
|
AMDUAT_PEL_EXEC_STATUS_RUNTIME_FAILED = 4
|
|
};
|
|
|
|
enum {
|
|
AMDUAT_PEL_EXEC_ERROR_NONE = 0,
|
|
AMDUAT_PEL_EXEC_ERROR_SCHEME = 1,
|
|
AMDUAT_PEL_EXEC_ERROR_PROGRAM = 2,
|
|
AMDUAT_PEL_EXEC_ERROR_INPUTS = 3,
|
|
AMDUAT_PEL_EXEC_ERROR_RUNTIME = 4
|
|
};
|
|
|
|
typedef struct {
|
|
amduat_pel_execution_error_kind_t kind;
|
|
uint32_t status_code;
|
|
} amduat_pel_execution_error_summary_t;
|
|
|
|
typedef struct {
|
|
uint32_t code;
|
|
amduat_octets_t message;
|
|
} amduat_pel_diagnostic_entry_t;
|
|
|
|
typedef struct {
|
|
uint16_t pel1_version;
|
|
amduat_pel_execution_status_t status;
|
|
amduat_reference_t scheme_ref;
|
|
amduat_pel_execution_error_summary_t summary;
|
|
amduat_pel_diagnostic_entry_t *diagnostics;
|
|
size_t diagnostics_len;
|
|
} amduat_pel_execution_result_value_t;
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|
|
|
|
#endif /* AMDUAT_PEL_CORE_H */
|