#ifndef UCM_BISTRO_BISTRO_H_
#define UCM_BISTRO_BISTRO_H_
#include <stdint.h>
#include <ucs/type/status.h>
typedef struct ucm_bistro_restore_point ucm_bistro_restore_point_t;
#if defined(__powerpc64__)
# include "bistro_ppc64.h"
#elif defined(__aarch64__)
# include "bistro_aarch64.h"
#elif defined(__x86_64__)
# include "bistro_x86_64.h"
#else
# error "Unsupported architecture"
#endif
ucs_status_t ucm_bistro_restore(ucm_bistro_restore_point_t *rp);
ucs_status_t ucm_bistro_remove_restore_point(ucm_bistro_restore_point_t *rp);
void *ucm_bistro_restore_addr(ucm_bistro_restore_point_t *rp);
void *ucm_bistro_allocate_code(size_t size);
#endif