Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
stenzek
GitHub Repository: stenzek/duckstation
Path: blob/master/dep/zydis/src/MetaInfo.c
4212 views
1
/***************************************************************************************************
2
3
Zyan Disassembler Library (Zydis)
4
5
Original Author : Florian Bernd
6
7
* Permission is hereby granted, free of charge, to any person obtaining a copy
8
* of this software and associated documentation files (the "Software"), to deal
9
* in the Software without restriction, including without limitation the rights
10
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11
* copies of the Software, and to permit persons to whom the Software is
12
* furnished to do so, subject to the following conditions:
13
*
14
* The above copyright notice and this permission notice shall be included in all
15
* copies or substantial portions of the Software.
16
*
17
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23
* SOFTWARE.
24
25
***************************************************************************************************/
26
27
#include <Zydis/MetaInfo.h>
28
#include <Zycore/Types.h>
29
30
/* ============================================================================================== */
31
/* Enum strings */
32
/* ============================================================================================== */
33
34
#include <Generated/EnumInstructionCategory.inc>
35
#include <Generated/EnumISASet.inc>
36
#include <Generated/EnumISAExt.inc>
37
38
/* ============================================================================================== */
39
/* Exported functions */
40
/* ============================================================================================== */
41
42
const char* ZydisCategoryGetString(ZydisInstructionCategory category)
43
{
44
if ((ZyanUSize)category >= ZYAN_ARRAY_LENGTH(STR_INSTRUCTIONCATEGORY))
45
{
46
return ZYAN_NULL;
47
}
48
return STR_INSTRUCTIONCATEGORY[category];
49
}
50
51
const char* ZydisISASetGetString(ZydisISASet isa_set)
52
{
53
if ((ZyanUSize)isa_set >= ZYAN_ARRAY_LENGTH(STR_ISASET))
54
{
55
return ZYAN_NULL;
56
}
57
return STR_ISASET[isa_set];
58
}
59
60
const char* ZydisISAExtGetString(ZydisISAExt isa_ext)
61
{
62
if ((ZyanUSize)isa_ext >= ZYAN_ARRAY_LENGTH(STR_ISAEXT))
63
{
64
return ZYAN_NULL;
65
}
66
return STR_ISAEXT[isa_ext];
67
}
68
69
/* ============================================================================================== */
70
71