diff options
Diffstat (limited to 'plugins/warp/api/warpcore.h')
| -rw-r--r-- | plugins/warp/api/warpcore.h | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/plugins/warp/api/warpcore.h b/plugins/warp/api/warpcore.h index 20a59b7b..b62f2427 100644 --- a/plugins/warp/api/warpcore.h +++ b/plugins/warp/api/warpcore.h @@ -61,6 +61,7 @@ extern "C" }; char* BNWARPUUIDGetString(const BNWARPUUID* uuid); + bool BNWARPUUIDFromString(const char* str, BNWARPUUID* uuid); bool BNWARPUUIDEqual(const BNWARPUUID* a, const BNWARPUUID* b); void BNWARPFreeUUIDList(BNWARPUUID* uuids, size_t count); @@ -74,6 +75,24 @@ extern "C" typedef struct BNWARPContainer BNWARPContainer; typedef struct BNWARPFunction BNWARPFunction; typedef struct BNWARPConstraint BNWARPConstraint; + typedef struct BNWARPContainerSearchQuery BNWARPContainerSearchQuery; + typedef struct BNWARPContainerSearchItem BNWARPContainerSearchItem; + + enum BNWARPContainerSearchItemKind + { + WARPContainerSearchItemKindSource = 0, + WARPContainerSearchItemKindFunction = 1, + WARPContainerSearchItemKindType = 2, + WARPContainerSearchItemKindSymbol = 3, + }; + + struct BNWARPContainerSearchResponse + { + size_t count; + BNWARPContainerSearchItem** items; + size_t offset; + size_t total; + }; struct BNWARPConstraint { @@ -108,7 +127,7 @@ extern "C" WARP_FFI_API bool BNWARPContainerRemoveFunctions(BNWARPContainer* container, const BNWARPTarget* target, const BNWARPSource* source, BNWARPFunction** functions, size_t count); WARP_FFI_API bool BNWARPContainerRemoveTypes(BNWARPContainer* container, const BNWARPSource* source, BNWARPTypeGUID* types, size_t count); - WARP_FFI_API void BNWARPContainerFetchFunctions(BNWARPContainer* container, BNWARPTarget* target, const BNWARPTypeGUID* guids, size_t count); + WARP_FFI_API void BNWARPContainerFetchFunctions(BNWARPContainer* container, BNWARPTarget* target, const char** sourceTags, size_t sourceTagCount, const BNWARPTypeGUID* guids, size_t count); WARP_FFI_API BNWARPSource* BNWARPContainerGetSourcesWithFunctionGUID(BNWARPContainer* container, const BNWARPTarget* target, const BNWARPFunctionGUID* guid, size_t* count); WARP_FFI_API BNWARPSource* BNWARPContainerGetSourcesWithTypeGUID(BNWARPContainer* container, const BNWARPTypeGUID* guid, size_t* count); @@ -120,6 +139,25 @@ extern "C" WARP_FFI_API void BNWARPFreeContainerReference(BNWARPContainer* container); WARP_FFI_API void BNWARPFreeContainerList(BNWARPContainer** containers, size_t count); + WARP_FFI_API BNWARPContainerSearchQuery* BNWARPNewContainerSearchQuery(const char* query, const size_t* offset, const size_t* limit, const BNWARPSource* source, const char** sourceTags, size_t sourceTagCount); + + WARP_FFI_API BNWARPContainerSearchResponse* BNWARPContainerSearch(BNWARPContainer* container, const BNWARPContainerSearchQuery* query); + + WARP_FFI_API BNWARPContainerSearchItemKind BNWARPContainerSearchItemGetKind(BNWARPContainerSearchItem* item); + WARP_FFI_API BNWARPSource BNWARPContainerSearchItemGetSource(BNWARPContainerSearchItem* item); + WARP_FFI_API BNType* BNWARPContainerSearchItemGetType(BNArchitecture* arch, BNWARPContainerSearchItem* item); + WARP_FFI_API char* BNWARPContainerSearchItemGetName(BNWARPContainerSearchItem* item); + WARP_FFI_API BNWARPFunction* BNWARPContainerSearchItemGetFunction(BNWARPContainerSearchItem* item); + + WARP_FFI_API BNWARPContainerSearchQuery* BNWARPNewContainerSearchQueryReference(BNWARPContainerSearchQuery* query); + WARP_FFI_API void BNWARPFreeContainerSearchQueryReference(BNWARPContainerSearchQuery* query); + + WARP_FFI_API BNWARPContainerSearchItem* BNWARPNewContainerSearchItemReference(BNWARPContainerSearchItem* item); + WARP_FFI_API void BNWARPFreeContainerSearchItemReference(BNWARPContainerSearchItem* item); + WARP_FFI_API void BNWARPFreeContainerSearchItemList(BNWARPContainerSearchItem** items, size_t count); + + WARP_FFI_API void BNWARPFreeContainerSearchResponse(BNWARPContainerSearchResponse* response); + WARP_FFI_API void BNWARPFunctionApply(BNWARPFunction* function, BNFunction* analysisFunction); WARP_FFI_API BNWARPFunctionGUID BNWARPFunctionGetGUID(BNWARPFunction* function); WARP_FFI_API BNSymbol* BNWARPFunctionGetSymbol(BNWARPFunction* function, BNFunction* analysisFunction); |
