xref: /haiku/headers/libs/zydis/Zydis/MetaInfo.h (revision 1003e004e6c97eb60657a98928dd334e141c59ee)
1*1003e004SJérôme Duval /***************************************************************************************************
2*1003e004SJérôme Duval 
3*1003e004SJérôme Duval   Zyan Disassembler Library (Zydis)
4*1003e004SJérôme Duval 
5*1003e004SJérôme Duval   Original Author : Florian Bernd
6*1003e004SJérôme Duval 
7*1003e004SJérôme Duval  * Permission is hereby granted, free of charge, to any person obtaining a copy
8*1003e004SJérôme Duval  * of this software and associated documentation files (the "Software"), to deal
9*1003e004SJérôme Duval  * in the Software without restriction, including without limitation the rights
10*1003e004SJérôme Duval  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11*1003e004SJérôme Duval  * copies of the Software, and to permit persons to whom the Software is
12*1003e004SJérôme Duval  * furnished to do so, subject to the following conditions:
13*1003e004SJérôme Duval  *
14*1003e004SJérôme Duval  * The above copyright notice and this permission notice shall be included in all
15*1003e004SJérôme Duval  * copies or substantial portions of the Software.
16*1003e004SJérôme Duval  *
17*1003e004SJérôme Duval  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18*1003e004SJérôme Duval  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19*1003e004SJérôme Duval  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20*1003e004SJérôme Duval  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21*1003e004SJérôme Duval  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22*1003e004SJérôme Duval  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23*1003e004SJérôme Duval  * SOFTWARE.
24*1003e004SJérôme Duval 
25*1003e004SJérôme Duval ***************************************************************************************************/
26*1003e004SJérôme Duval 
27*1003e004SJérôme Duval /**
28*1003e004SJérôme Duval  * @file
29*1003e004SJérôme Duval  * @brief
30*1003e004SJérôme Duval  */
31*1003e004SJérôme Duval 
32*1003e004SJérôme Duval #ifndef ZYDIS_METAINFO_H
33*1003e004SJérôme Duval #define ZYDIS_METAINFO_H
34*1003e004SJérôme Duval 
35*1003e004SJérôme Duval #include <Zydis/Defines.h>
36*1003e004SJérôme Duval 
37*1003e004SJérôme Duval #ifdef __cplusplus
38*1003e004SJérôme Duval extern "C" {
39*1003e004SJérôme Duval #endif
40*1003e004SJérôme Duval 
41*1003e004SJérôme Duval /* ============================================================================================== */
42*1003e004SJérôme Duval /* Enums and types                                                                                */
43*1003e004SJérôme Duval /* ============================================================================================== */
44*1003e004SJérôme Duval 
45*1003e004SJérôme Duval #include <Zydis/Generated/EnumInstructionCategory.h>
46*1003e004SJérôme Duval #include <Zydis/Generated/EnumISASet.h>
47*1003e004SJérôme Duval #include <Zydis/Generated/EnumISAExt.h>
48*1003e004SJérôme Duval 
49*1003e004SJérôme Duval /* ============================================================================================== */
50*1003e004SJérôme Duval /* Exported functions                                                                             */
51*1003e004SJérôme Duval /* ============================================================================================== */
52*1003e004SJérôme Duval 
53*1003e004SJérôme Duval  /**
54*1003e004SJérôme Duval  * Returns the specified instruction category string.
55*1003e004SJérôme Duval  *
56*1003e004SJérôme Duval  * @param   category    The instruction category.
57*1003e004SJérôme Duval  *
58*1003e004SJérôme Duval  * @return  The instruction category string or `ZYAN_NULL`, if an invalid category was passed.
59*1003e004SJérôme Duval  */
60*1003e004SJérôme Duval ZYDIS_EXPORT const char* ZydisCategoryGetString(ZydisInstructionCategory category);
61*1003e004SJérôme Duval 
62*1003e004SJérôme Duval /**
63*1003e004SJérôme Duval  * Returns the specified isa-set string.
64*1003e004SJérôme Duval  *
65*1003e004SJérôme Duval  * @param   isa_set The isa-set.
66*1003e004SJérôme Duval  *
67*1003e004SJérôme Duval  * @return  The isa-set string or `ZYAN_NULL`, if an invalid isa-set was passed.
68*1003e004SJérôme Duval  */
69*1003e004SJérôme Duval ZYDIS_EXPORT const char* ZydisISASetGetString(ZydisISASet isa_set);
70*1003e004SJérôme Duval 
71*1003e004SJérôme Duval /**
72*1003e004SJérôme Duval  * Returns the specified isa-extension string.
73*1003e004SJérôme Duval  *
74*1003e004SJérôme Duval  * @param   isa_ext The isa-extension.
75*1003e004SJérôme Duval  *
76*1003e004SJérôme Duval  * @return  The isa-extension string or `ZYAN_NULL`, if an invalid isa-extension was passed.
77*1003e004SJérôme Duval  */
78*1003e004SJérôme Duval ZYDIS_EXPORT const char* ZydisISAExtGetString(ZydisISAExt isa_ext);
79*1003e004SJérôme Duval 
80*1003e004SJérôme Duval /* ============================================================================================== */
81*1003e004SJérôme Duval 
82*1003e004SJérôme Duval #ifdef __cplusplus
83*1003e004SJérôme Duval }
84*1003e004SJérôme Duval #endif
85*1003e004SJérôme Duval 
86*1003e004SJérôme Duval #endif /* ZYDIS_METAINFO_H */
87