1 /* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License, Version 1.0 only 6 * (the "License"). You may not use this file except in compliance 7 * with the License. 8 * 9 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 * or http://www.opensolaris.org/os/licensing. 11 * See the License for the specific language governing permissions 12 * and limitations under the License. 13 * 14 * When distributing Covered Code, include this CDDL HEADER in each 15 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 * If applicable, add the following below this CDDL HEADER, with the 17 * fields enclosed by brackets "[]" replaced with your own identifying 18 * information: Portions Copyright [yyyy] [name of copyright owner] 19 * 20 * CDDL HEADER END 21 */ 22 /* 23 * Copyright (c) 1988 AT&T 24 * All Rights Reserved 25 * 26 * 27 * Copyright 2005 Sun Microsystems, Inc. All rights reserved. 28 * Use is subject to license terms. 29 */ 30 31 #ifndef _CONV_H 32 #define _CONV_H 33 34 #pragma ident "%Z%%M% %I% %E% SMI" 35 36 /* 37 * Global include file for conversion library. 38 */ 39 40 #include <stdlib.h> 41 #include <libelf.h> 42 #include <dlfcn.h> 43 #include <libld.h> 44 #include <sgs.h> 45 #include <machdep.h> 46 47 #ifdef __cplusplus 48 extern "C" { 49 #endif 50 51 /* 52 * Configuration features available - maintained here (instead of debug.h) 53 * to save libconv from having to include debug.h which results in numerous 54 * "declared but not used or defined" lint errors. 55 */ 56 #define CONF_EDLIBPATH 0x000100 /* ELF default library path */ 57 #define CONF_ESLIBPATH 0x000200 /* ELF secure library path */ 58 #define CONF_ADLIBPATH 0x000400 /* AOUT default library path */ 59 #define CONF_ASLIBPATH 0x000800 /* AOUT secure library path */ 60 #define CONF_DIRCFG 0x001000 /* directory configuration available */ 61 #define CONF_OBJALT 0x002000 /* object alternatives available */ 62 #define CONF_MEMRESV 0x004000 /* memory reservation required */ 63 #define CONF_ENVS 0x008000 /* environment variables available */ 64 #define CONF_FLTR 0x010000 /* filter information available */ 65 #define CONF_FEATMSK 0xffff00 66 67 /* 68 * Functions 69 */ 70 extern void conv_check_native(char **, char **); 71 extern const char *conv_binding_str(uint_t); 72 extern const char *conv_bindent_str(uint_t); 73 extern const char *conv_d_type_str(Elf_Type); 74 extern const char *conv_deftag_str(Symref); 75 extern const char *conv_dlflag_str(int, int); 76 extern const char *conv_dlmode_str(int, int); 77 extern const char *conv_dyntag_str(uint64_t, ushort_t); 78 extern const char *conv_dynflag_str(uint_t); 79 extern const char *conv_dynflag_1_str(uint_t); 80 extern const char *conv_dynposflag_1_str(uint_t); 81 extern const char *conv_dynfeature_1_str(uint_t); 82 extern const char *conv_captag_str(uint64_t); 83 extern const char *conv_capval_str(uint64_t, uint64_t, ushort_t); 84 extern const char *conv_config_str(int); 85 extern const char *conv_config_obj(ushort_t); 86 extern const char *conv_dwarf_ehe_str(uint_t); 87 extern const char *conv_eclass_str(uchar_t); 88 extern const char *conv_edata_str(uchar_t); 89 extern const char *conv_emach_str(ushort_t); 90 extern const char *conv_ever_str(uint_t); 91 extern const char *conv_etype_str(ushort_t); 92 extern const char *conv_eflags_str(ushort_t, uint_t); 93 extern const char *conv_hwcap_1_str(uint64_t, ushort_t); 94 extern const char *conv_hwcap_1_386_str(uint64_t); 95 extern const char *conv_hwcap_1_SPARC_str(uint64_t); 96 extern const char *conv_sfcap_1_str(uint64_t, ushort_t); 97 extern const char *conv_grphdrflags_str(uint_t); 98 extern const char *conv_info_bind_str(uchar_t); 99 extern const char *conv_info_type_str(ushort_t, uchar_t); 100 extern const char *conv_invalid_str(char *, size_t, uint64_t, int); 101 extern Isa_desc *conv_isalist(void); 102 extern const char *conv_lddstub(int); 103 extern const char *conv_phdrflg_str(uint_t); 104 extern const char *conv_phdrtyp_str(ushort_t, uint_t); 105 extern const char *conv_reloc_type_str(ushort_t, uint_t); 106 extern const char *conv_reloc_SPARC_type_str(uint_t); 107 extern const char *conv_reloc_386_type_str(uint_t); 108 extern const char *conv_reloc_amd64_type_str(uint_t); 109 extern const char *conv_reject_str(Rej_desc *); 110 extern const char *conv_sym_dem(const char *); 111 extern const char *conv_sym_value_str(ushort_t, uint_t, uint64_t); 112 extern const char *conv_sym_SPARC_value_str(uint64_t); 113 extern const char *conv_sym_stother(uchar_t); 114 extern const char *conv_secflg_str(ushort_t, uint_t); 115 extern const char *conv_secinfo_str(uint_t, uint_t); 116 extern const char *conv_sectyp_str(ushort_t, uint_t); 117 extern const char *conv_segaflg_str(uint_t); 118 extern const char *conv_shndx_str(ushort_t); 119 extern int conv_sys_eclass(); 120 extern const char *conv_upm_string(const char *, const char *, 121 const char *, size_t); 122 extern Uts_desc *conv_uts(void); 123 extern const char *conv_verflg_str(ushort_t); 124 125 #ifdef __cplusplus 126 } 127 #endif 128 129 #endif /* _CONV_H */ 130