/* * Copyright 2024 Intel Corporation * SPDX-License-Identifier: MIT */ #pragma once #include #include #include #include static inline void _fail(const char *prefix, const char *format, ...) { va_list args; va_start(args, format); if (prefix) fprintf(stderr, "%s: ", prefix); vfprintf(stderr, format, args); va_end(args); abort(); } #define _fail_if(cond, prefix, ...) do { \ if (cond) \ _fail(prefix, __VA_ARGS__); \ } while (0) #define fail_if(cond, ...) _fail_if(cond, NULL, __VA_ARGS__) #define fail(...) fail_if(true, __VA_ARGS__) void write_header(FILE *f); void write_buffer(FILE *f, uint64_t offset, const void *data, uint64_t size, const char *name); void write_hw_image_buffer(FILE *f, const void *data, uint64_t size); void write_exec(FILE *f, uint64_t offset);