summaryrefslogtreecommitdiff
path: root/plugins/warp/api/warpcore.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/warp/api/warpcore.h')
-rw-r--r--plugins/warp/api/warpcore.h40
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);