1 /* 2 * Copyright (C) 2022 Huawei Technologies Co., Ltd. 3 * Licensed under the Mulan PSL v2. 4 * You can use this software according to the terms and conditions of the Mulan PSL v2. 5 * You may obtain a copy of Mulan PSL v2 at: 6 * http://license.coscl.org.cn/MulanPSL2 7 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR 8 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR 9 * PURPOSE. 10 * See the Mulan PSL v2 for more details. 11 */ 12 #ifndef LIBSPAWN_COMMON_INCLUDE_GET_ELF_INFO_H 13 #define LIBSPAWN_COMMON_INCLUDE_GET_ELF_INFO_H 14 15 #include <stdio.h> 16 #include <elf.h> 17 18 #define ELF_NOT_SUPPORT (-1) 19 #define ELF_NATIVE 0 20 #define ELF_TALDR 1 21 #define ELF_TARUNNER 2 22 #define ELF_TARUNNER_A32 3 23 24 #define EH_SIZE sizeof(Elf64_Ehdr) 25 26 int32_t get_elf_class(const char *ehdr, uint32_t ehdr_size); 27 int32_t get_elf_type(const char *ehdr, uint32_t ehdr_size, int32_t elf_class); 28 29 #endif 30