diff options
| author | Peter LaFosse <peter@vector35.com> | 2017-05-14 09:41:28 -0400 |
|---|---|---|
| committer | Peter LaFosse <peter@vector35.com> | 2017-05-14 10:11:50 -0400 |
| commit | 2111f1f77241c938b30bd3cf2851919094429dd6 (patch) | |
| tree | a0201812b8409528b64549295b1fed6bad19e93b /binaryninjacore.h | |
| parent | 12d16ae11dd2c0524a36c59c5b025c38edb4135b (diff) | |
Expose some core API's for the demangling and type creation
Diffstat (limited to 'binaryninjacore.h')
| -rw-r--r-- | binaryninjacore.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/binaryninjacore.h b/binaryninjacore.h index 8838ca97..c6a79cf5 100644 --- a/binaryninjacore.h +++ b/binaryninjacore.h @@ -457,7 +457,8 @@ extern "C" NoScope, StaticScope, VirtualScope, - ThunkScope + ThunkScope, + FriendScope }; enum BNMemberAccess @@ -2097,6 +2098,8 @@ extern "C" BINARYNINJACOREAPI char* BNGenerateAutoDemangledTypeId(BNQualifiedName* name); BINARYNINJACOREAPI char* BNGetAutoPlatformTypeIdSource(BNPlatform* platform); BINARYNINJACOREAPI char* BNGetAutoDemangledTypeIdSource(void); + BINARYNINJACOREAPI char* BNGenerateAutoDebugTypeId(BNQualifiedName* name); + BINARYNINJACOREAPI char* BNGetAutoDebugTypeIdSource(void); BINARYNINJACOREAPI void BNRegisterPlatformTypes(BNBinaryView* view, BNPlatform* platform); @@ -2428,6 +2431,8 @@ extern "C" BINARYNINJACOREAPI BNType* BNCreateEnumerationType(BNArchitecture* arch, BNEnumeration* e, size_t width, bool isSigned); BINARYNINJACOREAPI BNType* BNCreatePointerType(BNArchitecture* arch, BNType* type, bool cnst, bool vltl, BNReferenceType refType); + BINARYNINJACOREAPI BNType* BNCreatePointerTypeOfWidth(size_t width, BNType* type, bool cnst, bool vltl, + BNReferenceType refType); BINARYNINJACOREAPI BNType* BNCreateArrayType(BNType* type, uint64_t elem); BINARYNINJACOREAPI BNType* BNCreateFunctionType(BNType* returnValue, BNCallingConvention* callingConvention, BNNameAndType* params, size_t paramCount, bool varArg); @@ -2436,6 +2441,8 @@ extern "C" BINARYNINJACOREAPI char* BNGetTypeAndName(BNType* type, BNQualifiedName* name); BINARYNINJACOREAPI void BNFreeType(BNType* type); + BINARYNINJACOREAPI BNQualifiedName BNTypeGetTypeName(BNType* nt); + BINARYNINJACOREAPI void BNTypeSetTypeName(BNType* type, BNQualifiedName* name); BINARYNINJACOREAPI BNTypeClass BNGetTypeClass(BNType* type); BINARYNINJACOREAPI uint64_t BNGetTypeWidth(BNType* type); BINARYNINJACOREAPI size_t BNGetTypeAlignment(BNType* type); @@ -2454,6 +2461,12 @@ extern "C" BINARYNINJACOREAPI BNNamedTypeReference* BNGetTypeNamedTypeReference(BNType* type); BINARYNINJACOREAPI uint64_t BNGetTypeElementCount(BNType* type); BINARYNINJACOREAPI void BNSetFunctionCanReturn(BNType* type, bool canReturn); + BINARYNINJACOREAPI BNMemberScope BNTypeGetMemberScope(BNType* type); + BINARYNINJACOREAPI void BNTypeSetMemberScope(BNType* type, BNMemberScope scope); + BINARYNINJACOREAPI BNMemberAccess BNTypeGetMemberAccess(BNType* type); + BINARYNINJACOREAPI void BNTypeSetMemberAccess(BNType* type, BNMemberAccess access); + BINARYNINJACOREAPI void BNTypeSetConst(BNType* type, bool cnst); + BINARYNINJACOREAPI void BNTypeSetVolatile(BNType* type, bool vltl); BINARYNINJACOREAPI char* BNGetTypeString(BNType* type); BINARYNINJACOREAPI char* BNGetTypeStringBeforeName(BNType* type); @@ -2478,6 +2491,7 @@ extern "C" BINARYNINJACOREAPI BNNamedTypeReference* BNNewNamedTypeReference(BNNamedTypeReference* nt); BINARYNINJACOREAPI BNStructure* BNCreateStructure(void); + BINARYNINJACOREAPI BNStructure* BNCreateStructureWithOptions(BNStructureType type, bool isUnion, bool packed); BINARYNINJACOREAPI BNStructure* BNNewStructureReference(BNStructure* s); BINARYNINJACOREAPI void BNFreeStructure(BNStructure* s); |
