import ctypes, os
from typing import Optional, AnyStr
from .enums import *# Load core module
import platform
core = None
_base_path = None
core_platform = platform.system()
if core_platform == "Darwin":
_base_path = os.path.join(os.path.dirname(__file__), "..", "..", "..", "MacOS")
core = ctypes.CDLL(os.path.join(_base_path, "libbinaryninjacore.dylib"))
elif core_platform == "Linux":
_base_path = os.path.join(os.path.dirname(__file__), "..", "..")
core = ctypes.CDLL(os.path.join(_base_path, "libbinaryninjacore.so.1"))
elif (core_platform == "Windows") or (core_platform.find("CYGWIN_NT") == 0):
_base_path = os.path.join(os.path.dirname(__file__), "..", "..")
core = ctypes.CDLL(os.path.join(_base_path, "binaryninjacore.dll"))
else:
raise Exception("OS not supported")
def cstr(var: Optional[AnyStr]) -> Optional[bytes]:
if var is None:
return None
if isinstance(var, bytes):
return var
return var.encode("utf-8")
def pyNativeStr(arg: AnyStr) -> str:
if isinstance(arg, str):
return arg
else:
return arg.decode('utf8')
def free_string(value:ctypes.c_char_p) -> None:
BNFreeString(ctypes.cast(value, ctypes.POINTER(ctypes.c_byte)))
# Type definitions
ActionTypeEnum = ctypes.c_int
class BNActiveAnalysisInfo(ctypes.Structure):
pass
BNActiveAnalysisInfoHandle = ctypes.POINTER(BNActiveAnalysisInfo)
class BNActivity(ctypes.Structure):
pass
BNActivityHandle = ctypes.POINTER(BNActivity)
class BNAddressRange(ctypes.Structure):
pass
BNAddressRangeHandle = ctypes.POINTER(BNAddressRange)
class BNAnalysisCompletionEvent(ctypes.Structure):
pass
BNAnalysisCompletionEventHandle = ctypes.POINTER(BNAnalysisCompletionEvent)
class BNAnalysisContext(ctypes.Structure):
pass
BNAnalysisContextHandle = ctypes.POINTER(BNAnalysisContext)
class BNAnalysisInfo(ctypes.Structure):
pass
BNAnalysisInfoHandle = ctypes.POINTER(BNAnalysisInfo)
AnalysisModeEnum = ctypes.c_int
class BNAnalysisParameters(ctypes.Structure):
pass
BNAnalysisParametersHandle = ctypes.POINTER(BNAnalysisParameters)
class BNAnalysisProgress(ctypes.Structure):
pass
BNAnalysisProgressHandle = ctypes.POINTER(BNAnalysisProgress)
AnalysisSkipReasonEnum = ctypes.c_int
AnalysisStateEnum = ctypes.c_int
AnalysisWarningActionTypeEnum = ctypes.c_int
class BNArchitecture(ctypes.Structure):
pass
BNArchitectureHandle = ctypes.POINTER(BNArchitecture)
class BNArchitectureAndAddress(ctypes.Structure):
pass
BNArchitectureAndAddressHandle = ctypes.POINTER(BNArchitectureAndAddress)
class BNBackgroundTask(ctypes.Structure):
pass
BNBackgroundTaskHandle = ctypes.POINTER(BNBackgroundTask)
class BNBaseStructure(ctypes.Structure):
pass
BNBaseStructureHandle = ctypes.POINTER(BNBaseStructure)
class BNBasicBlock(ctypes.Structure):
pass
BNBasicBlockHandle = ctypes.POINTER(BNBasicBlock)
class BNBasicBlockEdge(ctypes.Structure):
pass
BNBasicBlockEdgeHandle = ctypes.POINTER(BNBasicBlockEdge)
class BNBinaryDataNotification(ctypes.Structure):
pass
BNBinaryDataNotificationHandle = ctypes.POINTER(BNBinaryDataNotification)
class BNBinaryReader(ctypes.Structure):
pass
BNBinaryReaderHandle = ctypes.POINTER(BNBinaryReader)
class BNBinaryView(ctypes.Structure):
pass
BNBinaryViewHandle = ctypes.POINTER(BNBinaryView)
class BNBinaryViewEvent(ctypes.Structure):
pass
BNBinaryViewEventHandle = ctypes.POINTER(BNBinaryViewEvent)
BinaryViewEventTypeEnum = ctypes.c_int
class BNBinaryViewType(ctypes.Structure):
pass
BNBinaryViewTypeHandle = ctypes.POINTER(BNBinaryViewType)
class BNBinaryWriter(ctypes.Structure):
pass
BNBinaryWriterHandle = ctypes.POINTER(BNBinaryWriter)
class BNBoolWithConfidence(ctypes.Structure):
pass
BNBoolWithConfidenceHandle = ctypes.POINTER(BNBoolWithConfidence)
BranchTypeEnum = ctypes.c_int
class BNCallingConvention(ctypes.Structure):
pass
BNCallingConventionHandle = ctypes.POINTER(BNCallingConvention)
CallingConventionNameEnum = ctypes.c_int
class BNCallingConventionWithConfidence(ctypes.Structure):
pass
BNCallingConventionWithConfidenceHandle = ctypes.POINTER(BNCallingConventionWithConfidence)
class BNChangelogEntry(ctypes.Structure):
@property
def notes(self):
return pyNativeStr(self._notes)
@notes.setter
def notes(self, value):
self._notes = cstr(value)
BNChangelogEntryHandle = ctypes.POINTER(BNChangelogEntry)
class BNComponent(ctypes.Structure):
pass
BNComponentHandle = ctypes.POINTER(BNComponent)
class BNConstantReference(ctypes.Structure):
pass
BNConstantReferenceHandle = ctypes.POINTER(BNConstantReference)
class BNCustomArchitecture(ctypes.Structure):
pass
BNCustomArchitectureHandle = ctypes.POINTER(BNCustomArchitecture)
class BNCustomBinaryView(ctypes.Structure):
pass
BNCustomBinaryViewHandle = ctypes.POINTER(BNCustomBinaryView)
class BNCustomBinaryViewType(ctypes.Structure):
pass
BNCustomBinaryViewTypeHandle = ctypes.POINTER(BNCustomBinaryViewType)
class BNCustomCallingConvention(ctypes.Structure):
pass
BNCustomCallingConventionHandle = ctypes.POINTER(BNCustomCallingConvention)
class BNCustomDataRenderer(ctypes.Structure):
pass
BNCustomDataRendererHandle = ctypes.POINTER(BNCustomDataRenderer)
class BNCustomFlowGraph(ctypes.Structure):
pass
BNCustomFlowGraphHandle = ctypes.POINTER(BNCustomFlowGraph)
class BNCustomRelocationHandler(ctypes.Structure):
pass
BNCustomRelocationHandlerHandle = ctypes.POINTER(BNCustomRelocationHandler)
class BNCustomTransform(ctypes.Structure):
pass
BNCustomTransformHandle = ctypes.POINTER(BNCustomTransform)
class BNDataBuffer(ctypes.Structure):
pass
BNDataBufferHandle = ctypes.POINTER(BNDataBuffer)
DataFlowQueryOptionEnum = ctypes.c_int
class BNDataRenderer(ctypes.Structure):
pass
BNDataRendererHandle = ctypes.POINTER(BNDataRenderer)
class BNDataRendererContainer(ctypes.Structure):
pass
BNDataRendererContainerHandle = ctypes.POINTER(BNDataRendererContainer)
class BNDataVariable(ctypes.Structure):
pass
BNDataVariableHandle = ctypes.POINTER(BNDataVariable)
class BNDataVariableAndName(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNDataVariableAndNameHandle = ctypes.POINTER(BNDataVariableAndName)
class BNDataVariableAndNameAndDebugParser(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
@property
def parser(self):
return pyNativeStr(self._parser)
@parser.setter
def parser(self, value):
self._parser = cstr(value)
BNDataVariableAndNameAndDebugParserHandle = ctypes.POINTER(BNDataVariableAndNameAndDebugParser)
class BNDatabase(ctypes.Structure):
pass
BNDatabaseHandle = ctypes.POINTER(BNDatabase)
DeadStoreEliminationEnum = ctypes.c_int
class BNDebugFunctionInfo(ctypes.Structure):
@property
def shortName(self):
return pyNativeStr(self._shortName)
@shortName.setter
def shortName(self, value):
self._shortName = cstr(value)
@property
def fullName(self):
return pyNativeStr(self._fullName)
@fullName.setter
def fullName(self, value):
self._fullName = cstr(value)
@property
def rawName(self):
return pyNativeStr(self._rawName)
@rawName.setter
def rawName(self, value):
self._rawName = cstr(value)
BNDebugFunctionInfoHandle = ctypes.POINTER(BNDebugFunctionInfo)
class BNDebugInfo(ctypes.Structure):
pass
BNDebugInfoHandle = ctypes.POINTER(BNDebugInfo)
class BNDebugInfoParser(ctypes.Structure):
pass
BNDebugInfoParserHandle = ctypes.POINTER(BNDebugInfoParser)
DisassemblyOptionEnum = ctypes.c_int
class BNDisassemblySettings(ctypes.Structure):
pass
BNDisassemblySettingsHandle = ctypes.POINTER(BNDisassemblySettings)
class BNDisassemblyTextLine(ctypes.Structure):
pass
BNDisassemblyTextLineHandle = ctypes.POINTER(BNDisassemblyTextLine)
class BNDisassemblyTextLineTypeInfo(ctypes.Structure):
pass
BNDisassemblyTextLineTypeInfoHandle = ctypes.POINTER(BNDisassemblyTextLineTypeInfo)
class BNDisassemblyTextRenderer(ctypes.Structure):
pass
BNDisassemblyTextRendererHandle = ctypes.POINTER(BNDisassemblyTextRenderer)
class BNDownloadInstance(ctypes.Structure):
pass
BNDownloadInstanceHandle = ctypes.POINTER(BNDownloadInstance)
class BNDownloadInstanceCallbacks(ctypes.Structure):
pass
BNDownloadInstanceCallbacksHandle = ctypes.POINTER(BNDownloadInstanceCallbacks)
class BNDownloadInstanceInputOutputCallbacks(ctypes.Structure):
pass
BNDownloadInstanceInputOutputCallbacksHandle = ctypes.POINTER(BNDownloadInstanceInputOutputCallbacks)
class BNDownloadInstanceOutputCallbacks(ctypes.Structure):
pass
BNDownloadInstanceOutputCallbacksHandle = ctypes.POINTER(BNDownloadInstanceOutputCallbacks)
class BNDownloadInstanceResponse(ctypes.Structure):
pass
BNDownloadInstanceResponseHandle = ctypes.POINTER(BNDownloadInstanceResponse)
class BNDownloadProvider(ctypes.Structure):
pass
BNDownloadProviderHandle = ctypes.POINTER(BNDownloadProvider)
class BNDownloadProviderCallbacks(ctypes.Structure):
pass
BNDownloadProviderCallbacksHandle = ctypes.POINTER(BNDownloadProviderCallbacks)
EdgePenStyleEnum = ctypes.c_int
class BNEdgeStyle(ctypes.Structure):
pass
BNEdgeStyleHandle = ctypes.POINTER(BNEdgeStyle)
EndiannessEnum = ctypes.c_int
class BNEnterpriseServerCallbacks(ctypes.Structure):
pass
BNEnterpriseServerCallbacksHandle = ctypes.POINTER(BNEnterpriseServerCallbacks)
class BNEnumeration(ctypes.Structure):
pass
BNEnumerationHandle = ctypes.POINTER(BNEnumeration)
class BNEnumerationBuilder(ctypes.Structure):
pass
BNEnumerationBuilderHandle = ctypes.POINTER(BNEnumerationBuilder)
class BNEnumerationMember(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNEnumerationMemberHandle = ctypes.POINTER(BNEnumerationMember)
class BNExternalLibrary(ctypes.Structure):
pass
BNExternalLibraryHandle = ctypes.POINTER(BNExternalLibrary)
class BNExternalLocation(ctypes.Structure):
pass
BNExternalLocationHandle = ctypes.POINTER(BNExternalLocation)
class BNFileAccessor(ctypes.Structure):
pass
BNFileAccessorHandle = ctypes.POINTER(BNFileAccessor)
class BNFileMetadata(ctypes.Structure):
pass
BNFileMetadataHandle = ctypes.POINTER(BNFileMetadata)
FindFlagEnum = ctypes.c_int
FindRangeTypeEnum = ctypes.c_int
FindTypeEnum = ctypes.c_int
class BNFlagConditionForSemanticClass(ctypes.Structure):
pass
BNFlagConditionForSemanticClassHandle = ctypes.POINTER(BNFlagConditionForSemanticClass)
FlagRoleEnum = ctypes.c_int
class BNFlowGraph(ctypes.Structure):
pass
BNFlowGraphHandle = ctypes.POINTER(BNFlowGraph)
class BNFlowGraphEdge(ctypes.Structure):
pass
BNFlowGraphEdgeHandle = ctypes.POINTER(BNFlowGraphEdge)
class BNFlowGraphLayoutRequest(ctypes.Structure):
pass
BNFlowGraphLayoutRequestHandle = ctypes.POINTER(BNFlowGraphLayoutRequest)
class BNFlowGraphNode(ctypes.Structure):
pass
BNFlowGraphNodeHandle = ctypes.POINTER(BNFlowGraphNode)
FlowGraphOptionEnum = ctypes.c_int
class BNFormInputField(ctypes.Structure):
@property
def prompt(self):
return pyNativeStr(self._prompt)
@prompt.setter
def prompt(self, value):
self._prompt = cstr(value)
@property
def ext(self):
return pyNativeStr(self._ext)
@ext.setter
def ext(self, value):
self._ext = cstr(value)
@property
def defaultName(self):
return pyNativeStr(self._defaultName)
@defaultName.setter
def defaultName(self, value):
self._defaultName = cstr(value)
@property
def stringResult(self):
return pyNativeStr(self._stringResult)
@stringResult.setter
def stringResult(self, value):
self._stringResult = cstr(value)
@property
def stringDefault(self):
return pyNativeStr(self._stringDefault)
@stringDefault.setter
def stringDefault(self, value):
self._stringDefault = cstr(value)
BNFormInputFieldHandle = ctypes.POINTER(BNFormInputField)
FormInputFieldTypeEnum = ctypes.c_int
class BNFunction(ctypes.Structure):
pass
BNFunctionHandle = ctypes.POINTER(BNFunction)
FunctionAnalysisSkipOverrideEnum = ctypes.c_int
FunctionGraphTypeEnum = ctypes.c_int
class BNFunctionParameter(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNFunctionParameterHandle = ctypes.POINTER(BNFunctionParameter)
class BNFunctionRecognizer(ctypes.Structure):
pass
BNFunctionRecognizerHandle = ctypes.POINTER(BNFunctionRecognizer)
FunctionUpdateTypeEnum = ctypes.c_int
class BNHighLevelILFunction(ctypes.Structure):
pass
BNHighLevelILFunctionHandle = ctypes.POINTER(BNHighLevelILFunction)
class BNHighLevelILInstruction(ctypes.Structure):
pass
BNHighLevelILInstructionHandle = ctypes.POINTER(BNHighLevelILInstruction)
HighLevelILOperationEnum = ctypes.c_int
class BNHighlightColor(ctypes.Structure):
pass
BNHighlightColorHandle = ctypes.POINTER(BNHighlightColor)
HighlightColorStyleEnum = ctypes.c_int
HighlightStandardColorEnum = ctypes.c_int
ILBranchDependenceEnum = ctypes.c_int
class BNILBranchInstructionAndDependence(ctypes.Structure):
pass
BNILBranchInstructionAndDependenceHandle = ctypes.POINTER(BNILBranchInstructionAndDependence)
class BNILIndexRange(ctypes.Structure):
pass
BNILIndexRangeHandle = ctypes.POINTER(BNILIndexRange)
ILInstructionAttributeEnum = ctypes.c_int
class BNILReferenceSource(ctypes.Structure):
pass
BNILReferenceSourceHandle = ctypes.POINTER(BNILReferenceSource)
ImplicitRegisterExtendEnum = ctypes.c_int
class BNIndirectBranchInfo(ctypes.Structure):
pass
BNIndirectBranchInfoHandle = ctypes.POINTER(BNIndirectBranchInfo)
class BNInheritedStructureMember(ctypes.Structure):
pass
BNInheritedStructureMemberHandle = ctypes.POINTER(BNInheritedStructureMember)
class BNInstructionInfo(ctypes.Structure):
pass
BNInstructionInfoHandle = ctypes.POINTER(BNInstructionInfo)
class BNInstructionTextLine(ctypes.Structure):
pass
BNInstructionTextLineHandle = ctypes.POINTER(BNInstructionTextLine)
class BNInstructionTextToken(ctypes.Structure):
@property
def text(self):
return pyNativeStr(self._text)
@text.setter
def text(self, value):
self._text = cstr(value)
BNInstructionTextTokenHandle = ctypes.POINTER(BNInstructionTextToken)
InstructionTextTokenContextEnum = ctypes.c_int
InstructionTextTokenTypeEnum = ctypes.c_int
IntegerDisplayTypeEnum = ctypes.c_int
class BNInteractionHandlerCallbacks(ctypes.Structure):
pass
BNInteractionHandlerCallbacksHandle = ctypes.POINTER(BNInteractionHandlerCallbacks)
IntrinsicClassEnum = ctypes.c_int
class BNKeyValueStore(ctypes.Structure):
pass
BNKeyValueStoreHandle = ctypes.POINTER(BNKeyValueStore)
class BNLanguageRepresentationFunction(ctypes.Structure):
pass
BNLanguageRepresentationFunctionHandle = ctypes.POINTER(BNLanguageRepresentationFunction)
class BNLinearDisassemblyLine(ctypes.Structure):
pass
BNLinearDisassemblyLineHandle = ctypes.POINTER(BNLinearDisassemblyLine)
LinearDisassemblyLineTypeEnum = ctypes.c_int
class BNLinearViewCursor(ctypes.Structure):
pass
BNLinearViewCursorHandle = ctypes.POINTER(BNLinearViewCursor)
class BNLinearViewObject(ctypes.Structure):
pass
BNLinearViewObjectHandle = ctypes.POINTER(BNLinearViewObject)
class BNLinearViewObjectIdentifier(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNLinearViewObjectIdentifierHandle = ctypes.POINTER(BNLinearViewObjectIdentifier)
LinearViewObjectIdentifierTypeEnum = ctypes.c_int
LogLevelEnum = ctypes.c_int
class BNLogListener(ctypes.Structure):
pass
BNLogListenerHandle = ctypes.POINTER(BNLogListener)
class BNLogger(ctypes.Structure):
pass
BNLoggerHandle = ctypes.POINTER(BNLogger)
class BNLookupTableEntry(ctypes.Structure):
pass
BNLookupTableEntryHandle = ctypes.POINTER(BNLookupTableEntry)
LowLevelILFlagConditionEnum = ctypes.c_int
class BNLowLevelILFunction(ctypes.Structure):
pass
BNLowLevelILFunctionHandle = ctypes.POINTER(BNLowLevelILFunction)
class BNLowLevelILInstruction(ctypes.Structure):
pass
BNLowLevelILInstructionHandle = ctypes.POINTER(BNLowLevelILInstruction)
class BNLowLevelILLabel(ctypes.Structure):
pass
BNLowLevelILLabelHandle = ctypes.POINTER(BNLowLevelILLabel)
LowLevelILOperationEnum = ctypes.c_int
class BNMainThreadAction(ctypes.Structure):
pass
BNMainThreadActionHandle = ctypes.POINTER(BNMainThreadAction)
class BNMainThreadCallbacks(ctypes.Structure):
pass
BNMainThreadCallbacksHandle = ctypes.POINTER(BNMainThreadCallbacks)
class BNMediumLevelILFunction(ctypes.Structure):
pass
BNMediumLevelILFunctionHandle = ctypes.POINTER(BNMediumLevelILFunction)
class BNMediumLevelILInstruction(ctypes.Structure):
pass
BNMediumLevelILInstructionHandle = ctypes.POINTER(BNMediumLevelILInstruction)
class BNMediumLevelILLabel(ctypes.Structure):
pass
BNMediumLevelILLabelHandle = ctypes.POINTER(BNMediumLevelILLabel)
MediumLevelILOperationEnum = ctypes.c_int
MemberAccessEnum = ctypes.c_int
MemberScopeEnum = ctypes.c_int
class BNMemoryUsageInfo(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNMemoryUsageInfoHandle = ctypes.POINTER(BNMemoryUsageInfo)
class BNMergedVariable(ctypes.Structure):
pass
BNMergedVariableHandle = ctypes.POINTER(BNMergedVariable)
MessageBoxButtonResultEnum = ctypes.c_int
MessageBoxButtonSetEnum = ctypes.c_int
MessageBoxIconEnum = ctypes.c_int
class BNMetadata(ctypes.Structure):
pass
BNMetadataHandle = ctypes.POINTER(BNMetadata)
MetadataTypeEnum = ctypes.c_int
class BNMetadataValueStore(ctypes.Structure):
pass
BNMetadataValueStoreHandle = ctypes.POINTER(BNMetadataValueStore)
ModificationStatusEnum = ctypes.c_int
class BNNameAndType(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNNameAndTypeHandle = ctypes.POINTER(BNNameAndType)
class BNNameList(ctypes.Structure):
@property
def join(self):
return pyNativeStr(self._join)
@join.setter
def join(self, value):
self._join = cstr(value)
BNNameListHandle = ctypes.POINTER(BNNameList)
class BNNameSpace(ctypes.Structure):
@property
def join(self):
return pyNativeStr(self._join)
@join.setter
def join(self, value):
self._join = cstr(value)
BNNameSpaceHandle = ctypes.POINTER(BNNameSpace)
NameTypeEnum = ctypes.c_int
class BNNamedTypeReference(ctypes.Structure):
pass
BNNamedTypeReferenceHandle = ctypes.POINTER(BNNamedTypeReference)
class BNNamedTypeReferenceBuilder(ctypes.Structure):
pass
BNNamedTypeReferenceBuilderHandle = ctypes.POINTER(BNNamedTypeReferenceBuilder)
NamedTypeReferenceClassEnum = ctypes.c_int
class BNNavigationHandler(ctypes.Structure):
pass
BNNavigationHandlerHandle = ctypes.POINTER(BNNavigationHandler)
class BNObjectDestructionCallbacks(ctypes.Structure):
pass
BNObjectDestructionCallbacksHandle = ctypes.POINTER(BNObjectDestructionCallbacks)
class BNOffsetWithConfidence(ctypes.Structure):
pass
BNOffsetWithConfidenceHandle = ctypes.POINTER(BNOffsetWithConfidence)
class BNParameterVariablesWithConfidence(ctypes.Structure):
pass
BNParameterVariablesWithConfidenceHandle = ctypes.POINTER(BNParameterVariablesWithConfidence)
class BNParsedType(ctypes.Structure):
pass
BNParsedTypeHandle = ctypes.POINTER(BNParsedType)
class BNPerformanceInfo(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNPerformanceInfoHandle = ctypes.POINTER(BNPerformanceInfo)
class BNPlatform(ctypes.Structure):
pass
BNPlatformHandle = ctypes.POINTER(BNPlatform)
class BNPluginCommand(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
@property
def description(self):
return pyNativeStr(self._description)
@description.setter
def description(self, value):
self._description = cstr(value)
BNPluginCommandHandle = ctypes.POINTER(BNPluginCommand)
PluginCommandTypeEnum = ctypes.c_int
PluginLoadOrderEnum = ctypes.c_int
PluginOriginEnum = ctypes.c_int
PluginStatusEnum = ctypes.c_int
PluginTypeEnum = ctypes.c_int
class BNPoint(ctypes.Structure):
pass
BNPointHandle = ctypes.POINTER(BNPoint)
PointerSuffixEnum = ctypes.c_int
class BNPossibleValueSet(ctypes.Structure):
pass
BNPossibleValueSetHandle = ctypes.POINTER(BNPossibleValueSet)
class BNProject(ctypes.Structure):
pass
BNProjectHandle = ctypes.POINTER(BNProject)
class BNProjectFile(ctypes.Structure):
pass
BNProjectFileHandle = ctypes.POINTER(BNProjectFile)
class BNProjectFolder(ctypes.Structure):
pass
BNProjectFolderHandle = ctypes.POINTER(BNProjectFolder)
class BNProjectNotification(ctypes.Structure):
pass
BNProjectNotificationHandle = ctypes.POINTER(BNProjectNotification)
class BNQualifiedName(ctypes.Structure):
@property
def join(self):
return pyNativeStr(self._join)
@join.setter
def join(self, value):
self._join = cstr(value)
BNQualifiedNameHandle = ctypes.POINTER(BNQualifiedName)
class BNQualifiedNameAndType(ctypes.Structure):
pass
BNQualifiedNameAndTypeHandle = ctypes.POINTER(BNQualifiedNameAndType)
class BNQualifiedNameList(ctypes.Structure):
pass
BNQualifiedNameListHandle = ctypes.POINTER(BNQualifiedNameList)
class BNQualifiedNameTypeAndId(ctypes.Structure):
@property
def id(self):
return pyNativeStr(self._id)
@id.setter
def id(self, value):
self._id = cstr(value)
BNQualifiedNameTypeAndIdHandle = ctypes.POINTER(BNQualifiedNameTypeAndId)
class BNRange(ctypes.Structure):
pass
BNRangeHandle = ctypes.POINTER(BNRange)
class BNReferenceSource(ctypes.Structure):
pass
BNReferenceSourceHandle = ctypes.POINTER(BNReferenceSource)
ReferenceTypeEnum = ctypes.c_int
class BNRegisterInfo(ctypes.Structure):
pass
BNRegisterInfoHandle = ctypes.POINTER(BNRegisterInfo)
class BNRegisterOrConstant(ctypes.Structure):
pass
BNRegisterOrConstantHandle = ctypes.POINTER(BNRegisterOrConstant)
class BNRegisterSetWithConfidence(ctypes.Structure):
pass
BNRegisterSetWithConfidenceHandle = ctypes.POINTER(BNRegisterSetWithConfidence)
class BNRegisterStackAdjustment(ctypes.Structure):
pass
BNRegisterStackAdjustmentHandle = ctypes.POINTER(BNRegisterStackAdjustment)
class BNRegisterStackInfo(ctypes.Structure):
pass
BNRegisterStackInfoHandle = ctypes.POINTER(BNRegisterStackInfo)
class BNRegisterValue(ctypes.Structure):
pass
BNRegisterValueHandle = ctypes.POINTER(BNRegisterValue)
RegisterValueTypeEnum = ctypes.c_int
class BNRegisterValueWithConfidence(ctypes.Structure):
pass
BNRegisterValueWithConfidenceHandle = ctypes.POINTER(BNRegisterValueWithConfidence)
class BNRelocation(ctypes.Structure):
pass
BNRelocationHandle = ctypes.POINTER(BNRelocation)
class BNRelocationHandler(ctypes.Structure):
pass
BNRelocationHandlerHandle = ctypes.POINTER(BNRelocationHandler)
class BNRelocationInfo(ctypes.Structure):
pass
BNRelocationInfoHandle = ctypes.POINTER(BNRelocationInfo)
RelocationTypeEnum = ctypes.c_int
class BNRepoPlugin(ctypes.Structure):
pass
BNRepoPluginHandle = ctypes.POINTER(BNRepoPlugin)
class BNReportCollection(ctypes.Structure):
pass
BNReportCollectionHandle = ctypes.POINTER(BNReportCollection)
ReportTypeEnum = ctypes.c_int
class BNRepository(ctypes.Structure):
pass
BNRepositoryHandle = ctypes.POINTER(BNRepository)
class BNRepositoryManager(ctypes.Structure):
pass
BNRepositoryManagerHandle = ctypes.POINTER(BNRepositoryManager)
SaveOptionEnum = ctypes.c_int
class BNSaveSettings(ctypes.Structure):
pass
BNSaveSettingsHandle = ctypes.POINTER(BNSaveSettings)
class BNScriptingInstance(ctypes.Structure):
pass
BNScriptingInstanceHandle = ctypes.POINTER(BNScriptingInstance)
class BNScriptingInstanceCallbacks(ctypes.Structure):
pass
BNScriptingInstanceCallbacksHandle = ctypes.POINTER(BNScriptingInstanceCallbacks)
class BNScriptingOutputListener(ctypes.Structure):
pass
BNScriptingOutputListenerHandle = ctypes.POINTER(BNScriptingOutputListener)
class BNScriptingProvider(ctypes.Structure):
pass
BNScriptingProviderHandle = ctypes.POINTER(BNScriptingProvider)
class BNScriptingProviderCallbacks(ctypes.Structure):
pass
BNScriptingProviderCallbacksHandle = ctypes.POINTER(BNScriptingProviderCallbacks)
ScriptingProviderExecuteResultEnum = ctypes.c_int
ScriptingProviderInputReadyStateEnum = ctypes.c_int
class BNSecretsProvider(ctypes.Structure):
pass
BNSecretsProviderHandle = ctypes.POINTER(BNSecretsProvider)
class BNSecretsProviderCallbacks(ctypes.Structure):
pass
BNSecretsProviderCallbacksHandle = ctypes.POINTER(BNSecretsProviderCallbacks)
class BNSection(ctypes.Structure):
pass
BNSectionHandle = ctypes.POINTER(BNSection)
SectionSemanticsEnum = ctypes.c_int
class BNSegment(ctypes.Structure):
pass
BNSegmentHandle = ctypes.POINTER(BNSegment)
SegmentFlagEnum = ctypes.c_int
class BNSettings(ctypes.Structure):
pass
BNSettingsHandle = ctypes.POINTER(BNSettings)
SettingsScopeEnum = ctypes.c_int
class BNSnapshot(ctypes.Structure):
pass
BNSnapshotHandle = ctypes.POINTER(BNSnapshot)
class BNStackVariableReference(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNStackVariableReferenceHandle = ctypes.POINTER(BNStackVariableReference)
class BNStringReference(ctypes.Structure):
pass
BNStringReferenceHandle = ctypes.POINTER(BNStringReference)
StringTypeEnum = ctypes.c_int
class BNStructure(ctypes.Structure):
pass
BNStructureHandle = ctypes.POINTER(BNStructure)
class BNStructureBuilder(ctypes.Structure):
pass
BNStructureBuilderHandle = ctypes.POINTER(BNStructureBuilder)
class BNStructureMember(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNStructureMemberHandle = ctypes.POINTER(BNStructureMember)
StructureVariantEnum = ctypes.c_int
class BNSymbol(ctypes.Structure):
pass
BNSymbolHandle = ctypes.POINTER(BNSymbol)
SymbolBindingEnum = ctypes.c_int
class BNSymbolQueue(ctypes.Structure):
pass
BNSymbolQueueHandle = ctypes.POINTER(BNSymbolQueue)
SymbolTypeEnum = ctypes.c_int
SyncStatusEnum = ctypes.c_int
class BNSystemCallInfo(ctypes.Structure):
pass
BNSystemCallInfoHandle = ctypes.POINTER(BNSystemCallInfo)
class BNTag(ctypes.Structure):
pass
BNTagHandle = ctypes.POINTER(BNTag)
class BNTagReference(ctypes.Structure):
pass
BNTagReferenceHandle = ctypes.POINTER(BNTagReference)
TagReferenceTypeEnum = ctypes.c_int
class BNTagType(ctypes.Structure):
pass
BNTagTypeHandle = ctypes.POINTER(BNTagType)
TagTypeTypeEnum = ctypes.c_int
class BNTemporaryFile(ctypes.Structure):
pass
BNTemporaryFileHandle = ctypes.POINTER(BNTemporaryFile)
ThemeColorEnum = ctypes.c_int
TokenEscapingTypeEnum = ctypes.c_int
class BNTransform(ctypes.Structure):
pass
BNTransformHandle = ctypes.POINTER(BNTransform)
class BNTransformParameter(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNTransformParameterHandle = ctypes.POINTER(BNTransformParameter)
class BNTransformParameterInfo(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
@property
def longName(self):
return pyNativeStr(self._longName)
@longName.setter
def longName(self, value):
self._longName = cstr(value)
BNTransformParameterInfoHandle = ctypes.POINTER(BNTransformParameterInfo)
TransformTypeEnum = ctypes.c_int
class BNType(ctypes.Structure):
pass
BNTypeHandle = ctypes.POINTER(BNType)
class BNTypeArchive(ctypes.Structure):
pass
BNTypeArchiveHandle = ctypes.POINTER(BNTypeArchive)
class BNTypeArchiveNotification(ctypes.Structure):
pass
BNTypeArchiveNotificationHandle = ctypes.POINTER(BNTypeArchiveNotification)
class BNTypeBuilder(ctypes.Structure):
pass
BNTypeBuilderHandle = ctypes.POINTER(BNTypeBuilder)
TypeClassEnum = ctypes.c_int
class BNTypeContainer(ctypes.Structure):
pass
BNTypeContainerHandle = ctypes.POINTER(BNTypeContainer)
TypeContainerTypeEnum = ctypes.c_int
class BNTypeContext(ctypes.Structure):
pass
BNTypeContextHandle = ctypes.POINTER(BNTypeContext)
class BNTypeDefinitionLine(ctypes.Structure):
@property
def rootTypeName(self):
return pyNativeStr(self._rootTypeName)
@rootTypeName.setter
def rootTypeName(self, value):
self._rootTypeName = cstr(value)
BNTypeDefinitionLineHandle = ctypes.POINTER(BNTypeDefinitionLine)
TypeDefinitionLineTypeEnum = ctypes.c_int
class BNTypeField(ctypes.Structure):
pass
BNTypeFieldHandle = ctypes.POINTER(BNTypeField)
class BNTypeFieldReference(ctypes.Structure):
pass
BNTypeFieldReferenceHandle = ctypes.POINTER(BNTypeFieldReference)
class BNTypeFieldReferenceSizeInfo(ctypes.Structure):
pass
BNTypeFieldReferenceSizeInfoHandle = ctypes.POINTER(BNTypeFieldReferenceSizeInfo)
class BNTypeFieldReferenceTypeInfo(ctypes.Structure):
pass
BNTypeFieldReferenceTypeInfoHandle = ctypes.POINTER(BNTypeFieldReferenceTypeInfo)
class BNTypeLibrary(ctypes.Structure):
pass
BNTypeLibraryHandle = ctypes.POINTER(BNTypeLibrary)
class BNTypeLibraryMapping(ctypes.Structure):
pass
BNTypeLibraryMappingHandle = ctypes.POINTER(BNTypeLibraryMapping)
class BNTypeParser(ctypes.Structure):
pass
BNTypeParserHandle = ctypes.POINTER(BNTypeParser)
class BNTypeParserCallbacks(ctypes.Structure):
pass
BNTypeParserCallbacksHandle = ctypes.POINTER(BNTypeParserCallbacks)
class BNTypeParserError(ctypes.Structure):
@property
def message(self):
return pyNativeStr(self._message)
@message.setter
def message(self, value):
self._message = cstr(value)
@property
def fileName(self):
return pyNativeStr(self._fileName)
@fileName.setter
def fileName(self, value):
self._fileName = cstr(value)
BNTypeParserErrorHandle = ctypes.POINTER(BNTypeParserError)
TypeParserErrorSeverityEnum = ctypes.c_int
TypeParserOptionEnum = ctypes.c_int
class BNTypeParserResult(ctypes.Structure):
pass
BNTypeParserResultHandle = ctypes.POINTER(BNTypeParserResult)
class BNTypePrinter(ctypes.Structure):
pass
BNTypePrinterHandle = ctypes.POINTER(BNTypePrinter)
class BNTypePrinterCallbacks(ctypes.Structure):
pass
BNTypePrinterCallbacksHandle = ctypes.POINTER(BNTypePrinterCallbacks)
class BNTypeReferenceSource(ctypes.Structure):
pass
BNTypeReferenceSourceHandle = ctypes.POINTER(BNTypeReferenceSource)
TypeReferenceTypeEnum = ctypes.c_int
class BNTypeWithConfidence(ctypes.Structure):
pass
BNTypeWithConfidenceHandle = ctypes.POINTER(BNTypeWithConfidence)
class BNUndoAction(ctypes.Structure):
@property
def summaryText(self):
return pyNativeStr(self._summaryText)
@summaryText.setter
def summaryText(self, value):
self._summaryText = cstr(value)
BNUndoActionHandle = ctypes.POINTER(BNUndoAction)
class BNUndoEntry(ctypes.Structure):
@property
def id(self):
return pyNativeStr(self._id)
@id.setter
def id(self, value):
self._id = cstr(value)
BNUndoEntryHandle = ctypes.POINTER(BNUndoEntry)
class BNUpdateChannel(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
@property
def description(self):
return pyNativeStr(self._description)
@description.setter
def description(self, value):
self._description = cstr(value)
@property
def latestVersion(self):
return pyNativeStr(self._latestVersion)
@latestVersion.setter
def latestVersion(self, value):
self._latestVersion = cstr(value)
BNUpdateChannelHandle = ctypes.POINTER(BNUpdateChannel)
class BNUpdateChannelFullInfo(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
@property
def desc(self):
return pyNativeStr(self._desc)
@desc.setter
def desc(self, value):
self._desc = cstr(value)
@property
def latestVersion(self):
return pyNativeStr(self._latestVersion)
@latestVersion.setter
def latestVersion(self, value):
self._latestVersion = cstr(value)
BNUpdateChannelFullInfoHandle = ctypes.POINTER(BNUpdateChannelFullInfo)
UpdateResultEnum = ctypes.c_int
class BNUpdateVersion(ctypes.Structure):
@property
def version(self):
return pyNativeStr(self._version)
@version.setter
def version(self, value):
self._version = cstr(value)
@property
def notes(self):
return pyNativeStr(self._notes)
@notes.setter
def notes(self, value):
self._notes = cstr(value)
BNUpdateVersionHandle = ctypes.POINTER(BNUpdateVersion)
class BNUpdateVersionNew(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNUpdateVersionNewHandle = ctypes.POINTER(BNUpdateVersionNew)
class BNUser(ctypes.Structure):
pass
BNUserHandle = ctypes.POINTER(BNUser)
class BNUserVariableValue(ctypes.Structure):
pass
BNUserVariableValueHandle = ctypes.POINTER(BNUserVariableValue)
class BNValueRange(ctypes.Structure):
pass
BNValueRangeHandle = ctypes.POINTER(BNValueRange)
class BNVariable(ctypes.Structure):
pass
BNVariableHandle = ctypes.POINTER(BNVariable)
class BNVariableNameAndType(ctypes.Structure):
@property
def name(self):
return pyNativeStr(self._name)
@name.setter
def name(self, value):
self._name = cstr(value)
BNVariableNameAndTypeHandle = ctypes.POINTER(BNVariableNameAndType)
class BNVariableReferenceSource(ctypes.Structure):
pass
BNVariableReferenceSourceHandle = ctypes.POINTER(BNVariableReferenceSource)
VariableSourceTypeEnum = ctypes.c_int
class BNVersionInfo(ctypes.Structure):
@property
def channel(self):
return pyNativeStr(self._channel)
@channel.setter
def channel(self, value):
self._channel = cstr(value)
BNVersionInfoHandle = ctypes.POINTER(BNVersionInfo)
class BNWebsocketClient(ctypes.Structure):
pass
BNWebsocketClientHandle = ctypes.POINTER(BNWebsocketClient)
class BNWebsocketClientCallbacks(ctypes.Structure):
pass
BNWebsocketClientCallbacksHandle = ctypes.POINTER(BNWebsocketClientCallbacks)
class BNWebsocketClientOutputCallbacks(ctypes.Structure):
pass
BNWebsocketClientOutputCallbacksHandle = ctypes.POINTER(BNWebsocketClientOutputCallbacks)
class BNWebsocketProvider(ctypes.Structure):
pass
BNWebsocketProviderHandle = ctypes.POINTER(BNWebsocketProvider)
class BNWebsocketProviderCallbacks(ctypes.Structure):
pass
BNWebsocketProviderCallbacksHandle = ctypes.POINTER(BNWebsocketProviderCallbacks)
class BNWorkflow(ctypes.Structure):
pass
BNWorkflowHandle = ctypes.POINTER(BNWorkflow)
PluginLoadStatusEnum = ctypes.c_int
# Structure definitions
BNActiveAnalysisInfo._fields_ = [
("func", ctypes.POINTER(BNFunction)),
("analysisTime", ctypes.c_ulonglong),
("updateCount", ctypes.c_ulonglong),
("submitCount", ctypes.c_ulonglong),
]
BNAddressRange._fields_ = [
("start", ctypes.c_ulonglong),
("end", ctypes.c_ulonglong),
]
BNAnalysisInfo._fields_ = [
("state", AnalysisStateEnum),
("analysisTime", ctypes.c_ulonglong),
("activeInfo", ctypes.POINTER(BNActiveAnalysisInfo)),
("count", ctypes.c_ulonglong),
]
BNAnalysisParameters._fields_ = [
("maxAnalysisTime", ctypes.c_ulonglong),
("maxFunctionSize", ctypes.c_ulonglong),
("maxFunctionAnalysisTime", ctypes.c_ulonglong),
("maxFunctionUpdateCount", ctypes.c_ulonglong),
("maxFunctionSubmitCount", ctypes.c_ulonglong),
("suppressNewAutoFunctionAnalysis", ctypes.c_bool),
("mode", AnalysisModeEnum),
("alwaysAnalyzeIndirectBranches", ctypes.c_bool),
("advancedAnalysisCacheSize", ctypes.c_ulonglong),
]
BNAnalysisProgress._fields_ = [
("state", AnalysisStateEnum),
("count", ctypes.c_ulonglong),
("total", ctypes.c_ulonglong),
]
BNArchitectureAndAddress._fields_ = [
("arch", ctypes.POINTER(BNArchitecture)),
("address", ctypes.c_ulonglong),
]
BNBaseStructure._fields_ = [
("type", ctypes.POINTER(BNNamedTypeReference)),
("offset", ctypes.c_ulonglong),
("width", ctypes.c_ulonglong),
]
BNBasicBlockEdge._fields_ = [
("type", BranchTypeEnum),
("target", ctypes.POINTER(BNBasicBlock)),
("backEdge", ctypes.c_bool),
("fallThrough", ctypes.c_bool),
]
BNBinaryDataNotification._fields_ = [
("context", ctypes.c_void_p),
("notificationBarrier", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("dataWritten", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("dataInserted", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("dataRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("functionAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction))),
("functionRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction))),
("functionUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction))),
("functionUpdateRequested", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction))),
("dataVariableAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNDataVariable))),
("dataVariableRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNDataVariable))),
("dataVariableUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNDataVariable))),
("dataMetadataUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong)),
("tagTypeUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNTagType))),
("tagAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNTagReference))),
("tagRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNTagReference))),
("tagUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNTagReference))),
("symbolAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSymbol))),
("symbolRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSymbol))),
("symbolUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSymbol))),
("stringFound", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), StringTypeEnum, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("stringRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), StringTypeEnum, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("typeDefined", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNQualifiedName), ctypes.POINTER(BNType))),
("typeUndefined", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNQualifiedName), ctypes.POINTER(BNType))),
("typeReferenceChanged", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNQualifiedName), ctypes.POINTER(BNType))),
("typeFieldReferenceChanged", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNQualifiedName), ctypes.c_ulonglong)),
("segmentAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSegment))),
("segmentRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSegment))),
("segmentUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSegment))),
("sectionAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSection))),
("sectionRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSection))),
("sectionUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNSection))),
("componentNameUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.POINTER(BNComponent))),
("componentAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent))),
("componentMoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent), ctypes.POINTER(BNComponent), ctypes.POINTER(BNComponent))),
("componentRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent), ctypes.POINTER(BNComponent))),
("componentFunctionAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent), ctypes.POINTER(BNFunction))),
("componentFunctionRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent), ctypes.POINTER(BNFunction))),
("componentDataVariableAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent), ctypes.POINTER(BNDataVariable))),
("componentDataVariableRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNComponent), ctypes.POINTER(BNDataVariable))),
("externalLibraryAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNExternalLibrary))),
("externalLibraryUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNExternalLibrary))),
("externalLibraryRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNExternalLibrary))),
("externalLocationAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNExternalLocation))),
("externalLocationUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNExternalLocation))),
("externalLocationRemoved", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNExternalLocation))),
("typeArchiveAttached", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.c_char_p)),
("typeArchiveDetached", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.c_char_p)),
("typeArchiveConnected", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNTypeArchive))),
("typeArchiveDisconnected", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNTypeArchive))),
]
BNBinaryViewEvent._fields_ = [
("type", BinaryViewEventTypeEnum),
("callback", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("ctx", ctypes.c_void_p),
]
BNBoolWithConfidence._fields_ = [
("value", ctypes.c_bool),
("confidence", ctypes.c_ubyte),
]
BNCallingConventionWithConfidence._fields_ = [
("convention", ctypes.POINTER(BNCallingConvention)),
("confidence", ctypes.c_ubyte),
]
BNConstantReference._fields_ = [
("value", ctypes.c_longlong),
("size", ctypes.c_ulonglong),
("pointer", ctypes.c_bool),
("intermediate", ctypes.c_bool),
]
BNCustomArchitecture._fields_ = [
("context", ctypes.c_void_p),
("init", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNArchitecture))),
("getEndianness", ctypes.CFUNCTYPE(EndiannessEnum, ctypes.c_void_p)),
("getAddressSize", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getDefaultIntegerSize", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getInstructionAlignment", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getMaxInstructionLength", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getOpcodeDisplayLength", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getAssociatedArchitectureByAddress", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getInstructionInfo", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong, ctypes.POINTER(BNInstructionInfo))),
("getInstructionText", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_ulonglong), ctypes.POINTER(ctypes.POINTER(BNInstructionTextToken)), ctypes.POINTER(ctypes.c_ulonglong))),
("freeInstructionText", ctypes.CFUNCTYPE(None, ctypes.POINTER(BNInstructionTextToken), ctypes.c_ulonglong)),
("getInstructionLowLevelIL", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_ulonglong), ctypes.POINTER(BNLowLevelILFunction))),
("getRegisterName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getFlagName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getFlagWriteTypeName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getSemanticFlagClassName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getSemanticFlagGroupName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getFullWidthRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getAllRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getAllFlags", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getAllFlagWriteTypes", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getAllSemanticFlagClasses", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getAllSemanticFlagGroups", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getFlagRole", ctypes.CFUNCTYPE(FlagRoleEnum, ctypes.c_void_p, ctypes.c_uint, ctypes.c_uint)),
("getFlagsRequiredForFlagCondition", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, LowLevelILFlagConditionEnum, ctypes.c_uint, ctypes.POINTER(ctypes.c_ulonglong))),
("getFlagsRequiredForSemanticFlagGroup", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(ctypes.c_ulonglong))),
("getFlagConditionsForSemanticFlagGroup", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(ctypes.c_ulonglong))),
("freeFlagConditionsForSemanticFlagGroup", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNFlagConditionForSemanticClass))),
("getFlagsWrittenByFlagWriteType", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(ctypes.c_ulonglong))),
("getSemanticClassForFlagWriteType", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p, ctypes.c_uint)),
("getFlagWriteLowLevelIL", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, LowLevelILOperationEnum, ctypes.c_ulonglong, ctypes.c_uint, ctypes.c_uint, ctypes.POINTER(BNRegisterOrConstant), ctypes.c_ulonglong, ctypes.POINTER(BNLowLevelILFunction))),
("getFlagConditionLowLevelIL", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, LowLevelILFlagConditionEnum, ctypes.c_uint, ctypes.POINTER(BNLowLevelILFunction))),
("getSemanticFlagGroupLowLevelIL", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(BNLowLevelILFunction))),
("freeRegisterList", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(ctypes.c_uint))),
("getRegisterInfo", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(BNRegisterInfo))),
("getStackPointerRegister", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p)),
("getLinkRegister", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p)),
("getGlobalRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getSystemRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getRegisterStackName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getAllRegisterStacks", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getRegisterStackInfo", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(BNRegisterStackInfo))),
("getIntrinsicClass", ctypes.CFUNCTYPE(IntrinsicClassEnum, ctypes.c_void_p, ctypes.c_uint)),
("getIntrinsicName", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint)),
("getAllIntrinsics", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getIntrinsicInputs", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(ctypes.c_ulonglong))),
("freeNameAndTypeList", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNNameAndType), ctypes.c_ulonglong)),
("getIntrinsicOutputs", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(ctypes.c_ulonglong))),
("freeTypeList", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeWithConfidence), ctypes.c_ulonglong)),
("canAssemble", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("assemble", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_ulonglong, ctypes.POINTER(BNDataBuffer), ctypes.POINTER(ctypes.c_char_p))),
("isNeverBranchPatchAvailable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("isAlwaysBranchPatchAvailable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("isInvertBranchPatchAvailable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("isSkipAndReturnZeroPatchAvailable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("isSkipAndReturnValuePatchAvailable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("convertToNop", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("alwaysBranch", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("invertBranch", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("skipAndReturnValue", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong, ctypes.c_ulonglong)),
]
BNCustomBinaryView._fields_ = [
("context", ctypes.c_void_p),
("init", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("freeObject", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("externalRefTaken", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("externalRefReleased", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("read", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("write", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong)),
("insert", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong)),
("remove", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("getModification", ctypes.CFUNCTYPE(ModificationStatusEnum, ctypes.c_void_p, ctypes.c_ulonglong)),
("isValidOffset", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong)),
("isOffsetReadable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong)),
("isOffsetWritable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong)),
("isOffsetExecutable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong)),
("isOffsetBackedByFile", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong)),
("getNextValidOffset", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong)),
("getStart", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getLength", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("getEntryPoint", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("isExecutable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("getDefaultEndianness", ctypes.CFUNCTYPE(EndiannessEnum, ctypes.c_void_p)),
("isRelocatable", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("getAddressSize", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("save", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNFileAccessor))),
]
BNCustomBinaryViewType._fields_ = [
("context", ctypes.c_void_p),
("create", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("parse", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("isValidForData", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("isDeprecated", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("getLoadSettingsForData", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
]
BNCustomCallingConvention._fields_ = [
("context", ctypes.c_void_p),
("freeObject", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("getCallerSavedRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getCalleeSavedRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getIntegerArgumentRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getFloatArgumentRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("freeRegisterList", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(ctypes.c_uint))),
("areArgumentRegistersSharedIndex", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("isStackReservedForArgumentRegisters", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("isStackAdjustedOnReturn", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("isEligibleForHeuristics", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("getIntegerReturnValueRegister", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p)),
("getHighIntegerReturnValueRegister", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p)),
("getFloatReturnValueRegister", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p)),
("getGlobalPointerRegister", ctypes.CFUNCTYPE(ctypes.c_uint, ctypes.c_void_p)),
("getImplicitlyDefinedRegisters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("getIncomingRegisterValue", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(BNFunction), ctypes.POINTER(BNRegisterValue))),
("getIncomingFlagValue", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_uint, ctypes.POINTER(BNFunction), ctypes.POINTER(BNRegisterValue))),
("getIncomingVariableForParameterVariable", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNVariable), ctypes.POINTER(BNFunction), ctypes.POINTER(BNVariable))),
("getParameterVariableForIncomingVariable", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNVariable), ctypes.POINTER(BNFunction), ctypes.POINTER(BNVariable))),
("areArgumentRegistersUsedForVarArgs", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
]
BNCustomDataRenderer._fields_ = [
("context", ctypes.c_void_p),
("freeObject", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("isValidForData", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.POINTER(BNType), ctypes.POINTER(BNTypeContext), ctypes.c_ulonglong)),
("getLinesForData", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.POINTER(BNType), ctypes.POINTER(BNInstructionTextToken), ctypes.c_ulonglong, ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_ulonglong), ctypes.POINTER(BNTypeContext), ctypes.c_ulonglong)),
("freeLines", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNDisassemblyTextLine), ctypes.c_ulonglong)),
]
BNCustomFlowGraph._fields_ = [
("context", ctypes.c_void_p),
("prepareForLayout", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("populateNodes", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("completeLayout", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("update", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)),
("freeObject", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("externalRefTaken", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("externalRefReleased", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
]
BNCustomRelocationHandler._fields_ = [
("context", ctypes.c_void_p),
("freeObject", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("getRelocationInfo", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNArchitecture), ctypes.POINTER(BNRelocationInfo), ctypes.c_ulonglong)),
("applyRelocation", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNArchitecture), ctypes.POINTER(BNRelocation), ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong)),
("getOperandForExternalRelocation", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_ulonglong, ctypes.POINTER(BNLowLevelILFunction), ctypes.POINTER(BNRelocation))),
]
BNCustomTransform._fields_ = [
("context", ctypes.c_void_p),
("getParameters", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong))),
("freeParameters", ctypes.CFUNCTYPE(None, ctypes.POINTER(BNTransformParameterInfo), ctypes.c_ulonglong)),
("decode", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNDataBuffer), ctypes.POINTER(BNDataBuffer), ctypes.POINTER(BNTransformParameter), ctypes.c_ulonglong)),
("encode", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNDataBuffer), ctypes.POINTER(BNDataBuffer), ctypes.POINTER(BNTransformParameter), ctypes.c_ulonglong)),
]
BNDataVariable._fields_ = [
("address", ctypes.c_ulonglong),
("type", ctypes.POINTER(BNType)),
("autoDiscovered", ctypes.c_bool),
("typeConfidence", ctypes.c_ubyte),
]
BNDataVariableAndName._fields_ = [
("address", ctypes.c_ulonglong),
("type", ctypes.POINTER(BNType)),
("_name", ctypes.c_char_p),
("autoDiscovered", ctypes.c_bool),
("typeConfidence", ctypes.c_ubyte),
]
BNDataVariableAndNameAndDebugParser._fields_ = [
("address", ctypes.c_ulonglong),
("type", ctypes.POINTER(BNType)),
("_name", ctypes.c_char_p),
("_parser", ctypes.c_char_p),
("autoDiscovered", ctypes.c_bool),
("typeConfidence", ctypes.c_ubyte),
]
BNDebugFunctionInfo._fields_ = [
("_shortName", ctypes.c_char_p),
("_fullName", ctypes.c_char_p),
("_rawName", ctypes.c_char_p),
("address", ctypes.c_ulonglong),
("type", ctypes.POINTER(BNType)),
("platform", ctypes.POINTER(BNPlatform)),
("components", ctypes.POINTER(ctypes.c_char_p)),
("componentN", ctypes.c_ulonglong),
]
BNDisassemblyTextLineTypeInfo._fields_ = [
("hasTypeInfo", ctypes.c_bool),
("parentType", ctypes.POINTER(BNType)),
("fieldIndex", ctypes.c_ulonglong),
("offset", ctypes.c_ulonglong),
]
BNDownloadInstanceCallbacks._fields_ = [
("context", ctypes.c_void_p),
("destroyInstance", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("performRequest", ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_char_p)),
("performCustomRequest", ctypes.CFUNCTYPE(ctypes.c_int, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.POINTER(BNDownloadInstanceResponse)))),
("freeResponse", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNDownloadInstanceResponse))),
]
BNDownloadInstanceInputOutputCallbacks._fields_ = [
("readCallback", ctypes.CFUNCTYPE(ctypes.c_longlong, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_void_p)),
("readContext", ctypes.c_void_p),
("writeCallback", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_void_p)),
("writeContext", ctypes.c_void_p),
("progressCallback", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("progressContext", ctypes.c_void_p),
]
BNDownloadInstanceOutputCallbacks._fields_ = [
("writeCallback", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_void_p)),
("writeContext", ctypes.c_void_p),
("progressCallback", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("progressContext", ctypes.c_void_p),
]
BNDownloadInstanceResponse._fields_ = [
("statusCode", ctypes.c_ushort),
("headerCount", ctypes.c_ulonglong),
("headerKeys", ctypes.POINTER(ctypes.c_char_p)),
("headerValues", ctypes.POINTER(ctypes.c_char_p)),
]
BNDownloadProviderCallbacks._fields_ = [
("context", ctypes.c_void_p),
("createInstance", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)),
]
BNEdgeStyle._fields_ = [
("style", EdgePenStyleEnum),
("width", ctypes.c_ulonglong),
("color", ThemeColorEnum),
]
BNEnterpriseServerCallbacks._fields_ = [
("context", ctypes.c_void_p),
("licenseStatusChanged", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_bool)),
]
BNEnumerationMember._fields_ = [
("_name", ctypes.c_char_p),
("value", ctypes.c_ulonglong),
("isDefault", ctypes.c_bool),
]
BNFileAccessor._fields_ = [
("context", ctypes.c_void_p),
("getLength", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("read", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("write", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_void_p, ctypes.c_ulonglong)),
]
BNFlagConditionForSemanticClass._fields_ = [
("semanticClass", ctypes.c_uint),
("condition", LowLevelILFlagConditionEnum),
]
BNFlowGraphEdge._fields_ = [
("type", BranchTypeEnum),
("target", ctypes.POINTER(BNFlowGraphNode)),
("points", ctypes.POINTER(BNPoint)),
("pointCount", ctypes.c_ulonglong),
("backEdge", ctypes.c_bool),
("style", BNEdgeStyle),
]
BNFormInputField._fields_ = [
("type", FormInputFieldTypeEnum),
("_prompt", ctypes.c_char_p),
("view", ctypes.POINTER(BNBinaryView)),
("currentAddress", ctypes.c_ulonglong),
("choices", ctypes.POINTER(ctypes.c_char_p)),
("count", ctypes.c_ulonglong),
("_ext", ctypes.c_char_p),
("_defaultName", ctypes.c_char_p),
("intResult", ctypes.c_longlong),
("addressResult", ctypes.c_ulonglong),
("_stringResult", ctypes.c_char_p),
("indexResult", ctypes.c_ulonglong),
("hasDefault", ctypes.c_bool),
("intDefault", ctypes.c_longlong),
("addressDefault", ctypes.c_ulonglong),
("_stringDefault", ctypes.c_char_p),
("indexDefault", ctypes.c_ulonglong),
]
BNFunctionRecognizer._fields_ = [
("context", ctypes.c_void_p),
("recognizeLowLevelIL", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction), ctypes.POINTER(BNLowLevelILFunction))),
("recognizeMediumLevelIL", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction), ctypes.POINTER(BNMediumLevelILFunction))),
]
BNHighLevelILInstruction._fields_ = [
("operation", HighLevelILOperationEnum),
("attributes", ctypes.c_uint),
("sourceOperand", ctypes.c_uint),
("size", ctypes.c_ulonglong),
("operands", ctypes.c_ulonglong * 5),
("address", ctypes.c_ulonglong),
("parent", ctypes.c_ulonglong),
]
BNHighlightColor._fields_ = [
("style", HighlightColorStyleEnum),
("color", HighlightStandardColorEnum),
("mixColor", HighlightStandardColorEnum),
("mix", ctypes.c_ubyte),
("r", ctypes.c_ubyte),
("g", ctypes.c_ubyte),
("b", ctypes.c_ubyte),
("alpha", ctypes.c_ubyte),
]
BNILBranchInstructionAndDependence._fields_ = [
("branch", ctypes.c_ulonglong),
("dependence", ILBranchDependenceEnum),
]
BNILIndexRange._fields_ = [
("start", ctypes.c_ulonglong),
("end", ctypes.c_ulonglong),
]
BNILReferenceSource._fields_ = [
("func", ctypes.POINTER(BNFunction)),
("arch", ctypes.POINTER(BNArchitecture)),
("addr", ctypes.c_ulonglong),
("type", FunctionGraphTypeEnum),
("exprId", ctypes.c_ulonglong),
]
BNIndirectBranchInfo._fields_ = [
("sourceArch", ctypes.POINTER(BNArchitecture)),
("sourceAddr", ctypes.c_ulonglong),
("destArch", ctypes.POINTER(BNArchitecture)),
("destAddr", ctypes.c_ulonglong),
("autoDefined", ctypes.c_bool),
]
BNInstructionInfo._fields_ = [
("length", ctypes.c_ulonglong),
("branchCount", ctypes.c_ulonglong),
("archTransitionByTargetAddr", ctypes.c_bool),
("branchDelay", ctypes.c_bool),
("branchType", BranchTypeEnum * 3),
("branchTarget", ctypes.c_ulonglong * 3),
("branchArch", ctypes.POINTER(BNArchitecture) * 3),
]
BNInstructionTextLine._fields_ = [
("tokens", ctypes.POINTER(BNInstructionTextToken)),
("count", ctypes.c_ulonglong),
]
BNInstructionTextToken._fields_ = [
("type", InstructionTextTokenTypeEnum),
("_text", ctypes.c_char_p),
("value", ctypes.c_ulonglong),
("width", ctypes.c_ulonglong),
("size", ctypes.c_ulonglong),
("operand", ctypes.c_ulonglong),
("context", InstructionTextTokenContextEnum),
("confidence", ctypes.c_ubyte),
("address", ctypes.c_ulonglong),
("typeNames", ctypes.POINTER(ctypes.c_char_p)),
("namesCount", ctypes.c_ulonglong),
("exprIndex", ctypes.c_ulonglong),
]
BNInteractionHandlerCallbacks._fields_ = [
("context", ctypes.c_void_p),
("showPlainTextReport", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.c_char_p)),
("showMarkdownReport", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p)),
("showHTMLReport", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p)),
("showGraphReport", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_char_p, ctypes.POINTER(BNFlowGraph))),
("showReportCollection", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char_p, ctypes.POINTER(BNReportCollection))),
("getTextLineInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_char_p), ctypes.c_char_p, ctypes.c_char_p)),
("getIntegerInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_longlong), ctypes.c_char_p, ctypes.c_char_p)),
("getAddressInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong), ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong)),
("getChoiceInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong), ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(ctypes.c_char_p), ctypes.c_ulonglong)),
("getLargeChoiceInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_ulonglong), ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(ctypes.c_char_p), ctypes.c_ulonglong)),
("getOpenFileNameInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_char_p), ctypes.c_char_p, ctypes.c_char_p)),
("getSaveFileNameInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_char_p), ctypes.c_char_p, ctypes.c_char_p, ctypes.c_char_p)),
("getDirectoryNameInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(ctypes.c_char_p), ctypes.c_char_p, ctypes.c_char_p)),
("getFormInput", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNFormInputField), ctypes.c_ulonglong, ctypes.c_char_p)),
("showMessageBox", ctypes.CFUNCTYPE(MessageBoxButtonResultEnum, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p, MessageBoxButtonSetEnum, MessageBoxIconEnum)),
("openUrl", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p)),
("runProgressDialog", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_bool, ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong), ctypes.c_void_p), ctypes.c_void_p)),
]
BNLinearViewObjectIdentifier._fields_ = [
("_name", ctypes.c_char_p),
("type", LinearViewObjectIdentifierTypeEnum),
("start", ctypes.c_ulonglong),
("end", ctypes.c_ulonglong),
]
BNLogListener._fields_ = [
("context", ctypes.c_void_p),
("log", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, LogLevelEnum, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_ulonglong)),
("close", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("getLogLevel", ctypes.CFUNCTYPE(LogLevelEnum, ctypes.c_void_p)),
]
BNLookupTableEntry._fields_ = [
("fromValues", ctypes.POINTER(ctypes.c_longlong)),
("fromCount", ctypes.c_ulonglong),
("toValue", ctypes.c_longlong),
]
BNLowLevelILInstruction._fields_ = [
("operation", LowLevelILOperationEnum),
("attributes", ctypes.c_uint),
("size", ctypes.c_ulonglong),
("flags", ctypes.c_uint),
("sourceOperand", ctypes.c_uint),
("operands", ctypes.c_ulonglong * 4),
("address", ctypes.c_ulonglong),
]
BNLowLevelILLabel._fields_ = [
("resolved", ctypes.c_bool),
("ref", ctypes.c_ulonglong),
("operand", ctypes.c_ulonglong),
]
BNMainThreadCallbacks._fields_ = [
("context", ctypes.c_void_p),
("addAction", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNMainThreadAction))),
]
BNMediumLevelILInstruction._fields_ = [
("operation", MediumLevelILOperationEnum),
("attributes", ctypes.c_uint),
("sourceOperand", ctypes.c_uint),
("size", ctypes.c_ulonglong),
("operands", ctypes.c_ulonglong * 5),
("address", ctypes.c_ulonglong),
]
BNMediumLevelILLabel._fields_ = [
("resolved", ctypes.c_bool),
("ref", ctypes.c_ulonglong),
("operand", ctypes.c_ulonglong),
]
BNMemoryUsageInfo._fields_ = [
("_name", ctypes.c_char_p),
("value", ctypes.c_ulonglong),
]
BNMetadataValueStore._fields_ = [
("size", ctypes.c_ulonglong),
("keys", ctypes.POINTER(ctypes.c_char_p)),
("values", ctypes.POINTER(ctypes.POINTER(BNMetadata))),
]
BNNameAndType._fields_ = [
("_name", ctypes.c_char_p),
("type", ctypes.POINTER(BNType)),
("typeConfidence", ctypes.c_ubyte),
]
BNNameList._fields_ = [
("name", ctypes.POINTER(ctypes.c_char_p)),
("_join", ctypes.c_char_p),
("nameCount", ctypes.c_ulonglong),
]
BNNameSpace._fields_ = [
("name", ctypes.POINTER(ctypes.c_char_p)),
("_join", ctypes.c_char_p),
("nameCount", ctypes.c_ulonglong),
]
BNNavigationHandler._fields_ = [
("context", ctypes.c_void_p),
("getCurrentView", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)),
("getCurrentOffset", ctypes.CFUNCTYPE(ctypes.c_ulonglong, ctypes.c_void_p)),
("navigate", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_ulonglong)),
]
BNObjectDestructionCallbacks._fields_ = [
("context", ctypes.c_void_p),
("destructBinaryView", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("destructFileMetadata", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNFileMetadata))),
("destructFunction", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNFunction))),
]
BNOffsetWithConfidence._fields_ = [
("value", ctypes.c_longlong),
("confidence", ctypes.c_ubyte),
]
BNParameterVariablesWithConfidence._fields_ = [
("vars", ctypes.POINTER(BNVariable)),
("count", ctypes.c_ulonglong),
("confidence", ctypes.c_ubyte),
]
BNPerformanceInfo._fields_ = [
("_name", ctypes.c_char_p),
("seconds", ctypes.c_double),
]
BNPluginCommand._fields_ = [
("_name", ctypes.c_char_p),
("_description", ctypes.c_char_p),
("type", PluginCommandTypeEnum),
("context", ctypes.c_void_p),
("defaultCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("addressCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong)),
("rangeCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("functionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction))),
("lowLevelILFunctionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNLowLevelILFunction))),
("lowLevelILInstructionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNLowLevelILFunction), ctypes.c_ulonglong)),
("mediumLevelILFunctionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNMediumLevelILFunction))),
("mediumLevelILInstructionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNMediumLevelILFunction), ctypes.c_ulonglong)),
("highLevelILFunctionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNHighLevelILFunction))),
("highLevelILInstructionCommand", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNHighLevelILFunction), ctypes.c_ulonglong)),
("defaultIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("addressIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong)),
("rangeIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.c_ulonglong, ctypes.c_ulonglong)),
("functionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNFunction))),
("lowLevelILFunctionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNLowLevelILFunction))),
("lowLevelILInstructionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNLowLevelILFunction), ctypes.c_ulonglong)),
("mediumLevelILFunctionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNMediumLevelILFunction))),
("mediumLevelILInstructionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNMediumLevelILFunction), ctypes.c_ulonglong)),
("highLevelILFunctionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNHighLevelILFunction))),
("highLevelILInstructionIsValid", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNBinaryView), ctypes.POINTER(BNHighLevelILFunction), ctypes.c_ulonglong)),
]
BNPoint._fields_ = [
("x", ctypes.c_float),
("y", ctypes.c_float),
]
BNPossibleValueSet._fields_ = [
("state", RegisterValueTypeEnum),
("value", ctypes.c_longlong),
("offset", ctypes.c_longlong),
("size", ctypes.c_ulonglong),
("ranges", ctypes.POINTER(BNValueRange)),
("valueSet", ctypes.POINTER(ctypes.c_longlong)),
("table", ctypes.POINTER(BNLookupTableEntry)),
("count", ctypes.c_ulonglong),
]
BNProjectNotification._fields_ = [
("context", ctypes.c_void_p),
("beforeOpenProject", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject))),
("afterOpenProject", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject))),
("beforeCloseProject", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject))),
("afterCloseProject", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject))),
("beforeProjectMetadataWritten", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.c_char_p, ctypes.POINTER(BNMetadata))),
("afterProjectMetadataWritten", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.c_char_p, ctypes.POINTER(BNMetadata))),
("beforeProjectFileCreated", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFile))),
("afterProjectFileCreated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFile))),
("beforeProjectFileUpdated", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFile))),
("afterProjectFileUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFile))),
("beforeProjectFileDeleted", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFile))),
("afterProjectFileDeleted", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFile))),
("beforeProjectFolderCreated", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFolder))),
("afterProjectFolderCreated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFolder))),
("beforeProjectFolderUpdated", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFolder))),
("afterProjectFolderUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFolder))),
("beforeProjectFolderDeleted", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFolder))),
("afterProjectFolderDeleted", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNProject), ctypes.POINTER(BNProjectFolder))),
]
BNQualifiedName._fields_ = [
("name", ctypes.POINTER(ctypes.c_char_p)),
("_join", ctypes.c_char_p),
("nameCount", ctypes.c_ulonglong),
]
BNQualifiedNameAndType._fields_ = [
("name", BNQualifiedName),
("type", ctypes.POINTER(BNType)),
]
BNQualifiedNameList._fields_ = [
("names", ctypes.POINTER(BNQualifiedName)),
("count", ctypes.c_ulonglong),
]
BNQualifiedNameTypeAndId._fields_ = [
("name", BNQualifiedName),
("_id", ctypes.c_char_p),
("type", ctypes.POINTER(BNType)),
]
BNRange._fields_ = [
("start", ctypes.c_ulonglong),
("end", ctypes.c_ulonglong),
]
BNReferenceSource._fields_ = [
("func", ctypes.POINTER(BNFunction)),
("arch", ctypes.POINTER(BNArchitecture)),
("addr", ctypes.c_ulonglong),
]
BNRegisterInfo._fields_ = [
("fullWidthRegister", ctypes.c_uint),
("offset", ctypes.c_ulonglong),
("size", ctypes.c_ulonglong),
("extend", ImplicitRegisterExtendEnum),
]
BNRegisterOrConstant._fields_ = [
("constant", ctypes.c_bool),
("reg", ctypes.c_uint),
("value", ctypes.c_ulonglong),
]
BNRegisterSetWithConfidence._fields_ = [
("regs", ctypes.POINTER(ctypes.c_uint)),
("count", ctypes.c_ulonglong),
("confidence", ctypes.c_ubyte),
]
BNRegisterStackAdjustment._fields_ = [
("regStack", ctypes.c_uint),
("adjustment", ctypes.c_int),
("confidence", ctypes.c_ubyte),
]
BNRegisterStackInfo._fields_ = [
("firstStorageReg", ctypes.c_uint),
("firstTopRelativeReg", ctypes.c_uint),
("storageCount", ctypes.c_uint),
("topRelativeCount", ctypes.c_uint),
("stackTopReg", ctypes.c_uint),
]
BNRegisterValue._fields_ = [
("state", RegisterValueTypeEnum),
("value", ctypes.c_longlong),
("offset", ctypes.c_longlong),
("size", ctypes.c_ulonglong),
]
BNRegisterValueWithConfidence._fields_ = [
("value", BNRegisterValue),
("confidence", ctypes.c_ubyte),
]
BNRelocationInfo._fields_ = [
("type", RelocationTypeEnum),
("pcRelative", ctypes.c_bool),
("baseRelative", ctypes.c_bool),
("base", ctypes.c_ulonglong),
("size", ctypes.c_ulonglong),
("truncateSize", ctypes.c_ulonglong),
("nativeType", ctypes.c_ulonglong),
("addend", ctypes.c_ulonglong),
("hasSign", ctypes.c_bool),
("implicitAddend", ctypes.c_bool),
("external", ctypes.c_bool),
("symbolIndex", ctypes.c_ulonglong),
("sectionIndex", ctypes.c_ulonglong),
("address", ctypes.c_ulonglong),
("target", ctypes.c_ulonglong),
("dataRelocation", ctypes.c_bool),
("relocationDataCache", ctypes.c_ubyte * 8),
("prev", ctypes.POINTER(BNRelocationInfo)),
("next", ctypes.POINTER(BNRelocationInfo)),
]
BNScriptingInstanceCallbacks._fields_ = [
("context", ctypes.c_void_p),
("destroyInstance", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("externalRefTaken", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("externalRefReleased", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("executeScriptInput", ctypes.CFUNCTYPE(ScriptingProviderExecuteResultEnum, ctypes.c_void_p, ctypes.c_char_p)),
("executeScriptInputFromFilename", ctypes.CFUNCTYPE(ScriptingProviderExecuteResultEnum, ctypes.c_void_p, ctypes.c_char_p)),
("cancelScriptInput", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("releaseBinaryView", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("setCurrentBinaryView", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBinaryView))),
("setCurrentFunction", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNFunction))),
("setCurrentBasicBlock", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNBasicBlock))),
("setCurrentAddress", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong)),
("setCurrentSelection", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong)),
("completeInput", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_ulonglong)),
("stop", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
]
BNScriptingOutputListener._fields_ = [
("context", ctypes.c_void_p),
("output", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char_p)),
("warning", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char_p)),
("error", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char_p)),
("inputReadyStateChanged", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ScriptingProviderInputReadyStateEnum)),
]
BNScriptingProviderCallbacks._fields_ = [
("context", ctypes.c_void_p),
("createInstance", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)),
("loadModule", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.c_bool)),
("installModules", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p)),
]
BNSecretsProviderCallbacks._fields_ = [
("context", ctypes.c_void_p),
("hasData", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p)),
("getData", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p, ctypes.c_char_p)),
("storeData", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p)),
("deleteData", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p)),
]
BNStackVariableReference._fields_ = [
("sourceOperand", ctypes.c_uint),
("typeConfidence", ctypes.c_ubyte),
("type", ctypes.POINTER(BNType)),
("_name", ctypes.c_char_p),
("varIdentifier", ctypes.c_ulonglong),
("referencedOffset", ctypes.c_longlong),
("size", ctypes.c_ulonglong),
]
BNStringReference._fields_ = [
("type", StringTypeEnum),
("start", ctypes.c_ulonglong),
("length", ctypes.c_ulonglong),
]
BNStructureMember._fields_ = [
("type", ctypes.POINTER(BNType)),
("_name", ctypes.c_char_p),
("offset", ctypes.c_ulonglong),
("typeConfidence", ctypes.c_ubyte),
("access", MemberAccessEnum),
("scope", MemberScopeEnum),
]
BNSystemCallInfo._fields_ = [
("number", ctypes.c_uint),
("name", BNQualifiedName),
("type", ctypes.POINTER(BNType)),
]
BNTagReference._fields_ = [
("refType", TagReferenceTypeEnum),
("autoDefined", ctypes.c_bool),
("tag", ctypes.POINTER(BNTag)),
("arch", ctypes.POINTER(BNArchitecture)),
("func", ctypes.POINTER(BNFunction)),
("addr", ctypes.c_ulonglong),
]
BNTransformParameter._fields_ = [
("_name", ctypes.c_char_p),
("value", ctypes.POINTER(BNDataBuffer)),
]
BNTransformParameterInfo._fields_ = [
("_name", ctypes.c_char_p),
("_longName", ctypes.c_char_p),
("fixedLength", ctypes.c_ulonglong),
]
BNTypeArchiveNotification._fields_ = [
("context", ctypes.c_void_p),
("typeAdded", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeArchive), ctypes.c_char_p, ctypes.POINTER(BNType))),
("typeUpdated", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeArchive), ctypes.c_char_p, ctypes.POINTER(BNType), ctypes.POINTER(BNType))),
("typeRenamed", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeArchive), ctypes.c_char_p, ctypes.POINTER(BNQualifiedName), ctypes.POINTER(BNQualifiedName))),
("typeDeleted", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeArchive), ctypes.c_char_p, ctypes.POINTER(BNType))),
]
BNTypeContext._fields_ = [
("type", ctypes.POINTER(BNType)),
("offset", ctypes.c_ulonglong),
]
BNTypeDefinitionLine._fields_ = [
("lineType", TypeDefinitionLineTypeEnum),
("tokens", ctypes.POINTER(BNInstructionTextToken)),
("count", ctypes.c_ulonglong),
("type", ctypes.POINTER(BNType)),
("parentType", ctypes.POINTER(BNType)),
("rootType", ctypes.POINTER(BNType)),
("_rootTypeName", ctypes.c_char_p),
("baseType", ctypes.POINTER(BNNamedTypeReference)),
("baseOffset", ctypes.c_ulonglong),
("offset", ctypes.c_ulonglong),
("fieldIndex", ctypes.c_ulonglong),
]
BNTypeField._fields_ = [
("name", BNQualifiedName),
("offset", ctypes.c_ulonglong),
]
BNTypeFieldReferenceSizeInfo._fields_ = [
("offset", ctypes.c_ulonglong),
("sizes", ctypes.POINTER(ctypes.c_ulonglong)),
("count", ctypes.c_ulonglong),
]
BNTypeFieldReferenceTypeInfo._fields_ = [
("offset", ctypes.c_ulonglong),
("types", ctypes.POINTER(BNTypeWithConfidence)),
("count", ctypes.c_ulonglong),
]
BNTypeParserCallbacks._fields_ = [
("context", ctypes.c_void_p),
("getOptionText", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, TypeParserOptionEnum, ctypes.c_char_p, ctypes.POINTER(ctypes.c_char_p))),
("preprocessSource", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(BNPlatform), ctypes.POINTER(BNQualifiedNameTypeAndId), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.POINTER(BNTypeParserError)), ctypes.POINTER(ctypes.c_ulonglong))),
("parseTypesFromSource", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_char_p, ctypes.POINTER(BNPlatform), ctypes.POINTER(BNQualifiedNameTypeAndId), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.c_ulonglong, ctypes.c_char_p, ctypes.POINTER(BNTypeParserResult), ctypes.POINTER(ctypes.POINTER(BNTypeParserError)), ctypes.POINTER(ctypes.c_ulonglong))),
("parseTypeString", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.POINTER(BNPlatform), ctypes.POINTER(BNQualifiedNameTypeAndId), ctypes.c_ulonglong, ctypes.POINTER(BNQualifiedNameAndType), ctypes.POINTER(ctypes.POINTER(BNTypeParserError)), ctypes.POINTER(ctypes.c_ulonglong))),
("freeString", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char_p)),
("freeResult", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeParserResult))),
("freeErrorList", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeParserError), ctypes.c_ulonglong)),
]
BNTypeParserError._fields_ = [
("severity", TypeParserErrorSeverityEnum),
("_message", ctypes.c_char_p),
("_fileName", ctypes.c_char_p),
("line", ctypes.c_ulonglong),
("column", ctypes.c_ulonglong),
]
BNTypeParserResult._fields_ = [
("types", ctypes.POINTER(BNParsedType)),
("variables", ctypes.POINTER(BNParsedType)),
("functions", ctypes.POINTER(BNParsedType)),
("typeCount", ctypes.c_ulonglong),
("variableCount", ctypes.c_ulonglong),
("functionCount", ctypes.c_ulonglong),
]
BNTypePrinterCallbacks._fields_ = [
("context", ctypes.c_void_p),
("getTypeTokens", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNPlatform), ctypes.POINTER(BNQualifiedName), ctypes.c_ubyte, TokenEscapingTypeEnum, ctypes.POINTER(ctypes.POINTER(BNInstructionTextToken)), ctypes.POINTER(ctypes.c_ulonglong))),
("getTypeTokensBeforeName", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNPlatform), ctypes.c_ubyte, ctypes.POINTER(BNType), TokenEscapingTypeEnum, ctypes.POINTER(ctypes.POINTER(BNInstructionTextToken)), ctypes.POINTER(ctypes.c_ulonglong))),
("getTypeTokensAfterName", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNPlatform), ctypes.c_ubyte, ctypes.POINTER(BNType), TokenEscapingTypeEnum, ctypes.POINTER(ctypes.POINTER(BNInstructionTextToken)), ctypes.POINTER(ctypes.c_ulonglong))),
("getTypeString", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNPlatform), ctypes.POINTER(BNQualifiedName), TokenEscapingTypeEnum, ctypes.POINTER(ctypes.c_char_p))),
("getTypeStringBeforeName", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNPlatform), TokenEscapingTypeEnum, ctypes.POINTER(ctypes.c_char_p))),
("getTypeStringAfterName", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNPlatform), TokenEscapingTypeEnum, ctypes.POINTER(ctypes.c_char_p))),
("getTypeLines", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNType), ctypes.POINTER(BNTypeContainer), ctypes.POINTER(BNQualifiedName), ctypes.c_int, ctypes.c_bool, TokenEscapingTypeEnum, ctypes.POINTER(ctypes.POINTER(BNTypeDefinitionLine)), ctypes.POINTER(ctypes.c_ulonglong))),
("printAllTypes", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.POINTER(BNQualifiedName), ctypes.POINTER(ctypes.POINTER(BNType)), ctypes.c_ulonglong, ctypes.POINTER(BNBinaryView), ctypes.c_int, TokenEscapingTypeEnum, ctypes.POINTER(ctypes.c_char_p))),
("freeTokens", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNInstructionTextToken), ctypes.c_ulonglong)),
("freeString", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.c_char_p)),
("freeLines", ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNTypeDefinitionLine), ctypes.c_ulonglong)),
]
BNTypeReferenceSource._fields_ = [
("name", BNQualifiedName),
("offset", ctypes.c_ulonglong),
("type", TypeReferenceTypeEnum),
]
BNTypeWithConfidence._fields_ = [
("type", ctypes.POINTER(BNType)),
("confidence", ctypes.c_ubyte),
]
BNUndoAction._fields_ = [
("actionType", ActionTypeEnum),
("_summaryText", ctypes.c_char_p),
("summaryTokens", ctypes.POINTER(BNInstructionTextToken)),
("summaryTokenCount", ctypes.c_ulonglong),
]
BNUndoEntry._fields_ = [
("valid", ctypes.c_bool),
("user", ctypes.POINTER(BNUser)),
("_id", ctypes.c_char_p),
("actions", ctypes.POINTER(BNUndoAction)),
("actionCount", ctypes.c_ulonglong),
("timestamp", ctypes.c_ulonglong),
]
BNUpdateChannel._fields_ = [
("_name", ctypes.c_char_p),
("_description", ctypes.c_char_p),
("_latestVersion", ctypes.c_char_p),
]
BNUpdateChannelFullInfo._fields_ = [
("versions", ctypes.POINTER(BNUpdateVersionNew)),
("versionCount", ctypes.c_ulonglong),
("changelogEntries", ctypes.POINTER(BNChangelogEntry)),
("changelogEntryCount", ctypes.c_ulonglong),
("_name", ctypes.c_char_p),
("_desc", ctypes.c_char_p),
("_latestVersion", ctypes.c_char_p),
]
BNUpdateVersion._fields_ = [
("_version", ctypes.c_char_p),
("_notes", ctypes.c_char_p),
("time", ctypes.c_ulonglong),
]
BNValueRange._fields_ = [
("start", ctypes.c_ulonglong),
("end", ctypes.c_ulonglong),
("step", ctypes.c_ulonglong),
]
BNVariable._fields_ = [
("type", VariableSourceTypeEnum),
("index", ctypes.c_uint),
("storage", ctypes.c_longlong),
]
BNVariableNameAndType._fields_ = [
("var", BNVariable),
("type", ctypes.POINTER(BNType)),
("_name", ctypes.c_char_p),
("autoDefined", ctypes.c_bool),
("typeConfidence", ctypes.c_ubyte),
]
BNVariableReferenceSource._fields_ = [
("var", BNVariable),
("source", BNILReferenceSource),
]
BNVersionInfo._fields_ = [
("major", ctypes.c_uint),
("minor", ctypes.c_uint),
("build", ctypes.c_uint),
("_channel", ctypes.c_char_p),
]
BNWebsocketClientCallbacks._fields_ = [
("context", ctypes.c_void_p),
("destroyClient", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("connect", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_char_p, ctypes.c_ulonglong, ctypes.POINTER(ctypes.c_char_p), ctypes.POINTER(ctypes.c_char_p))),
("write", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_void_p)),
("disconnect", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
]
BNWebsocketClientOutputCallbacks._fields_ = [
("context", ctypes.c_void_p),
("connectedCallback", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p)),
("disconnectedCallback", ctypes.CFUNCTYPE(None, ctypes.c_void_p)),
("errorCallback", ctypes.CFUNCTYPE(None, ctypes.c_char_p, ctypes.c_void_p)),
("readCallback", ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.POINTER(ctypes.c_ubyte), ctypes.c_ulonglong, ctypes.c_void_p)),
]
BNWebsocketProviderCallbacks._fields_ = [
("context", ctypes.c_void_p),
("createClient", ctypes.CFUNCTYPE(ctypes.c_void_p, ctypes.c_void_p)),
]
BNChangelogEntry._fields_ = [
("version", BNVersionInfo),
("_notes", ctypes.c_char_p),
("time", ctypes.c_ulonglong),
]
BNDisassemblyTextLine._fields_ = [
("addr", ctypes.c_ulonglong),
("instrIndex", ctypes.c_ulonglong),
("tokens", ctypes.POINTER(BNInstructionTextToken)),
("count", ctypes.c_ulonglong),
("highlight", BNHighlightColor),
("tags", ctypes.POINTER(ctypes.POINTER(BNTag))),
("tagCount", ctypes.c_ulonglong),
("typeInfo", BNDisassemblyTextLineTypeInfo),
]
BNFunctionParameter._fields_ = [
("_name", ctypes.c_char_p),
("type", ctypes.POINTER(BNType)),
("typeConfidence", ctypes.c_ubyte),
("defaultLocation", ctypes.c_bool),
("location", BNVariable),
]
BNInheritedStructureMember._fields_ = [
("base", ctypes.POINTER(BNNamedTypeReference)),
("baseOffset", ctypes.c_ulonglong),
("member", BNStructureMember),
("memberIndex", ctypes.c_ulonglong),
]
BNLinearDisassemblyLine._fields_ = [
("type", LinearDisassemblyLineTypeEnum),
("function", ctypes.POINTER(BNFunction)),
("block", ctypes.POINTER(BNBasicBlock)),
("contents", BNDisassemblyTextLine),
]
BNMergedVariable._fields_ = [
("target", BNVariable),
("sources", ctypes.POINTER(BNVariable)),
("sourceCount", ctypes.c_ulonglong),
]
BNParsedType._fields_ = [
("name", BNQualifiedName),
("type", ctypes.POINTER(BNType)),
("isUser", ctypes.c_bool),
]
BNTypeFieldReference._fields_ = [
("func", ctypes.POINTER(BNFunction)),
("arch", ctypes.POINTER(BNArchitecture)),
("addr", ctypes.c_ulonglong),
("size", ctypes.c_ulonglong),
("incomingType", BNTypeWithConfidence),
]
BNUpdateVersionNew._fields_ = [
("version", BNVersionInfo),
("_name", ctypes.c_char_p),
("time", ctypes.c_ulonglong),
]
BNUserVariableValue._fields_ = [
("var", BNVariable),
("defSite", BNArchitectureAndAddress),
("value", BNPossibleValueSet),
]
# Function definitions
# -------------------------------------------------------
# _BNAbortAnalysis
_BNAbortAnalysis = core.BNAbortAnalysis
_BNAbortAnalysis.restype = None
_BNAbortAnalysis.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNAbortAnalysis(
view: ctypes.POINTER(BNBinaryView)
) -> None:
return _BNAbortAnalysis(view)
# -------------------------------------------------------
# _BNAbortFlowGraphLayoutRequest
_BNAbortFlowGraphLayoutRequest = core.BNAbortFlowGraphLayoutRequest
_BNAbortFlowGraphLayoutRequest.restype = None
_BNAbortFlowGraphLayoutRequest.argtypes = [
ctypes.POINTER(BNFlowGraphLayoutRequest),
]
# noinspection PyPep8Naming
def BNAbortFlowGraphLayoutRequest(
graph: ctypes.POINTER(BNFlowGraphLayoutRequest)
) -> None:
return _BNAbortFlowGraphLayoutRequest(graph)
# -------------------------------------------------------
# _BNActivityGetName
_BNActivityGetName = core.BNActivityGetName
_BNActivityGetName.restype = ctypes.POINTER(ctypes.c_byte)
_BNActivityGetName.argtypes = [
ctypes.POINTER(BNActivity),
]
# noinspection PyPep8Naming
def BNActivityGetName(
activity: ctypes.POINTER(BNActivity)
) -> Optional[Optional[str]]:
result = _BNActivityGetName(activity)
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNAddAnalysisCompletionEvent
_BNAddAnalysisCompletionEvent = core.BNAddAnalysisCompletionEvent
_BNAddAnalysisCompletionEvent.restype = ctypes.POINTER(BNAnalysisCompletionEvent)
_BNAddAnalysisCompletionEvent.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_void_p,
ctypes.CFUNCTYPE(None, ctypes.c_void_p),
]
# noinspection PyPep8Naming
def BNAddAnalysisCompletionEvent(
view: ctypes.POINTER(BNBinaryView),
ctxt: Optional[ctypes.c_void_p],
callback: ctypes.CFUNCTYPE(None, ctypes.c_void_p)
) -> Optional[ctypes.POINTER(BNAnalysisCompletionEvent)]:
result = _BNAddAnalysisCompletionEvent(view, ctxt, callback)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAddAnalysisOption
_BNAddAnalysisOption = core.BNAddAnalysisOption
_BNAddAnalysisOption.restype = None
_BNAddAnalysisOption.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddAnalysisOption(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str]
) -> None:
return _BNAddAnalysisOption(view, cstr(name))
# -------------------------------------------------------
# _BNAddArchitectureRedirection
_BNAddArchitectureRedirection = core.BNAddArchitectureRedirection
_BNAddArchitectureRedirection.restype = None
_BNAddArchitectureRedirection.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(BNArchitecture),
]
# noinspection PyPep8Naming
def BNAddArchitectureRedirection(
arch: ctypes.POINTER(BNArchitecture),
from_: ctypes.POINTER(BNArchitecture),
to: ctypes.POINTER(BNArchitecture)
) -> None:
return _BNAddArchitectureRedirection(arch, from_, to)
# -------------------------------------------------------
# _BNAddAutoAddressTag
_BNAddAutoAddressTag = core.BNAddAutoAddressTag
_BNAddAutoAddressTag.restype = None
_BNAddAutoAddressTag.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
ctypes.POINTER(BNTag),
]
# noinspection PyPep8Naming
def BNAddAutoAddressTag(
func: ctypes.POINTER(BNFunction),
arch: ctypes.POINTER(BNArchitecture),
addr: int,
tag: ctypes.POINTER(BNTag)
) -> None:
return _BNAddAutoAddressTag(func, arch, addr, tag)
# -------------------------------------------------------
# _BNAddAutoDataTag
_BNAddAutoDataTag = core.BNAddAutoDataTag
_BNAddAutoDataTag.restype = None
_BNAddAutoDataTag.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_ulonglong,
ctypes.POINTER(BNTag),
]
# noinspection PyPep8Naming
def BNAddAutoDataTag(
view: ctypes.POINTER(BNBinaryView),
addr: int,
tag: ctypes.POINTER(BNTag)
) -> None:
return _BNAddAutoDataTag(view, addr, tag)
# -------------------------------------------------------
# _BNAddAutoFunctionTag
_BNAddAutoFunctionTag = core.BNAddAutoFunctionTag
_BNAddAutoFunctionTag.restype = None
_BNAddAutoFunctionTag.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNTag),
]
# noinspection PyPep8Naming
def BNAddAutoFunctionTag(
func: ctypes.POINTER(BNFunction),
tag: ctypes.POINTER(BNTag)
) -> None:
return _BNAddAutoFunctionTag(func, tag)
# -------------------------------------------------------
# _BNAddAutoSection
_BNAddAutoSection = core.BNAddAutoSection
_BNAddAutoSection.restype = None
_BNAddAutoSection.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
SectionSemanticsEnum,
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddAutoSection(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str],
start: int,
length: int,
semantics: SectionSemantics,
type: Optional[str],
align: int,
entrySize: int,
linkedSection: Optional[str],
infoSection: Optional[str],
infoData: int
) -> None:
return _BNAddAutoSection(view, cstr(name), start, length, semantics, cstr(type), align, entrySize, cstr(linkedSection), cstr(infoSection), infoData)
# -------------------------------------------------------
# _BNAddAutoSegment
_BNAddAutoSegment = core.BNAddAutoSegment
_BNAddAutoSegment.restype = None
_BNAddAutoSegment.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_uint,
]
# noinspection PyPep8Naming
def BNAddAutoSegment(
view: ctypes.POINTER(BNBinaryView),
start: int,
length: int,
dataOffset: int,
dataLength: int,
flags: int
) -> None:
return _BNAddAutoSegment(view, start, length, dataOffset, dataLength, flags)
# -------------------------------------------------------
# _BNAddBinaryViewTypeLibrary
_BNAddBinaryViewTypeLibrary = core.BNAddBinaryViewTypeLibrary
_BNAddBinaryViewTypeLibrary.restype = None
_BNAddBinaryViewTypeLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNTypeLibrary),
]
# noinspection PyPep8Naming
def BNAddBinaryViewTypeLibrary(
view: ctypes.POINTER(BNBinaryView),
lib: ctypes.POINTER(BNTypeLibrary)
) -> None:
return _BNAddBinaryViewTypeLibrary(view, lib)
# -------------------------------------------------------
# _BNAddDebugDataVariable
_BNAddDebugDataVariable = core.BNAddDebugDataVariable
_BNAddDebugDataVariable.restype = ctypes.c_bool
_BNAddDebugDataVariable.argtypes = [
ctypes.POINTER(BNDebugInfo),
ctypes.c_ulonglong,
ctypes.POINTER(BNType),
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_char_p),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddDebugDataVariable(
debugInfo: ctypes.POINTER(BNDebugInfo),
address: int,
type: ctypes.POINTER(BNType),
name: Optional[str],
components: ctypes.POINTER(ctypes.c_char_p),
components_count: int
) -> bool:
return _BNAddDebugDataVariable(debugInfo, address, type, cstr(name), components, components_count)
# -------------------------------------------------------
# _BNAddDebugDataVariableInfo
_BNAddDebugDataVariableInfo = core.BNAddDebugDataVariableInfo
_BNAddDebugDataVariableInfo.restype = ctypes.c_bool
_BNAddDebugDataVariableInfo.argtypes = [
ctypes.POINTER(BNDebugInfo),
ctypes.POINTER(BNDataVariableAndName),
]
# noinspection PyPep8Naming
def BNAddDebugDataVariableInfo(
debugInfo: ctypes.POINTER(BNDebugInfo),
var: ctypes.POINTER(BNDataVariableAndName)
) -> bool:
return _BNAddDebugDataVariableInfo(debugInfo, var)
# -------------------------------------------------------
# _BNAddDebugFunction
_BNAddDebugFunction = core.BNAddDebugFunction
_BNAddDebugFunction.restype = ctypes.c_bool
_BNAddDebugFunction.argtypes = [
ctypes.POINTER(BNDebugInfo),
ctypes.POINTER(BNDebugFunctionInfo),
]
# noinspection PyPep8Naming
def BNAddDebugFunction(
debugInfo: ctypes.POINTER(BNDebugInfo),
func: ctypes.POINTER(BNDebugFunctionInfo)
) -> bool:
return _BNAddDebugFunction(debugInfo, func)
# -------------------------------------------------------
# _BNAddDebugType
_BNAddDebugType = core.BNAddDebugType
_BNAddDebugType.restype = ctypes.c_bool
_BNAddDebugType.argtypes = [
ctypes.POINTER(BNDebugInfo),
ctypes.c_char_p,
ctypes.POINTER(BNType),
ctypes.POINTER(ctypes.c_char_p),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddDebugType(
debugInfo: ctypes.POINTER(BNDebugInfo),
name: Optional[str],
type: ctypes.POINTER(BNType),
components: ctypes.POINTER(ctypes.c_char_p),
components_count: int
) -> bool:
return _BNAddDebugType(debugInfo, cstr(name), type, components, components_count)
# -------------------------------------------------------
# _BNAddEntryPointForAnalysis
_BNAddEntryPointForAnalysis = core.BNAddEntryPointForAnalysis
_BNAddEntryPointForAnalysis.restype = None
_BNAddEntryPointForAnalysis.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNPlatform),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddEntryPointForAnalysis(
view: ctypes.POINTER(BNBinaryView),
platform: ctypes.POINTER(BNPlatform),
addr: int
) -> None:
return _BNAddEntryPointForAnalysis(view, platform, addr)
# -------------------------------------------------------
# _BNAddEnumerationBuilderMember
_BNAddEnumerationBuilderMember = core.BNAddEnumerationBuilderMember
_BNAddEnumerationBuilderMember.restype = None
_BNAddEnumerationBuilderMember.argtypes = [
ctypes.POINTER(BNEnumerationBuilder),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddEnumerationBuilderMember(
e: ctypes.POINTER(BNEnumerationBuilder),
name: Optional[str]
) -> None:
return _BNAddEnumerationBuilderMember(e, cstr(name))
# -------------------------------------------------------
# _BNAddEnumerationBuilderMemberWithValue
_BNAddEnumerationBuilderMemberWithValue = core.BNAddEnumerationBuilderMemberWithValue
_BNAddEnumerationBuilderMemberWithValue.restype = None
_BNAddEnumerationBuilderMemberWithValue.argtypes = [
ctypes.POINTER(BNEnumerationBuilder),
ctypes.c_char_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddEnumerationBuilderMemberWithValue(
e: ctypes.POINTER(BNEnumerationBuilder),
name: Optional[str],
value: int
) -> None:
return _BNAddEnumerationBuilderMemberWithValue(e, cstr(name), value)
# -------------------------------------------------------
# _BNAddExpressionParserMagicValue
_BNAddExpressionParserMagicValue = core.BNAddExpressionParserMagicValue
_BNAddExpressionParserMagicValue.restype = None
_BNAddExpressionParserMagicValue.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddExpressionParserMagicValue(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str],
value: int
) -> None:
return _BNAddExpressionParserMagicValue(view, cstr(name), value)
# -------------------------------------------------------
# _BNAddExpressionParserMagicValues
_BNAddExpressionParserMagicValues = core.BNAddExpressionParserMagicValues
_BNAddExpressionParserMagicValues.restype = None
_BNAddExpressionParserMagicValues.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.c_char_p),
ctypes.POINTER(ctypes.c_ulonglong),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddExpressionParserMagicValues(
view: ctypes.POINTER(BNBinaryView),
names: ctypes.POINTER(ctypes.c_char_p),
values: ctypes.POINTER(ctypes.c_ulonglong),
count: int
) -> None:
return _BNAddExpressionParserMagicValues(view, names, values, count)
# -------------------------------------------------------
# _BNAddFlowGraphNode
_BNAddFlowGraphNode = core.BNAddFlowGraphNode
_BNAddFlowGraphNode.restype = ctypes.c_ulonglong
_BNAddFlowGraphNode.argtypes = [
ctypes.POINTER(BNFlowGraph),
ctypes.POINTER(BNFlowGraphNode),
]
# noinspection PyPep8Naming
def BNAddFlowGraphNode(
graph: ctypes.POINTER(BNFlowGraph),
node: ctypes.POINTER(BNFlowGraphNode)
) -> int:
return _BNAddFlowGraphNode(graph, node)
# -------------------------------------------------------
# _BNAddFlowGraphNodeOutgoingEdge
_BNAddFlowGraphNodeOutgoingEdge = core.BNAddFlowGraphNodeOutgoingEdge
_BNAddFlowGraphNodeOutgoingEdge.restype = None
_BNAddFlowGraphNodeOutgoingEdge.argtypes = [
ctypes.POINTER(BNFlowGraphNode),
BranchTypeEnum,
ctypes.POINTER(BNFlowGraphNode),
BNEdgeStyle,
]
# noinspection PyPep8Naming
def BNAddFlowGraphNodeOutgoingEdge(
node: ctypes.POINTER(BNFlowGraphNode),
type: BranchType,
target: ctypes.POINTER(BNFlowGraphNode),
edgeStyle: BNEdgeStyle
) -> None:
return _BNAddFlowGraphNodeOutgoingEdge(node, type, target, edgeStyle)
# -------------------------------------------------------
# _BNAddFunctionForAnalysis
_BNAddFunctionForAnalysis = core.BNAddFunctionForAnalysis
_BNAddFunctionForAnalysis.restype = ctypes.POINTER(BNFunction)
_BNAddFunctionForAnalysis.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNPlatform),
ctypes.c_ulonglong,
ctypes.c_bool,
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNAddFunctionForAnalysis(
view: ctypes.POINTER(BNBinaryView),
platform: ctypes.POINTER(BNPlatform),
addr: int,
autoDiscovered: bool,
type: ctypes.POINTER(BNType)
) -> Optional[ctypes.POINTER(BNFunction)]:
result = _BNAddFunctionForAnalysis(view, platform, addr, autoDiscovered, type)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAddGraphReportToCollection
_BNAddGraphReportToCollection = core.BNAddGraphReportToCollection
_BNAddGraphReportToCollection.restype = None
_BNAddGraphReportToCollection.argtypes = [
ctypes.POINTER(BNReportCollection),
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(BNFlowGraph),
]
# noinspection PyPep8Naming
def BNAddGraphReportToCollection(
reports: ctypes.POINTER(BNReportCollection),
view: ctypes.POINTER(BNBinaryView),
title: Optional[str],
graph: ctypes.POINTER(BNFlowGraph)
) -> None:
return _BNAddGraphReportToCollection(reports, view, cstr(title), graph)
# -------------------------------------------------------
# _BNAddHTMLReportToCollection
_BNAddHTMLReportToCollection = core.BNAddHTMLReportToCollection
_BNAddHTMLReportToCollection.restype = None
_BNAddHTMLReportToCollection.argtypes = [
ctypes.POINTER(BNReportCollection),
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddHTMLReportToCollection(
reports: ctypes.POINTER(BNReportCollection),
view: ctypes.POINTER(BNBinaryView),
title: Optional[str],
contents: Optional[str],
plaintext: Optional[str]
) -> None:
return _BNAddHTMLReportToCollection(reports, view, cstr(title), cstr(contents), cstr(plaintext))
# -------------------------------------------------------
# _BNAddLowLevelILLabelForAddress
_BNAddLowLevelILLabelForAddress = core.BNAddLowLevelILLabelForAddress
_BNAddLowLevelILLabelForAddress.restype = None
_BNAddLowLevelILLabelForAddress.argtypes = [
ctypes.POINTER(BNLowLevelILFunction),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddLowLevelILLabelForAddress(
func: ctypes.POINTER(BNLowLevelILFunction),
arch: ctypes.POINTER(BNArchitecture),
addr: int
) -> None:
return _BNAddLowLevelILLabelForAddress(func, arch, addr)
# -------------------------------------------------------
# _BNAddMarkdownReportToCollection
_BNAddMarkdownReportToCollection = core.BNAddMarkdownReportToCollection
_BNAddMarkdownReportToCollection.restype = None
_BNAddMarkdownReportToCollection.argtypes = [
ctypes.POINTER(BNReportCollection),
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddMarkdownReportToCollection(
reports: ctypes.POINTER(BNReportCollection),
view: ctypes.POINTER(BNBinaryView),
title: Optional[str],
contents: Optional[str],
plaintext: Optional[str]
) -> None:
return _BNAddMarkdownReportToCollection(reports, view, cstr(title), cstr(contents), cstr(plaintext))
# -------------------------------------------------------
# _BNAddOptionalPluginDependency
_BNAddOptionalPluginDependency = core.BNAddOptionalPluginDependency
_BNAddOptionalPluginDependency.restype = None
_BNAddOptionalPluginDependency.argtypes = [
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddOptionalPluginDependency(
name: Optional[str]
) -> None:
return _BNAddOptionalPluginDependency(cstr(name))
# -------------------------------------------------------
# _BNAddPlainTextReportToCollection
_BNAddPlainTextReportToCollection = core.BNAddPlainTextReportToCollection
_BNAddPlainTextReportToCollection.restype = None
_BNAddPlainTextReportToCollection.argtypes = [
ctypes.POINTER(BNReportCollection),
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddPlainTextReportToCollection(
reports: ctypes.POINTER(BNReportCollection),
view: ctypes.POINTER(BNBinaryView),
title: Optional[str],
contents: Optional[str]
) -> None:
return _BNAddPlainTextReportToCollection(reports, view, cstr(title), cstr(contents))
# -------------------------------------------------------
# _BNAddRelatedPlatform
_BNAddRelatedPlatform = core.BNAddRelatedPlatform
_BNAddRelatedPlatform.restype = None
_BNAddRelatedPlatform.argtypes = [
ctypes.POINTER(BNPlatform),
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(BNPlatform),
]
# noinspection PyPep8Naming
def BNAddRelatedPlatform(
platform: ctypes.POINTER(BNPlatform),
arch: ctypes.POINTER(BNArchitecture),
related: ctypes.POINTER(BNPlatform)
) -> None:
return _BNAddRelatedPlatform(platform, arch, related)
# -------------------------------------------------------
# _BNAddRequiredPluginDependency
_BNAddRequiredPluginDependency = core.BNAddRequiredPluginDependency
_BNAddRequiredPluginDependency.restype = None
_BNAddRequiredPluginDependency.argtypes = [
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddRequiredPluginDependency(
name: Optional[str]
) -> None:
return _BNAddRequiredPluginDependency(cstr(name))
# -------------------------------------------------------
# _BNAddStructureBuilderMember
_BNAddStructureBuilderMember = core.BNAddStructureBuilderMember
_BNAddStructureBuilderMember.restype = None
_BNAddStructureBuilderMember.argtypes = [
ctypes.POINTER(BNStructureBuilder),
ctypes.POINTER(BNTypeWithConfidence),
ctypes.c_char_p,
MemberAccessEnum,
MemberScopeEnum,
]
# noinspection PyPep8Naming
def BNAddStructureBuilderMember(
s: ctypes.POINTER(BNStructureBuilder),
type: ctypes.POINTER(BNTypeWithConfidence),
name: Optional[str],
access: MemberAccess,
scope: MemberScope
) -> None:
return _BNAddStructureBuilderMember(s, type, cstr(name), access, scope)
# -------------------------------------------------------
# _BNAddStructureBuilderMemberAtOffset
_BNAddStructureBuilderMemberAtOffset = core.BNAddStructureBuilderMemberAtOffset
_BNAddStructureBuilderMemberAtOffset.restype = None
_BNAddStructureBuilderMemberAtOffset.argtypes = [
ctypes.POINTER(BNStructureBuilder),
ctypes.POINTER(BNTypeWithConfidence),
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.c_bool,
MemberAccessEnum,
MemberScopeEnum,
]
# noinspection PyPep8Naming
def BNAddStructureBuilderMemberAtOffset(
s: ctypes.POINTER(BNStructureBuilder),
type: ctypes.POINTER(BNTypeWithConfidence),
name: Optional[str],
offset: int,
overwriteExisting: bool,
access: MemberAccess,
scope: MemberScope
) -> None:
return _BNAddStructureBuilderMemberAtOffset(s, type, cstr(name), offset, overwriteExisting, access, scope)
# -------------------------------------------------------
# _BNAddTag
_BNAddTag = core.BNAddTag
_BNAddTag.restype = None
_BNAddTag.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNTag),
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNAddTag(
view: ctypes.POINTER(BNBinaryView),
tag: ctypes.POINTER(BNTag),
user: bool
) -> None:
return _BNAddTag(view, tag, user)
# -------------------------------------------------------
# _BNAddTagType
_BNAddTagType = core.BNAddTagType
_BNAddTagType.restype = None
_BNAddTagType.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNTagType),
]
# noinspection PyPep8Naming
def BNAddTagType(
view: ctypes.POINTER(BNBinaryView),
tagType: ctypes.POINTER(BNTagType)
) -> None:
return _BNAddTagType(view, tagType)
# -------------------------------------------------------
# _BNAddTypeArchiveTypes
_BNAddTypeArchiveTypes = core.BNAddTypeArchiveTypes
_BNAddTypeArchiveTypes.restype = ctypes.c_bool
_BNAddTypeArchiveTypes.argtypes = [
ctypes.POINTER(BNTypeArchive),
ctypes.POINTER(BNQualifiedNameAndType),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddTypeArchiveTypes(
archive: ctypes.POINTER(BNTypeArchive),
types: ctypes.POINTER(BNQualifiedNameAndType),
count: int
) -> bool:
return _BNAddTypeArchiveTypes(archive, types, count)
# -------------------------------------------------------
# _BNAddTypeLibraryAlternateName
_BNAddTypeLibraryAlternateName = core.BNAddTypeLibraryAlternateName
_BNAddTypeLibraryAlternateName.restype = None
_BNAddTypeLibraryAlternateName.argtypes = [
ctypes.POINTER(BNTypeLibrary),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddTypeLibraryAlternateName(
lib: ctypes.POINTER(BNTypeLibrary),
name: Optional[str]
) -> None:
return _BNAddTypeLibraryAlternateName(lib, cstr(name))
# -------------------------------------------------------
# _BNAddTypeLibraryNamedObject
_BNAddTypeLibraryNamedObject = core.BNAddTypeLibraryNamedObject
_BNAddTypeLibraryNamedObject.restype = None
_BNAddTypeLibraryNamedObject.argtypes = [
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNAddTypeLibraryNamedObject(
lib: ctypes.POINTER(BNTypeLibrary),
name: ctypes.POINTER(BNQualifiedName),
type: ctypes.POINTER(BNType)
) -> None:
return _BNAddTypeLibraryNamedObject(lib, name, type)
# -------------------------------------------------------
# _BNAddTypeLibraryNamedType
_BNAddTypeLibraryNamedType = core.BNAddTypeLibraryNamedType
_BNAddTypeLibraryNamedType.restype = None
_BNAddTypeLibraryNamedType.argtypes = [
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNAddTypeLibraryNamedType(
lib: ctypes.POINTER(BNTypeLibrary),
name: ctypes.POINTER(BNQualifiedName),
type: ctypes.POINTER(BNType)
) -> None:
return _BNAddTypeLibraryNamedType(lib, name, type)
# -------------------------------------------------------
# _BNAddTypeLibraryNamedTypeSource
_BNAddTypeLibraryNamedTypeSource = core.BNAddTypeLibraryNamedTypeSource
_BNAddTypeLibraryNamedTypeSource.restype = None
_BNAddTypeLibraryNamedTypeSource.argtypes = [
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNQualifiedName),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAddTypeLibraryNamedTypeSource(
lib: ctypes.POINTER(BNTypeLibrary),
name: ctypes.POINTER(BNQualifiedName),
source: Optional[str]
) -> None:
return _BNAddTypeLibraryNamedTypeSource(lib, name, cstr(source))
# -------------------------------------------------------
# _BNAddTypeLibraryPlatform
_BNAddTypeLibraryPlatform = core.BNAddTypeLibraryPlatform
_BNAddTypeLibraryPlatform.restype = None
_BNAddTypeLibraryPlatform.argtypes = [
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNPlatform),
]
# noinspection PyPep8Naming
def BNAddTypeLibraryPlatform(
lib: ctypes.POINTER(BNTypeLibrary),
platform: ctypes.POINTER(BNPlatform)
) -> None:
return _BNAddTypeLibraryPlatform(lib, platform)
# -------------------------------------------------------
# _BNAddTypeMemberTokens
_BNAddTypeMemberTokens = core.BNAddTypeMemberTokens
_BNAddTypeMemberTokens.restype = ctypes.c_bool
_BNAddTypeMemberTokens.argtypes = [
ctypes.POINTER(BNType),
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.POINTER(BNInstructionTextToken)),
ctypes.POINTER(ctypes.c_ulonglong),
ctypes.c_longlong,
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.c_ulonglong),
ctypes.c_ulonglong,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNAddTypeMemberTokens(
type: ctypes.POINTER(BNType),
data: ctypes.POINTER(BNBinaryView),
tokens: ctypes.POINTER(ctypes.POINTER(BNInstructionTextToken)),
tokenCount: ctypes.POINTER(ctypes.c_ulonglong),
offset: int,
nameList: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
nameCount: ctypes.POINTER(ctypes.c_ulonglong),
size: int,
indirect: bool
) -> bool:
return _BNAddTypeMemberTokens(type, data, tokens, tokenCount, offset, nameList, nameCount, size, indirect)
# -------------------------------------------------------
# _BNAddUserAddressTag
_BNAddUserAddressTag = core.BNAddUserAddressTag
_BNAddUserAddressTag.restype = None
_BNAddUserAddressTag.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
ctypes.POINTER(BNTag),
]
# noinspection PyPep8Naming
def BNAddUserAddressTag(
func: ctypes.POINTER(BNFunction),
arch: ctypes.POINTER(BNArchitecture),
addr: int,
tag: ctypes.POINTER(BNTag)
) -> None:
return _BNAddUserAddressTag(func, arch, addr, tag)
# -------------------------------------------------------
# _BNAddUserCodeReference
_BNAddUserCodeReference = core.BNAddUserCodeReference
_BNAddUserCodeReference.restype = None
_BNAddUserCodeReference.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddUserCodeReference(
func: ctypes.POINTER(BNFunction),
fromArch: ctypes.POINTER(BNArchitecture),
fromAddr: int,
toAddr: int
) -> None:
return _BNAddUserCodeReference(func, fromArch, fromAddr, toAddr)
# -------------------------------------------------------
# _BNAddUserDataReference
_BNAddUserDataReference = core.BNAddUserDataReference
_BNAddUserDataReference.restype = None
_BNAddUserDataReference.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddUserDataReference(
view: ctypes.POINTER(BNBinaryView),
fromAddr: int,
toAddr: int
) -> None:
return _BNAddUserDataReference(view, fromAddr, toAddr)
# -------------------------------------------------------
# _BNAddUserDataTag
_BNAddUserDataTag = core.BNAddUserDataTag
_BNAddUserDataTag.restype = None
_BNAddUserDataTag.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_ulonglong,
ctypes.POINTER(BNTag),
]
# noinspection PyPep8Naming
def BNAddUserDataTag(
view: ctypes.POINTER(BNBinaryView),
addr: int,
tag: ctypes.POINTER(BNTag)
) -> None:
return _BNAddUserDataTag(view, addr, tag)
# -------------------------------------------------------
# _BNAddUserFunctionTag
_BNAddUserFunctionTag = core.BNAddUserFunctionTag
_BNAddUserFunctionTag.restype = None
_BNAddUserFunctionTag.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNTag),
]
# noinspection PyPep8Naming
def BNAddUserFunctionTag(
func: ctypes.POINTER(BNFunction),
tag: ctypes.POINTER(BNTag)
) -> None:
return _BNAddUserFunctionTag(func, tag)
# -------------------------------------------------------
# _BNAddUserSection
_BNAddUserSection = core.BNAddUserSection
_BNAddUserSection.restype = None
_BNAddUserSection.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
SectionSemanticsEnum,
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddUserSection(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str],
start: int,
length: int,
semantics: SectionSemantics,
type: Optional[str],
align: int,
entrySize: int,
linkedSection: Optional[str],
infoSection: Optional[str],
infoData: int
) -> None:
return _BNAddUserSection(view, cstr(name), start, length, semantics, cstr(type), align, entrySize, cstr(linkedSection), cstr(infoSection), infoData)
# -------------------------------------------------------
# _BNAddUserSegment
_BNAddUserSegment = core.BNAddUserSegment
_BNAddUserSegment.restype = None
_BNAddUserSegment.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_uint,
]
# noinspection PyPep8Naming
def BNAddUserSegment(
view: ctypes.POINTER(BNBinaryView),
start: int,
length: int,
dataOffset: int,
dataLength: int,
flags: int
) -> None:
return _BNAddUserSegment(view, start, length, dataOffset, dataLength, flags)
# -------------------------------------------------------
# _BNAddUserTypeFieldReference
_BNAddUserTypeFieldReference = core.BNAddUserTypeFieldReference
_BNAddUserTypeFieldReference.restype = None
_BNAddUserTypeFieldReference.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
ctypes.POINTER(BNQualifiedName),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAddUserTypeFieldReference(
func: ctypes.POINTER(BNFunction),
fromArch: ctypes.POINTER(BNArchitecture),
fromAddr: int,
name: ctypes.POINTER(BNQualifiedName),
offset: int,
size: int
) -> None:
return _BNAddUserTypeFieldReference(func, fromArch, fromAddr, name, offset, size)
# -------------------------------------------------------
# _BNAddUserTypeReference
_BNAddUserTypeReference = core.BNAddUserTypeReference
_BNAddUserTypeReference.restype = None
_BNAddUserTypeReference.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
ctypes.POINTER(BNQualifiedName),
]
# noinspection PyPep8Naming
def BNAddUserTypeReference(
func: ctypes.POINTER(BNFunction),
fromArch: ctypes.POINTER(BNArchitecture),
fromAddr: int,
name: ctypes.POINTER(BNQualifiedName)
) -> None:
return _BNAddUserTypeReference(func, fromArch, fromAddr, name)
# -------------------------------------------------------
# _BNAllocString
_BNAllocString = core.BNAllocString
_BNAllocString.restype = ctypes.c_void_p
_BNAllocString.argtypes = [
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAllocString(
contents: Optional[str]
) -> Optional[Optional[str]]:
result = _BNAllocString(cstr(contents))
if not result:
return None
return result
# -------------------------------------------------------
# _BNAllocStringList
_BNAllocStringList = core.BNAllocStringList
_BNAllocStringList.restype = ctypes.POINTER(ctypes.c_char_p)
_BNAllocStringList.argtypes = [
ctypes.POINTER(ctypes.c_char_p),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAllocStringList(
contents: ctypes.POINTER(ctypes.c_char_p),
size: int
) -> Optional[ctypes.POINTER(ctypes.c_char_p)]:
result = _BNAllocStringList(contents, size)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAlwaysBranch
_BNAlwaysBranch = core.BNAlwaysBranch
_BNAlwaysBranch.restype = ctypes.c_bool
_BNAlwaysBranch.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAlwaysBranch(
view: ctypes.POINTER(BNBinaryView),
arch: ctypes.POINTER(BNArchitecture),
addr: int
) -> bool:
return _BNAlwaysBranch(view, arch, addr)
# -------------------------------------------------------
# _BNAnalysisContextGetFunction
_BNAnalysisContextGetFunction = core.BNAnalysisContextGetFunction
_BNAnalysisContextGetFunction.restype = ctypes.POINTER(BNFunction)
_BNAnalysisContextGetFunction.argtypes = [
ctypes.POINTER(BNAnalysisContext),
]
# noinspection PyPep8Naming
def BNAnalysisContextGetFunction(
analysisContext: ctypes.POINTER(BNAnalysisContext)
) -> Optional[ctypes.POINTER(BNFunction)]:
result = _BNAnalysisContextGetFunction(analysisContext)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAnalysisContextGetHighLevelILFunction
_BNAnalysisContextGetHighLevelILFunction = core.BNAnalysisContextGetHighLevelILFunction
_BNAnalysisContextGetHighLevelILFunction.restype = ctypes.POINTER(BNHighLevelILFunction)
_BNAnalysisContextGetHighLevelILFunction.argtypes = [
ctypes.POINTER(BNAnalysisContext),
]
# noinspection PyPep8Naming
def BNAnalysisContextGetHighLevelILFunction(
analysisContext: ctypes.POINTER(BNAnalysisContext)
) -> Optional[ctypes.POINTER(BNHighLevelILFunction)]:
result = _BNAnalysisContextGetHighLevelILFunction(analysisContext)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAnalysisContextGetLowLevelILFunction
_BNAnalysisContextGetLowLevelILFunction = core.BNAnalysisContextGetLowLevelILFunction
_BNAnalysisContextGetLowLevelILFunction.restype = ctypes.POINTER(BNLowLevelILFunction)
_BNAnalysisContextGetLowLevelILFunction.argtypes = [
ctypes.POINTER(BNAnalysisContext),
]
# noinspection PyPep8Naming
def BNAnalysisContextGetLowLevelILFunction(
analysisContext: ctypes.POINTER(BNAnalysisContext)
) -> Optional[ctypes.POINTER(BNLowLevelILFunction)]:
result = _BNAnalysisContextGetLowLevelILFunction(analysisContext)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAnalysisContextGetMediumLevelILFunction
_BNAnalysisContextGetMediumLevelILFunction = core.BNAnalysisContextGetMediumLevelILFunction
_BNAnalysisContextGetMediumLevelILFunction.restype = ctypes.POINTER(BNMediumLevelILFunction)
_BNAnalysisContextGetMediumLevelILFunction.argtypes = [
ctypes.POINTER(BNAnalysisContext),
]
# noinspection PyPep8Naming
def BNAnalysisContextGetMediumLevelILFunction(
analysisContext: ctypes.POINTER(BNAnalysisContext)
) -> Optional[ctypes.POINTER(BNMediumLevelILFunction)]:
result = _BNAnalysisContextGetMediumLevelILFunction(analysisContext)
if not result:
return None
return result
# -------------------------------------------------------
# _BNAnalysisContextInform
_BNAnalysisContextInform = core.BNAnalysisContextInform
_BNAnalysisContextInform.restype = ctypes.c_bool
_BNAnalysisContextInform.argtypes = [
ctypes.POINTER(BNAnalysisContext),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAnalysisContextInform(
analysisContext: ctypes.POINTER(BNAnalysisContext),
request: Optional[str]
) -> bool:
return _BNAnalysisContextInform(analysisContext, cstr(request))
# -------------------------------------------------------
# _BNAppendDataBuffer
_BNAppendDataBuffer = core.BNAppendDataBuffer
_BNAppendDataBuffer.restype = None
_BNAppendDataBuffer.argtypes = [
ctypes.POINTER(BNDataBuffer),
ctypes.POINTER(BNDataBuffer),
]
# noinspection PyPep8Naming
def BNAppendDataBuffer(
dest: ctypes.POINTER(BNDataBuffer),
src: ctypes.POINTER(BNDataBuffer)
) -> None:
return _BNAppendDataBuffer(dest, src)
# -------------------------------------------------------
# _BNAppendDataBufferContents
_BNAppendDataBufferContents = core.BNAppendDataBufferContents
_BNAppendDataBufferContents.restype = None
_BNAppendDataBufferContents.argtypes = [
ctypes.POINTER(BNDataBuffer),
ctypes.c_void_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNAppendDataBufferContents(
dest: ctypes.POINTER(BNDataBuffer),
src: Optional[ctypes.c_void_p],
len: int
) -> None:
return _BNAppendDataBufferContents(dest, src, len)
# -------------------------------------------------------
# _BNAppendPath
_BNAppendPath = core.BNAppendPath
_BNAppendPath.restype = ctypes.POINTER(ctypes.c_byte)
_BNAppendPath.argtypes = [
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNAppendPath(
path: Optional[str],
part: Optional[str]
) -> Optional[Optional[str]]:
result = _BNAppendPath(cstr(path), cstr(part))
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNAppendSymbolQueue
_BNAppendSymbolQueue = core.BNAppendSymbolQueue
_BNAppendSymbolQueue.restype = None
_BNAppendSymbolQueue.argtypes = [
ctypes.POINTER(BNSymbolQueue),
ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(ctypes.POINTER(BNSymbol)), ctypes.POINTER(ctypes.POINTER(BNType))),
ctypes.c_void_p,
ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNSymbol), ctypes.POINTER(BNType)),
ctypes.c_void_p,
]
# noinspection PyPep8Naming
def BNAppendSymbolQueue(
queue: ctypes.POINTER(BNSymbolQueue),
resolve: ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(ctypes.POINTER(BNSymbol)), ctypes.POINTER(ctypes.POINTER(BNType))),
resolveContext: Optional[ctypes.c_void_p],
add: ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNSymbol), ctypes.POINTER(BNType)),
addContext: Optional[ctypes.c_void_p]
) -> None:
return _BNAppendSymbolQueue(queue, resolve, resolveContext, add, addContext)
# -------------------------------------------------------
# _BNApplyAutoDiscoveredFunctionType
_BNApplyAutoDiscoveredFunctionType = core.BNApplyAutoDiscoveredFunctionType
_BNApplyAutoDiscoveredFunctionType.restype = None
_BNApplyAutoDiscoveredFunctionType.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNApplyAutoDiscoveredFunctionType(
func: ctypes.POINTER(BNFunction),
type: ctypes.POINTER(BNType)
) -> None:
return _BNApplyAutoDiscoveredFunctionType(func, type)
# -------------------------------------------------------
# _BNApplyDebugInfo
_BNApplyDebugInfo = core.BNApplyDebugInfo
_BNApplyDebugInfo.restype = None
_BNApplyDebugInfo.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNDebugInfo),
]
# noinspection PyPep8Naming
def BNApplyDebugInfo(
view: ctypes.POINTER(BNBinaryView),
newDebugInfo: ctypes.POINTER(BNDebugInfo)
) -> None:
return _BNApplyDebugInfo(view, newDebugInfo)
# -------------------------------------------------------
# _BNApplyImportedTypes
_BNApplyImportedTypes = core.BNApplyImportedTypes
_BNApplyImportedTypes.restype = None
_BNApplyImportedTypes.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNSymbol),
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNApplyImportedTypes(
func: ctypes.POINTER(BNFunction),
sym: ctypes.POINTER(BNSymbol),
type: ctypes.POINTER(BNType)
) -> None:
return _BNApplyImportedTypes(func, sym, type)
# -------------------------------------------------------
# _BNApplySnapshotData
_BNApplySnapshotData = core.BNApplySnapshotData
_BNApplySnapshotData.restype = None
_BNApplySnapshotData.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNKeyValueStore),
ctypes.POINTER(BNKeyValueStore),
ctypes.c_void_p,
ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong),
ctypes.c_bool,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNApplySnapshotData(
file: ctypes.POINTER(BNFileMetadata),
view: ctypes.POINTER(BNBinaryView),
data: ctypes.POINTER(BNKeyValueStore),
cache: ctypes.POINTER(BNKeyValueStore),
ctxt: Optional[ctypes.c_void_p],
progress: ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong),
openForConfiguration: bool,
restoreRawView: bool
) -> None:
return _BNApplySnapshotData(file, view, data, cache, ctxt, progress, openForConfiguration, restoreRawView)
# -------------------------------------------------------
# _BNArchitectureAlwaysBranch
_BNArchitectureAlwaysBranch = core.BNArchitectureAlwaysBranch
_BNArchitectureAlwaysBranch.restype = ctypes.c_bool
_BNArchitectureAlwaysBranch.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNArchitectureAlwaysBranch(
arch: ctypes.POINTER(BNArchitecture),
data: ctypes.POINTER(ctypes.c_ubyte),
addr: int,
len: int
) -> bool:
return _BNArchitectureAlwaysBranch(arch, data, addr, len)
# -------------------------------------------------------
# _BNArchitectureConvertToNop
_BNArchitectureConvertToNop = core.BNArchitectureConvertToNop
_BNArchitectureConvertToNop.restype = ctypes.c_bool
_BNArchitectureConvertToNop.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNArchitectureConvertToNop(
arch: ctypes.POINTER(BNArchitecture),
data: ctypes.POINTER(ctypes.c_ubyte),
addr: int,
len: int
) -> bool:
return _BNArchitectureConvertToNop(arch, data, addr, len)
# -------------------------------------------------------
# _BNArchitectureGetRelocationHandler
_BNArchitectureGetRelocationHandler = core.BNArchitectureGetRelocationHandler
_BNArchitectureGetRelocationHandler.restype = ctypes.POINTER(BNRelocationHandler)
_BNArchitectureGetRelocationHandler.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNArchitectureGetRelocationHandler(
arch: ctypes.POINTER(BNArchitecture),
viewName: Optional[str]
) -> Optional[ctypes.POINTER(BNRelocationHandler)]:
result = _BNArchitectureGetRelocationHandler(arch, cstr(viewName))
if not result:
return None
return result
# -------------------------------------------------------
# _BNArchitectureInvertBranch
_BNArchitectureInvertBranch = core.BNArchitectureInvertBranch
_BNArchitectureInvertBranch.restype = ctypes.c_bool
_BNArchitectureInvertBranch.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNArchitectureInvertBranch(
arch: ctypes.POINTER(BNArchitecture),
data: ctypes.POINTER(ctypes.c_ubyte),
addr: int,
len: int
) -> bool:
return _BNArchitectureInvertBranch(arch, data, addr, len)
# -------------------------------------------------------
# _BNArchitectureRegisterRelocationHandler
_BNArchitectureRegisterRelocationHandler = core.BNArchitectureRegisterRelocationHandler
_BNArchitectureRegisterRelocationHandler.restype = None
_BNArchitectureRegisterRelocationHandler.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.c_char_p,
ctypes.POINTER(BNRelocationHandler),
]
# noinspection PyPep8Naming
def BNArchitectureRegisterRelocationHandler(
arch: ctypes.POINTER(BNArchitecture),
viewName: Optional[str],
handler: ctypes.POINTER(BNRelocationHandler)
) -> None:
return _BNArchitectureRegisterRelocationHandler(arch, cstr(viewName), handler)
# -------------------------------------------------------
# _BNArchitectureSkipAndReturnValue
_BNArchitectureSkipAndReturnValue = core.BNArchitectureSkipAndReturnValue
_BNArchitectureSkipAndReturnValue.restype = ctypes.c_bool
_BNArchitectureSkipAndReturnValue.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(ctypes.c_ubyte),
ctypes.c_ulonglong,
ctypes.c_ulonglong,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNArchitectureSkipAndReturnValue(
arch: ctypes.POINTER(BNArchitecture),
data: ctypes.POINTER(ctypes.c_ubyte),
addr: int,
len: int,
value: int
) -> bool:
return _BNArchitectureSkipAndReturnValue(arch, data, addr, len, value)
# -------------------------------------------------------
# _BNAreArgumentRegistersSharedIndex
_BNAreArgumentRegistersSharedIndex = core.BNAreArgumentRegistersSharedIndex
_BNAreArgumentRegistersSharedIndex.restype = ctypes.c_bool
_BNAreArgumentRegistersSharedIndex.argtypes = [
ctypes.POINTER(BNCallingConvention),
]
# noinspection PyPep8Naming
def BNAreArgumentRegistersSharedIndex(
cc: ctypes.POINTER(BNCallingConvention)
) -> bool:
return _BNAreArgumentRegistersSharedIndex(cc)
# -------------------------------------------------------
# _BNAreArgumentRegistersUsedForVarArgs
_BNAreArgumentRegistersUsedForVarArgs = core.BNAreArgumentRegistersUsedForVarArgs
_BNAreArgumentRegistersUsedForVarArgs.restype = ctypes.c_bool
_BNAreArgumentRegistersUsedForVarArgs.argtypes = [
ctypes.POINTER(BNCallingConvention),
]
# noinspection PyPep8Naming
def BNAreArgumentRegistersUsedForVarArgs(
cc: ctypes.POINTER(BNCallingConvention)
) -> bool:
return _BNAreArgumentRegistersUsedForVarArgs(cc)
# -------------------------------------------------------
# _BNAreAutoUpdatesEnabled
_BNAreAutoUpdatesEnabled = core.BNAreAutoUpdatesEnabled
_BNAreAutoUpdatesEnabled.restype = ctypes.c_bool
_BNAreAutoUpdatesEnabled.argtypes = [
]
# noinspection PyPep8Naming
def BNAreAutoUpdatesEnabled(
) -> bool:
return _BNAreAutoUpdatesEnabled()
# -------------------------------------------------------
# _BNAreUpdatesAvailable
_BNAreUpdatesAvailable = core.BNAreUpdatesAvailable
_BNAreUpdatesAvailable.restype = ctypes.c_bool
_BNAreUpdatesAvailable.argtypes = [
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_ulonglong),
ctypes.POINTER(ctypes.c_ulonglong),
ctypes.POINTER(ctypes.c_char_p),
]
# noinspection PyPep8Naming
def BNAreUpdatesAvailable(
channel: Optional[str],
expireTime: ctypes.POINTER(ctypes.c_ulonglong),
serverTime: ctypes.POINTER(ctypes.c_ulonglong),
errors: ctypes.POINTER(ctypes.c_char_p)
) -> bool:
return _BNAreUpdatesAvailable(cstr(channel), expireTime, serverTime, errors)
# -------------------------------------------------------
# _BNAssemble
_BNAssemble = core.BNAssemble
_BNAssemble.restype = ctypes.c_bool
_BNAssemble.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.POINTER(BNDataBuffer),
ctypes.POINTER(ctypes.c_char_p),
]
# noinspection PyPep8Naming
def BNAssemble(
arch: ctypes.POINTER(BNArchitecture),
code: Optional[str],
addr: int,
result: ctypes.POINTER(BNDataBuffer),
errors: ctypes.POINTER(ctypes.c_char_p)
) -> bool:
return _BNAssemble(arch, cstr(code), addr, result, errors)
# -------------------------------------------------------
# _BNAssignDataBuffer
_BNAssignDataBuffer = core.BNAssignDataBuffer
_BNAssignDataBuffer.restype = None
_BNAssignDataBuffer.argtypes = [
ctypes.POINTER(BNDataBuffer),
ctypes.POINTER(BNDataBuffer),
]
# noinspection PyPep8Naming
def BNAssignDataBuffer(
dest: ctypes.POINTER(BNDataBuffer),
src: ctypes.POINTER(BNDataBuffer)
) -> None:
return _BNAssignDataBuffer(dest, src)
# -------------------------------------------------------
# _BNAuthenticateEnterpriseServerWithCredentials
_BNAuthenticateEnterpriseServerWithCredentials = core.BNAuthenticateEnterpriseServerWithCredentials
_BNAuthenticateEnterpriseServerWithCredentials.restype = ctypes.c_bool
_BNAuthenticateEnterpriseServerWithCredentials.argtypes = [
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNAuthenticateEnterpriseServerWithCredentials(
username: Optional[str],
password: Optional[str],
remember: bool
) -> bool:
return _BNAuthenticateEnterpriseServerWithCredentials(cstr(username), cstr(password), remember)
# -------------------------------------------------------
# _BNAuthenticateEnterpriseServerWithMethod
_BNAuthenticateEnterpriseServerWithMethod = core.BNAuthenticateEnterpriseServerWithMethod
_BNAuthenticateEnterpriseServerWithMethod.restype = ctypes.c_bool
_BNAuthenticateEnterpriseServerWithMethod.argtypes = [
ctypes.c_char_p,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNAuthenticateEnterpriseServerWithMethod(
method: Optional[str],
remember: bool
) -> bool:
return _BNAuthenticateEnterpriseServerWithMethod(cstr(method), remember)
# -------------------------------------------------------
# _BNBasicBlockCanExit
_BNBasicBlockCanExit = core.BNBasicBlockCanExit
_BNBasicBlockCanExit.restype = ctypes.c_bool
_BNBasicBlockCanExit.argtypes = [
ctypes.POINTER(BNBasicBlock),
]
# noinspection PyPep8Naming
def BNBasicBlockCanExit(
block: ctypes.POINTER(BNBasicBlock)
) -> bool:
return _BNBasicBlockCanExit(block)
# -------------------------------------------------------
# _BNBasicBlockHasInvalidInstructions
_BNBasicBlockHasInvalidInstructions = core.BNBasicBlockHasInvalidInstructions
_BNBasicBlockHasInvalidInstructions.restype = ctypes.c_bool
_BNBasicBlockHasInvalidInstructions.argtypes = [
ctypes.POINTER(BNBasicBlock),
]
# noinspection PyPep8Naming
def BNBasicBlockHasInvalidInstructions(
block: ctypes.POINTER(BNBasicBlock)
) -> bool:
return _BNBasicBlockHasInvalidInstructions(block)
# -------------------------------------------------------
# _BNBasicBlockHasUndeterminedOutgoingEdges
_BNBasicBlockHasUndeterminedOutgoingEdges = core.BNBasicBlockHasUndeterminedOutgoingEdges
_BNBasicBlockHasUndeterminedOutgoingEdges.restype = ctypes.c_bool
_BNBasicBlockHasUndeterminedOutgoingEdges.argtypes = [
ctypes.POINTER(BNBasicBlock),
]
# noinspection PyPep8Naming
def BNBasicBlockHasUndeterminedOutgoingEdges(
block: ctypes.POINTER(BNBasicBlock)
) -> bool:
return _BNBasicBlockHasUndeterminedOutgoingEdges(block)
# -------------------------------------------------------
# _BNBasicBlockSetCanExit
_BNBasicBlockSetCanExit = core.BNBasicBlockSetCanExit
_BNBasicBlockSetCanExit.restype = None
_BNBasicBlockSetCanExit.argtypes = [
ctypes.POINTER(BNBasicBlock),
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNBasicBlockSetCanExit(
block: ctypes.POINTER(BNBasicBlock),
value: bool
) -> None:
return _BNBasicBlockSetCanExit(block, value)
# -------------------------------------------------------
# _BNBeginBackgroundTask
_BNBeginBackgroundTask = core.BNBeginBackgroundTask
_BNBeginBackgroundTask.restype = ctypes.POINTER(BNBackgroundTask)
_BNBeginBackgroundTask.argtypes = [
ctypes.c_char_p,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNBeginBackgroundTask(
initialText: Optional[str],
canCancel: bool
) -> Optional[ctypes.POINTER(BNBackgroundTask)]:
result = _BNBeginBackgroundTask(cstr(initialText), canCancel)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBeginBulkModifySymbols
_BNBeginBulkModifySymbols = core.BNBeginBulkModifySymbols
_BNBeginBulkModifySymbols.restype = None
_BNBeginBulkModifySymbols.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNBeginBulkModifySymbols(
view: ctypes.POINTER(BNBinaryView)
) -> None:
return _BNBeginBulkModifySymbols(view)
# -------------------------------------------------------
# _BNBeginKeyValueStoreNamespace
_BNBeginKeyValueStoreNamespace = core.BNBeginKeyValueStoreNamespace
_BNBeginKeyValueStoreNamespace.restype = None
_BNBeginKeyValueStoreNamespace.argtypes = [
ctypes.POINTER(BNKeyValueStore),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBeginKeyValueStoreNamespace(
store: ctypes.POINTER(BNKeyValueStore),
name: Optional[str]
) -> None:
return _BNBeginKeyValueStoreNamespace(store, cstr(name))
# -------------------------------------------------------
# _BNBeginUndoActions
_BNBeginUndoActions = core.BNBeginUndoActions
_BNBeginUndoActions.restype = ctypes.POINTER(ctypes.c_byte)
_BNBeginUndoActions.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNBeginUndoActions(
file: ctypes.POINTER(BNFileMetadata),
anonymousAllowed: bool
) -> Optional[Optional[str]]:
result = _BNBeginUndoActions(file, anonymousAllowed)
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNBinaryViewAddExternalLibrary
_BNBinaryViewAddExternalLibrary = core.BNBinaryViewAddExternalLibrary
_BNBinaryViewAddExternalLibrary.restype = ctypes.POINTER(BNExternalLibrary)
_BNBinaryViewAddExternalLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(BNProjectFile),
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNBinaryViewAddExternalLibrary(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str],
backingFile: ctypes.POINTER(BNProjectFile),
isAuto: bool
) -> Optional[ctypes.POINTER(BNExternalLibrary)]:
result = _BNBinaryViewAddExternalLibrary(view, cstr(name), backingFile, isAuto)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewAddExternalLocation
_BNBinaryViewAddExternalLocation = core.BNBinaryViewAddExternalLocation
_BNBinaryViewAddExternalLocation.restype = ctypes.POINTER(BNExternalLocation)
_BNBinaryViewAddExternalLocation.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNSymbol),
ctypes.POINTER(BNExternalLibrary),
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_ulonglong),
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNBinaryViewAddExternalLocation(
view: ctypes.POINTER(BNBinaryView),
sourceSymbol: ctypes.POINTER(BNSymbol),
library: ctypes.POINTER(BNExternalLibrary),
targetSymbol: Optional[str],
targetAddress: ctypes.POINTER(ctypes.c_ulonglong),
isAuto: bool
) -> Optional[ctypes.POINTER(BNExternalLocation)]:
result = _BNBinaryViewAddExternalLocation(view, sourceSymbol, library, cstr(targetSymbol), targetAddress, isAuto)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewAttachTypeArchive
_BNBinaryViewAttachTypeArchive = core.BNBinaryViewAttachTypeArchive
_BNBinaryViewAttachTypeArchive.restype = ctypes.POINTER(BNTypeArchive)
_BNBinaryViewAttachTypeArchive.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewAttachTypeArchive(
view: ctypes.POINTER(BNBinaryView),
id: Optional[str],
path: Optional[str]
) -> Optional[ctypes.POINTER(BNTypeArchive)]:
result = _BNBinaryViewAttachTypeArchive(view, cstr(id), cstr(path))
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewDetachTypeArchive
_BNBinaryViewDetachTypeArchive = core.BNBinaryViewDetachTypeArchive
_BNBinaryViewDetachTypeArchive.restype = ctypes.c_bool
_BNBinaryViewDetachTypeArchive.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewDetachTypeArchive(
view: ctypes.POINTER(BNBinaryView),
id: Optional[str]
) -> bool:
return _BNBinaryViewDetachTypeArchive(view, cstr(id))
# -------------------------------------------------------
# _BNBinaryViewDisassociateTypeArchiveType
_BNBinaryViewDisassociateTypeArchiveType = core.BNBinaryViewDisassociateTypeArchiveType
_BNBinaryViewDisassociateTypeArchiveType.restype = ctypes.c_bool
_BNBinaryViewDisassociateTypeArchiveType.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewDisassociateTypeArchiveType(
view: ctypes.POINTER(BNBinaryView),
typeId: Optional[str]
) -> bool:
return _BNBinaryViewDisassociateTypeArchiveType(view, cstr(typeId))
# -------------------------------------------------------
# _BNBinaryViewExportObjectToTypeLibrary
_BNBinaryViewExportObjectToTypeLibrary = core.BNBinaryViewExportObjectToTypeLibrary
_BNBinaryViewExportObjectToTypeLibrary.restype = None
_BNBinaryViewExportObjectToTypeLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNBinaryViewExportObjectToTypeLibrary(
view: ctypes.POINTER(BNBinaryView),
lib: ctypes.POINTER(BNTypeLibrary),
name: ctypes.POINTER(BNQualifiedName),
type: ctypes.POINTER(BNType)
) -> None:
return _BNBinaryViewExportObjectToTypeLibrary(view, lib, name, type)
# -------------------------------------------------------
# _BNBinaryViewExportTypeToTypeLibrary
_BNBinaryViewExportTypeToTypeLibrary = core.BNBinaryViewExportTypeToTypeLibrary
_BNBinaryViewExportTypeToTypeLibrary.restype = None
_BNBinaryViewExportTypeToTypeLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(BNType),
]
# noinspection PyPep8Naming
def BNBinaryViewExportTypeToTypeLibrary(
view: ctypes.POINTER(BNBinaryView),
lib: ctypes.POINTER(BNTypeLibrary),
name: ctypes.POINTER(BNQualifiedName),
type: ctypes.POINTER(BNType)
) -> None:
return _BNBinaryViewExportTypeToTypeLibrary(view, lib, name, type)
# -------------------------------------------------------
# _BNBinaryViewGetAssociatedTypeArchiveTypeSource
_BNBinaryViewGetAssociatedTypeArchiveTypeSource = core.BNBinaryViewGetAssociatedTypeArchiveTypeSource
_BNBinaryViewGetAssociatedTypeArchiveTypeSource.restype = ctypes.c_bool
_BNBinaryViewGetAssociatedTypeArchiveTypeSource.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_char_p),
]
# noinspection PyPep8Naming
def BNBinaryViewGetAssociatedTypeArchiveTypeSource(
view: ctypes.POINTER(BNBinaryView),
archiveId: Optional[str],
archiveTypeId: Optional[str],
typeId: ctypes.POINTER(ctypes.c_char_p)
) -> bool:
return _BNBinaryViewGetAssociatedTypeArchiveTypeSource(view, cstr(archiveId), cstr(archiveTypeId), typeId)
# -------------------------------------------------------
# _BNBinaryViewGetAssociatedTypeArchiveTypeTarget
_BNBinaryViewGetAssociatedTypeArchiveTypeTarget = core.BNBinaryViewGetAssociatedTypeArchiveTypeTarget
_BNBinaryViewGetAssociatedTypeArchiveTypeTarget.restype = ctypes.c_bool
_BNBinaryViewGetAssociatedTypeArchiveTypeTarget.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_char_p),
ctypes.POINTER(ctypes.c_char_p),
]
# noinspection PyPep8Naming
def BNBinaryViewGetAssociatedTypeArchiveTypeTarget(
view: ctypes.POINTER(BNBinaryView),
typeId: Optional[str],
archiveId: ctypes.POINTER(ctypes.c_char_p),
archiveTypeId: ctypes.POINTER(ctypes.c_char_p)
) -> bool:
return _BNBinaryViewGetAssociatedTypeArchiveTypeTarget(view, cstr(typeId), archiveId, archiveTypeId)
# -------------------------------------------------------
# _BNBinaryViewGetAssociatedTypeArchiveTypes
_BNBinaryViewGetAssociatedTypeArchiveTypes = core.BNBinaryViewGetAssociatedTypeArchiveTypes
_BNBinaryViewGetAssociatedTypeArchiveTypes.restype = ctypes.c_ulonglong
_BNBinaryViewGetAssociatedTypeArchiveTypes.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
]
# noinspection PyPep8Naming
def BNBinaryViewGetAssociatedTypeArchiveTypes(
view: ctypes.POINTER(BNBinaryView),
typeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
archiveIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
archiveTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p))
) -> int:
return _BNBinaryViewGetAssociatedTypeArchiveTypes(view, typeIds, archiveIds, archiveTypeIds)
# -------------------------------------------------------
# _BNBinaryViewGetAssociatedTypesFromArchive
_BNBinaryViewGetAssociatedTypesFromArchive = core.BNBinaryViewGetAssociatedTypesFromArchive
_BNBinaryViewGetAssociatedTypesFromArchive.restype = ctypes.c_ulonglong
_BNBinaryViewGetAssociatedTypesFromArchive.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
]
# noinspection PyPep8Naming
def BNBinaryViewGetAssociatedTypesFromArchive(
view: ctypes.POINTER(BNBinaryView),
archiveId: Optional[str],
typeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
archiveTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p))
) -> int:
return _BNBinaryViewGetAssociatedTypesFromArchive(view, cstr(archiveId), typeIds, archiveTypeIds)
# -------------------------------------------------------
# _BNBinaryViewGetAutoMetadata
_BNBinaryViewGetAutoMetadata = core.BNBinaryViewGetAutoMetadata
_BNBinaryViewGetAutoMetadata.restype = ctypes.POINTER(BNMetadata)
_BNBinaryViewGetAutoMetadata.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNBinaryViewGetAutoMetadata(
view: ctypes.POINTER(BNBinaryView)
) -> Optional[ctypes.POINTER(BNMetadata)]:
result = _BNBinaryViewGetAutoMetadata(view)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetExternalLibraries
_BNBinaryViewGetExternalLibraries = core.BNBinaryViewGetExternalLibraries
_BNBinaryViewGetExternalLibraries.restype = ctypes.POINTER(ctypes.POINTER(BNExternalLibrary))
_BNBinaryViewGetExternalLibraries.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNBinaryViewGetExternalLibraries(
view: ctypes.POINTER(BNBinaryView),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.POINTER(BNExternalLibrary))]:
result = _BNBinaryViewGetExternalLibraries(view, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetExternalLibrary
_BNBinaryViewGetExternalLibrary = core.BNBinaryViewGetExternalLibrary
_BNBinaryViewGetExternalLibrary.restype = ctypes.POINTER(BNExternalLibrary)
_BNBinaryViewGetExternalLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewGetExternalLibrary(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str]
) -> Optional[ctypes.POINTER(BNExternalLibrary)]:
result = _BNBinaryViewGetExternalLibrary(view, cstr(name))
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetExternalLocation
_BNBinaryViewGetExternalLocation = core.BNBinaryViewGetExternalLocation
_BNBinaryViewGetExternalLocation.restype = ctypes.POINTER(BNExternalLocation)
_BNBinaryViewGetExternalLocation.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNSymbol),
]
# noinspection PyPep8Naming
def BNBinaryViewGetExternalLocation(
view: ctypes.POINTER(BNBinaryView),
sourceSymbol: ctypes.POINTER(BNSymbol)
) -> Optional[ctypes.POINTER(BNExternalLocation)]:
result = _BNBinaryViewGetExternalLocation(view, sourceSymbol)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetExternalLocations
_BNBinaryViewGetExternalLocations = core.BNBinaryViewGetExternalLocations
_BNBinaryViewGetExternalLocations.restype = ctypes.POINTER(ctypes.POINTER(BNExternalLocation))
_BNBinaryViewGetExternalLocations.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNBinaryViewGetExternalLocations(
view: ctypes.POINTER(BNBinaryView),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.POINTER(BNExternalLocation))]:
result = _BNBinaryViewGetExternalLocations(view, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetLoadSettings
_BNBinaryViewGetLoadSettings = core.BNBinaryViewGetLoadSettings
_BNBinaryViewGetLoadSettings.restype = ctypes.POINTER(BNSettings)
_BNBinaryViewGetLoadSettings.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewGetLoadSettings(
view: ctypes.POINTER(BNBinaryView),
typeName: Optional[str]
) -> Optional[ctypes.POINTER(BNSettings)]:
result = _BNBinaryViewGetLoadSettings(view, cstr(typeName))
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetLoadSettingsTypeNames
_BNBinaryViewGetLoadSettingsTypeNames = core.BNBinaryViewGetLoadSettingsTypeNames
_BNBinaryViewGetLoadSettingsTypeNames.restype = ctypes.POINTER(ctypes.c_char_p)
_BNBinaryViewGetLoadSettingsTypeNames.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNBinaryViewGetLoadSettingsTypeNames(
view: ctypes.POINTER(BNBinaryView),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.c_char_p)]:
result = _BNBinaryViewGetLoadSettingsTypeNames(view, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetMetadata
_BNBinaryViewGetMetadata = core.BNBinaryViewGetMetadata
_BNBinaryViewGetMetadata.restype = ctypes.POINTER(BNMetadata)
_BNBinaryViewGetMetadata.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNBinaryViewGetMetadata(
view: ctypes.POINTER(BNBinaryView)
) -> Optional[ctypes.POINTER(BNMetadata)]:
result = _BNBinaryViewGetMetadata(view)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetTypeArchive
_BNBinaryViewGetTypeArchive = core.BNBinaryViewGetTypeArchive
_BNBinaryViewGetTypeArchive.restype = ctypes.POINTER(BNTypeArchive)
_BNBinaryViewGetTypeArchive.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeArchive(
view: ctypes.POINTER(BNBinaryView),
id: Optional[str]
) -> Optional[ctypes.POINTER(BNTypeArchive)]:
result = _BNBinaryViewGetTypeArchive(view, cstr(id))
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewGetTypeArchivePath
_BNBinaryViewGetTypeArchivePath = core.BNBinaryViewGetTypeArchivePath
_BNBinaryViewGetTypeArchivePath.restype = ctypes.POINTER(ctypes.c_byte)
_BNBinaryViewGetTypeArchivePath.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeArchivePath(
view: ctypes.POINTER(BNBinaryView),
id: Optional[str]
) -> Optional[Optional[str]]:
result = _BNBinaryViewGetTypeArchivePath(view, cstr(id))
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNBinaryViewGetTypeArchiveSyncStatus
_BNBinaryViewGetTypeArchiveSyncStatus = core.BNBinaryViewGetTypeArchiveSyncStatus
_BNBinaryViewGetTypeArchiveSyncStatus.restype = SyncStatusEnum
_BNBinaryViewGetTypeArchiveSyncStatus.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeArchiveSyncStatus(
view: ctypes.POINTER(BNBinaryView),
typeId: Optional[str]
) -> SyncStatus:
return _BNBinaryViewGetTypeArchiveSyncStatus(view, cstr(typeId))
# -------------------------------------------------------
# _BNBinaryViewGetTypeArchiveTypeNameList
_BNBinaryViewGetTypeArchiveTypeNameList = core.BNBinaryViewGetTypeArchiveTypeNameList
_BNBinaryViewGetTypeArchiveTypeNameList.restype = ctypes.c_ulonglong
_BNBinaryViewGetTypeArchiveTypeNameList.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.POINTER(BNQualifiedName)),
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeArchiveTypeNameList(
view: ctypes.POINTER(BNBinaryView),
names: ctypes.POINTER(ctypes.POINTER(BNQualifiedName))
) -> int:
return _BNBinaryViewGetTypeArchiveTypeNameList(view, names)
# -------------------------------------------------------
# _BNBinaryViewGetTypeArchiveTypeNames
_BNBinaryViewGetTypeArchiveTypeNames = core.BNBinaryViewGetTypeArchiveTypeNames
_BNBinaryViewGetTypeArchiveTypeNames.restype = ctypes.c_ulonglong
_BNBinaryViewGetTypeArchiveTypeNames.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeArchiveTypeNames(
view: ctypes.POINTER(BNBinaryView),
name: ctypes.POINTER(BNQualifiedName),
archiveIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
archiveTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p))
) -> int:
return _BNBinaryViewGetTypeArchiveTypeNames(view, name, archiveIds, archiveTypeIds)
# -------------------------------------------------------
# _BNBinaryViewGetTypeArchives
_BNBinaryViewGetTypeArchives = core.BNBinaryViewGetTypeArchives
_BNBinaryViewGetTypeArchives.restype = ctypes.c_ulonglong
_BNBinaryViewGetTypeArchives.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeArchives(
view: ctypes.POINTER(BNBinaryView),
ids: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
paths: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p))
) -> int:
return _BNBinaryViewGetTypeArchives(view, ids, paths)
# -------------------------------------------------------
# _BNBinaryViewGetTypeNameByGuid
_BNBinaryViewGetTypeNameByGuid = core.BNBinaryViewGetTypeNameByGuid
_BNBinaryViewGetTypeNameByGuid.restype = BNQualifiedName
_BNBinaryViewGetTypeNameByGuid.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewGetTypeNameByGuid(
view: ctypes.POINTER(BNBinaryView),
guid: Optional[str]
) -> BNQualifiedName:
return _BNBinaryViewGetTypeNameByGuid(view, cstr(guid))
# -------------------------------------------------------
# _BNBinaryViewImportTypeLibraryObject
_BNBinaryViewImportTypeLibraryObject = core.BNBinaryViewImportTypeLibraryObject
_BNBinaryViewImportTypeLibraryObject.restype = ctypes.POINTER(BNType)
_BNBinaryViewImportTypeLibraryObject.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
ctypes.POINTER(BNQualifiedName),
]
# noinspection PyPep8Naming
def BNBinaryViewImportTypeLibraryObject(
view: ctypes.POINTER(BNBinaryView),
lib: ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
name: ctypes.POINTER(BNQualifiedName)
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNBinaryViewImportTypeLibraryObject(view, lib, name)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewImportTypeLibraryType
_BNBinaryViewImportTypeLibraryType = core.BNBinaryViewImportTypeLibraryType
_BNBinaryViewImportTypeLibraryType.restype = ctypes.POINTER(BNType)
_BNBinaryViewImportTypeLibraryType.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
ctypes.POINTER(BNQualifiedName),
]
# noinspection PyPep8Naming
def BNBinaryViewImportTypeLibraryType(
view: ctypes.POINTER(BNBinaryView),
lib: ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
name: ctypes.POINTER(BNQualifiedName)
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNBinaryViewImportTypeLibraryType(view, lib, name)
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewImportTypeLibraryTypeByGuid
_BNBinaryViewImportTypeLibraryTypeByGuid = core.BNBinaryViewImportTypeLibraryTypeByGuid
_BNBinaryViewImportTypeLibraryTypeByGuid.restype = ctypes.POINTER(BNType)
_BNBinaryViewImportTypeLibraryTypeByGuid.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewImportTypeLibraryTypeByGuid(
view: ctypes.POINTER(BNBinaryView),
guid: Optional[str]
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNBinaryViewImportTypeLibraryTypeByGuid(view, cstr(guid))
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewLookupImportedObjectLibrary
_BNBinaryViewLookupImportedObjectLibrary = core.BNBinaryViewLookupImportedObjectLibrary
_BNBinaryViewLookupImportedObjectLibrary.restype = ctypes.c_bool
_BNBinaryViewLookupImportedObjectLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNPlatform),
ctypes.c_ulonglong,
ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
ctypes.POINTER(BNQualifiedName),
]
# noinspection PyPep8Naming
def BNBinaryViewLookupImportedObjectLibrary(
view: ctypes.POINTER(BNBinaryView),
tgtPlatform: ctypes.POINTER(BNPlatform),
tgtAddr: int,
lib: ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
name: ctypes.POINTER(BNQualifiedName)
) -> bool:
return _BNBinaryViewLookupImportedObjectLibrary(view, tgtPlatform, tgtAddr, lib, name)
# -------------------------------------------------------
# _BNBinaryViewLookupImportedTypeLibrary
_BNBinaryViewLookupImportedTypeLibrary = core.BNBinaryViewLookupImportedTypeLibrary
_BNBinaryViewLookupImportedTypeLibrary.restype = ctypes.c_bool
_BNBinaryViewLookupImportedTypeLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
ctypes.POINTER(BNQualifiedName),
]
# noinspection PyPep8Naming
def BNBinaryViewLookupImportedTypeLibrary(
view: ctypes.POINTER(BNBinaryView),
typeName: ctypes.POINTER(BNQualifiedName),
lib: ctypes.POINTER(ctypes.POINTER(BNTypeLibrary)),
resultName: ctypes.POINTER(BNQualifiedName)
) -> bool:
return _BNBinaryViewLookupImportedTypeLibrary(view, typeName, lib, resultName)
# -------------------------------------------------------
# _BNBinaryViewPullTypeArchiveTypes
_BNBinaryViewPullTypeArchiveTypes = core.BNBinaryViewPullTypeArchiveTypes
_BNBinaryViewPullTypeArchiveTypes.restype = ctypes.c_bool
_BNBinaryViewPullTypeArchiveTypes.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_char_p),
ctypes.c_ulonglong,
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNBinaryViewPullTypeArchiveTypes(
view: ctypes.POINTER(BNBinaryView),
archiveId: Optional[str],
archiveTypeIds: ctypes.POINTER(ctypes.c_char_p),
archiveTypeIdCount: int,
updatedArchiveTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
updatedAnalysisTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
updatedTypeCount: ctypes.POINTER(ctypes.c_ulonglong)
) -> bool:
return _BNBinaryViewPullTypeArchiveTypes(view, cstr(archiveId), archiveTypeIds, archiveTypeIdCount, updatedArchiveTypeIds, updatedAnalysisTypeIds, updatedTypeCount)
# -------------------------------------------------------
# _BNBinaryViewPushTypeArchiveTypes
_BNBinaryViewPushTypeArchiveTypes = core.BNBinaryViewPushTypeArchiveTypes
_BNBinaryViewPushTypeArchiveTypes.restype = ctypes.c_bool
_BNBinaryViewPushTypeArchiveTypes.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_char_p),
ctypes.c_ulonglong,
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNBinaryViewPushTypeArchiveTypes(
view: ctypes.POINTER(BNBinaryView),
archiveId: Optional[str],
typeIds: ctypes.POINTER(ctypes.c_char_p),
typeIdCount: int,
updatedAnalysisTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
updatedArchiveTypeIds: ctypes.POINTER(ctypes.POINTER(ctypes.c_char_p)),
updatedTypeCount: ctypes.POINTER(ctypes.c_ulonglong)
) -> bool:
return _BNBinaryViewPushTypeArchiveTypes(view, cstr(archiveId), typeIds, typeIdCount, updatedAnalysisTypeIds, updatedArchiveTypeIds, updatedTypeCount)
# -------------------------------------------------------
# _BNBinaryViewQueryMetadata
_BNBinaryViewQueryMetadata = core.BNBinaryViewQueryMetadata
_BNBinaryViewQueryMetadata.restype = ctypes.POINTER(BNMetadata)
_BNBinaryViewQueryMetadata.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewQueryMetadata(
view: ctypes.POINTER(BNBinaryView),
key: Optional[str]
) -> Optional[ctypes.POINTER(BNMetadata)]:
result = _BNBinaryViewQueryMetadata(view, cstr(key))
if not result:
return None
return result
# -------------------------------------------------------
# _BNBinaryViewRecordImportedObjectLibrary
_BNBinaryViewRecordImportedObjectLibrary = core.BNBinaryViewRecordImportedObjectLibrary
_BNBinaryViewRecordImportedObjectLibrary.restype = None
_BNBinaryViewRecordImportedObjectLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNPlatform),
ctypes.c_ulonglong,
ctypes.POINTER(BNTypeLibrary),
ctypes.POINTER(BNQualifiedName),
]
# noinspection PyPep8Naming
def BNBinaryViewRecordImportedObjectLibrary(
view: ctypes.POINTER(BNBinaryView),
tgtPlatform: ctypes.POINTER(BNPlatform),
tgtAddr: int,
lib: ctypes.POINTER(BNTypeLibrary),
name: ctypes.POINTER(BNQualifiedName)
) -> None:
return _BNBinaryViewRecordImportedObjectLibrary(view, tgtPlatform, tgtAddr, lib, name)
# -------------------------------------------------------
# _BNBinaryViewRemoveExternalLibrary
_BNBinaryViewRemoveExternalLibrary = core.BNBinaryViewRemoveExternalLibrary
_BNBinaryViewRemoveExternalLibrary.restype = None
_BNBinaryViewRemoveExternalLibrary.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewRemoveExternalLibrary(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str]
) -> None:
return _BNBinaryViewRemoveExternalLibrary(view, cstr(name))
# -------------------------------------------------------
# _BNBinaryViewRemoveExternalLocation
_BNBinaryViewRemoveExternalLocation = core.BNBinaryViewRemoveExternalLocation
_BNBinaryViewRemoveExternalLocation.restype = None
_BNBinaryViewRemoveExternalLocation.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNSymbol),
]
# noinspection PyPep8Naming
def BNBinaryViewRemoveExternalLocation(
view: ctypes.POINTER(BNBinaryView),
sourceSymbol: ctypes.POINTER(BNSymbol)
) -> None:
return _BNBinaryViewRemoveExternalLocation(view, sourceSymbol)
# -------------------------------------------------------
# _BNBinaryViewRemoveMetadata
_BNBinaryViewRemoveMetadata = core.BNBinaryViewRemoveMetadata
_BNBinaryViewRemoveMetadata.restype = None
_BNBinaryViewRemoveMetadata.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNBinaryViewRemoveMetadata(
view: ctypes.POINTER(BNBinaryView),
key: Optional[str]
) -> None:
return _BNBinaryViewRemoveMetadata(view, cstr(key))
# -------------------------------------------------------
# _BNBinaryViewSetLoadSettings
_BNBinaryViewSetLoadSettings = core.BNBinaryViewSetLoadSettings
_BNBinaryViewSetLoadSettings.restype = None
_BNBinaryViewSetLoadSettings.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(BNSettings),
]
# noinspection PyPep8Naming
def BNBinaryViewSetLoadSettings(
view: ctypes.POINTER(BNBinaryView),
typeName: Optional[str],
settings: ctypes.POINTER(BNSettings)
) -> None:
return _BNBinaryViewSetLoadSettings(view, cstr(typeName), settings)
# -------------------------------------------------------
# _BNBinaryViewSetManualDependencies
_BNBinaryViewSetManualDependencies = core.BNBinaryViewSetManualDependencies
_BNBinaryViewSetManualDependencies.restype = None
_BNBinaryViewSetManualDependencies.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(BNQualifiedName),
ctypes.POINTER(ctypes.c_char_p),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNBinaryViewSetManualDependencies(
view: ctypes.POINTER(BNBinaryView),
viewTypeNames: ctypes.POINTER(BNQualifiedName),
libTypeNames: ctypes.POINTER(BNQualifiedName),
libNames: ctypes.POINTER(ctypes.c_char_p),
count: int
) -> None:
return _BNBinaryViewSetManualDependencies(view, viewTypeNames, libTypeNames, libNames, count)
# -------------------------------------------------------
# _BNBinaryViewStoreMetadata
_BNBinaryViewStoreMetadata = core.BNBinaryViewStoreMetadata
_BNBinaryViewStoreMetadata.restype = None
_BNBinaryViewStoreMetadata.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(BNMetadata),
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNBinaryViewStoreMetadata(
view: ctypes.POINTER(BNBinaryView),
key: Optional[str],
value: ctypes.POINTER(BNMetadata),
isAuto: bool
) -> None:
return _BNBinaryViewStoreMetadata(view, cstr(key), value, isAuto)
# -------------------------------------------------------
# _BNCanArchitectureAssemble
_BNCanArchitectureAssemble = core.BNCanArchitectureAssemble
_BNCanArchitectureAssemble.restype = ctypes.c_bool
_BNCanArchitectureAssemble.argtypes = [
ctypes.POINTER(BNArchitecture),
]
# noinspection PyPep8Naming
def BNCanArchitectureAssemble(
arch: ctypes.POINTER(BNArchitecture)
) -> bool:
return _BNCanArchitectureAssemble(arch)
# -------------------------------------------------------
# _BNCanAssemble
_BNCanAssemble = core.BNCanAssemble
_BNCanAssemble.restype = ctypes.c_bool
_BNCanAssemble.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNArchitecture),
]
# noinspection PyPep8Naming
def BNCanAssemble(
view: ctypes.POINTER(BNBinaryView),
arch: ctypes.POINTER(BNArchitecture)
) -> bool:
return _BNCanAssemble(view, arch)
# -------------------------------------------------------
# _BNCanCancelBackgroundTask
_BNCanCancelBackgroundTask = core.BNCanCancelBackgroundTask
_BNCanCancelBackgroundTask.restype = ctypes.c_bool
_BNCanCancelBackgroundTask.argtypes = [
ctypes.POINTER(BNBackgroundTask),
]
# noinspection PyPep8Naming
def BNCanCancelBackgroundTask(
task: ctypes.POINTER(BNBackgroundTask)
) -> bool:
return _BNCanCancelBackgroundTask(task)
# -------------------------------------------------------
# _BNCanFunctionReturn
_BNCanFunctionReturn = core.BNCanFunctionReturn
_BNCanFunctionReturn.restype = BNBoolWithConfidence
_BNCanFunctionReturn.argtypes = [
ctypes.POINTER(BNFunction),
]
# noinspection PyPep8Naming
def BNCanFunctionReturn(
func: ctypes.POINTER(BNFunction)
) -> BNBoolWithConfidence:
return _BNCanFunctionReturn(func)
# -------------------------------------------------------
# _BNCanRedo
_BNCanRedo = core.BNCanRedo
_BNCanRedo.restype = ctypes.c_bool
_BNCanRedo.argtypes = [
ctypes.POINTER(BNFileMetadata),
]
# noinspection PyPep8Naming
def BNCanRedo(
file: ctypes.POINTER(BNFileMetadata)
) -> bool:
return _BNCanRedo(file)
# -------------------------------------------------------
# _BNCanUndo
_BNCanUndo = core.BNCanUndo
_BNCanUndo.restype = ctypes.c_bool
_BNCanUndo.argtypes = [
ctypes.POINTER(BNFileMetadata),
]
# noinspection PyPep8Naming
def BNCanUndo(
file: ctypes.POINTER(BNFileMetadata)
) -> bool:
return _BNCanUndo(file)
# -------------------------------------------------------
# _BNCancelAnalysisCompletionEvent
_BNCancelAnalysisCompletionEvent = core.BNCancelAnalysisCompletionEvent
_BNCancelAnalysisCompletionEvent.restype = None
_BNCancelAnalysisCompletionEvent.argtypes = [
ctypes.POINTER(BNAnalysisCompletionEvent),
]
# noinspection PyPep8Naming
def BNCancelAnalysisCompletionEvent(
event: ctypes.POINTER(BNAnalysisCompletionEvent)
) -> None:
return _BNCancelAnalysisCompletionEvent(event)
# -------------------------------------------------------
# _BNCancelBackgroundTask
_BNCancelBackgroundTask = core.BNCancelBackgroundTask
_BNCancelBackgroundTask.restype = None
_BNCancelBackgroundTask.argtypes = [
ctypes.POINTER(BNBackgroundTask),
]
# noinspection PyPep8Naming
def BNCancelBackgroundTask(
task: ctypes.POINTER(BNBackgroundTask)
) -> None:
return _BNCancelBackgroundTask(task)
# -------------------------------------------------------
# _BNCancelEnterpriseServerAuthentication
_BNCancelEnterpriseServerAuthentication = core.BNCancelEnterpriseServerAuthentication
_BNCancelEnterpriseServerAuthentication.restype = None
_BNCancelEnterpriseServerAuthentication.argtypes = [
]
# noinspection PyPep8Naming
def BNCancelEnterpriseServerAuthentication(
) -> None:
return _BNCancelEnterpriseServerAuthentication()
# -------------------------------------------------------
# _BNCancelScriptInput
_BNCancelScriptInput = core.BNCancelScriptInput
_BNCancelScriptInput.restype = None
_BNCancelScriptInput.argtypes = [
ctypes.POINTER(BNScriptingInstance),
]
# noinspection PyPep8Naming
def BNCancelScriptInput(
instance: ctypes.POINTER(BNScriptingInstance)
) -> None:
return _BNCancelScriptInput(instance)
# -------------------------------------------------------
# _BNCheckForStringAnnotationType
_BNCheckForStringAnnotationType = core.BNCheckForStringAnnotationType
_BNCheckForStringAnnotationType.restype = ctypes.c_bool
_BNCheckForStringAnnotationType.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_ulonglong,
ctypes.POINTER(ctypes.c_char_p),
ctypes.POINTER(StringTypeEnum),
ctypes.c_bool,
ctypes.c_bool,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNCheckForStringAnnotationType(
view: ctypes.POINTER(BNBinaryView),
addr: int,
value: ctypes.POINTER(ctypes.c_char_p),
strType: ctypes.POINTER(StringTypeEnum),
allowShortStrings: bool,
allowLargeStrings: bool,
childWidth: int
) -> bool:
return _BNCheckForStringAnnotationType(view, addr, value, strType, allowShortStrings, allowLargeStrings, childWidth)
# -------------------------------------------------------
# _BNClearDataBuffer
_BNClearDataBuffer = core.BNClearDataBuffer
_BNClearDataBuffer.restype = None
_BNClearDataBuffer.argtypes = [
ctypes.POINTER(BNDataBuffer),
]
# noinspection PyPep8Naming
def BNClearDataBuffer(
buf: ctypes.POINTER(BNDataBuffer)
) -> None:
return _BNClearDataBuffer(buf)
# -------------------------------------------------------
# _BNClearTypeLibraryPlatforms
_BNClearTypeLibraryPlatforms = core.BNClearTypeLibraryPlatforms
_BNClearTypeLibraryPlatforms.restype = None
_BNClearTypeLibraryPlatforms.argtypes = [
ctypes.POINTER(BNTypeLibrary),
]
# noinspection PyPep8Naming
def BNClearTypeLibraryPlatforms(
lib: ctypes.POINTER(BNTypeLibrary)
) -> None:
return _BNClearTypeLibraryPlatforms(lib)
# -------------------------------------------------------
# _BNClearUndoEntries
_BNClearUndoEntries = core.BNClearUndoEntries
_BNClearUndoEntries.restype = None
_BNClearUndoEntries.argtypes = [
ctypes.POINTER(BNFileMetadata),
]
# noinspection PyPep8Naming
def BNClearUndoEntries(
file: ctypes.POINTER(BNFileMetadata)
) -> None:
return _BNClearUndoEntries(file)
# -------------------------------------------------------
# _BNClearUserVariableValue
_BNClearUserVariableValue = core.BNClearUserVariableValue
_BNClearUserVariableValue.restype = None
_BNClearUserVariableValue.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNVariable),
ctypes.POINTER(BNArchitectureAndAddress),
]
# noinspection PyPep8Naming
def BNClearUserVariableValue(
func: ctypes.POINTER(BNFunction),
var: ctypes.POINTER(BNVariable),
defSite: ctypes.POINTER(BNArchitectureAndAddress)
) -> None:
return _BNClearUserVariableValue(func, var, defSite)
# -------------------------------------------------------
# _BNCloseFile
_BNCloseFile = core.BNCloseFile
_BNCloseFile.restype = None
_BNCloseFile.argtypes = [
ctypes.POINTER(BNFileMetadata),
]
# noinspection PyPep8Naming
def BNCloseFile(
file: ctypes.POINTER(BNFileMetadata)
) -> None:
return _BNCloseFile(file)
# -------------------------------------------------------
# _BNCloseLogs
_BNCloseLogs = core.BNCloseLogs
_BNCloseLogs.restype = None
_BNCloseLogs.argtypes = [
]
# noinspection PyPep8Naming
def BNCloseLogs(
) -> None:
return _BNCloseLogs()
# -------------------------------------------------------
# _BNCloseTypeArchive
_BNCloseTypeArchive = core.BNCloseTypeArchive
_BNCloseTypeArchive.restype = None
_BNCloseTypeArchive.argtypes = [
ctypes.POINTER(BNTypeArchive),
]
# noinspection PyPep8Naming
def BNCloseTypeArchive(
archive: ctypes.POINTER(BNTypeArchive)
) -> None:
return _BNCloseTypeArchive(archive)
# -------------------------------------------------------
# _BNCommitUndoActions
_BNCommitUndoActions = core.BNCommitUndoActions
_BNCommitUndoActions.restype = None
_BNCommitUndoActions.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCommitUndoActions(
file: ctypes.POINTER(BNFileMetadata),
id: Optional[str]
) -> None:
return _BNCommitUndoActions(file, cstr(id))
# -------------------------------------------------------
# _BNCompareLinearViewCursors
_BNCompareLinearViewCursors = core.BNCompareLinearViewCursors
_BNCompareLinearViewCursors.restype = ctypes.c_int
_BNCompareLinearViewCursors.argtypes = [
ctypes.POINTER(BNLinearViewCursor),
ctypes.POINTER(BNLinearViewCursor),
]
# noinspection PyPep8Naming
def BNCompareLinearViewCursors(
a: ctypes.POINTER(BNLinearViewCursor),
b: ctypes.POINTER(BNLinearViewCursor)
) -> int:
return _BNCompareLinearViewCursors(a, b)
# -------------------------------------------------------
# _BNCompareLinearViewObjectChildren
_BNCompareLinearViewObjectChildren = core.BNCompareLinearViewObjectChildren
_BNCompareLinearViewObjectChildren.restype = ctypes.c_int
_BNCompareLinearViewObjectChildren.argtypes = [
ctypes.POINTER(BNLinearViewObject),
ctypes.POINTER(BNLinearViewObject),
ctypes.POINTER(BNLinearViewObject),
]
# noinspection PyPep8Naming
def BNCompareLinearViewObjectChildren(
obj: ctypes.POINTER(BNLinearViewObject),
a: ctypes.POINTER(BNLinearViewObject),
b: ctypes.POINTER(BNLinearViewObject)
) -> int:
return _BNCompareLinearViewObjectChildren(obj, a, b)
# -------------------------------------------------------
# _BNComponentAddAllMembersFromComponent
_BNComponentAddAllMembersFromComponent = core.BNComponentAddAllMembersFromComponent
_BNComponentAddAllMembersFromComponent.restype = None
_BNComponentAddAllMembersFromComponent.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentAddAllMembersFromComponent(
component: ctypes.POINTER(BNComponent),
fromComponent: ctypes.POINTER(BNComponent)
) -> None:
return _BNComponentAddAllMembersFromComponent(component, fromComponent)
# -------------------------------------------------------
# _BNComponentAddComponent
_BNComponentAddComponent = core.BNComponentAddComponent
_BNComponentAddComponent.restype = ctypes.c_bool
_BNComponentAddComponent.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentAddComponent(
parent: ctypes.POINTER(BNComponent),
component: ctypes.POINTER(BNComponent)
) -> bool:
return _BNComponentAddComponent(parent, component)
# -------------------------------------------------------
# _BNComponentAddDataVariable
_BNComponentAddDataVariable = core.BNComponentAddDataVariable
_BNComponentAddDataVariable.restype = ctypes.c_bool
_BNComponentAddDataVariable.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNComponentAddDataVariable(
component: ctypes.POINTER(BNComponent),
address: int
) -> bool:
return _BNComponentAddDataVariable(component, address)
# -------------------------------------------------------
# _BNComponentAddFunctionReference
_BNComponentAddFunctionReference = core.BNComponentAddFunctionReference
_BNComponentAddFunctionReference.restype = ctypes.c_bool
_BNComponentAddFunctionReference.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNFunction),
]
# noinspection PyPep8Naming
def BNComponentAddFunctionReference(
component: ctypes.POINTER(BNComponent),
function: ctypes.POINTER(BNFunction)
) -> bool:
return _BNComponentAddFunctionReference(component, function)
# -------------------------------------------------------
# _BNComponentContainsComponent
_BNComponentContainsComponent = core.BNComponentContainsComponent
_BNComponentContainsComponent.restype = ctypes.c_bool
_BNComponentContainsComponent.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentContainsComponent(
parent: ctypes.POINTER(BNComponent),
component: ctypes.POINTER(BNComponent)
) -> bool:
return _BNComponentContainsComponent(parent, component)
# -------------------------------------------------------
# _BNComponentContainsDataVariable
_BNComponentContainsDataVariable = core.BNComponentContainsDataVariable
_BNComponentContainsDataVariable.restype = ctypes.c_bool
_BNComponentContainsDataVariable.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNComponentContainsDataVariable(
component: ctypes.POINTER(BNComponent),
address: int
) -> bool:
return _BNComponentContainsDataVariable(component, address)
# -------------------------------------------------------
# _BNComponentContainsFunction
_BNComponentContainsFunction = core.BNComponentContainsFunction
_BNComponentContainsFunction.restype = ctypes.c_bool
_BNComponentContainsFunction.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNFunction),
]
# noinspection PyPep8Naming
def BNComponentContainsFunction(
component: ctypes.POINTER(BNComponent),
function: ctypes.POINTER(BNFunction)
) -> bool:
return _BNComponentContainsFunction(component, function)
# -------------------------------------------------------
# _BNComponentFreeReferencedTypes
_BNComponentFreeReferencedTypes = core.BNComponentFreeReferencedTypes
_BNComponentFreeReferencedTypes.restype = None
_BNComponentFreeReferencedTypes.argtypes = [
ctypes.POINTER(ctypes.POINTER(BNType)),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNComponentFreeReferencedTypes(
types: ctypes.POINTER(ctypes.POINTER(BNType)),
count: int
) -> None:
return _BNComponentFreeReferencedTypes(types, count)
# -------------------------------------------------------
# _BNComponentGetContainedComponents
_BNComponentGetContainedComponents = core.BNComponentGetContainedComponents
_BNComponentGetContainedComponents.restype = ctypes.POINTER(ctypes.POINTER(BNComponent))
_BNComponentGetContainedComponents.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetContainedComponents(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.POINTER(BNComponent))]:
result = _BNComponentGetContainedComponents(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetContainedDataVariables
_BNComponentGetContainedDataVariables = core.BNComponentGetContainedDataVariables
_BNComponentGetContainedDataVariables.restype = ctypes.POINTER(BNDataVariable)
_BNComponentGetContainedDataVariables.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetContainedDataVariables(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(BNDataVariable)]:
result = _BNComponentGetContainedDataVariables(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetContainedFunctions
_BNComponentGetContainedFunctions = core.BNComponentGetContainedFunctions
_BNComponentGetContainedFunctions.restype = ctypes.POINTER(ctypes.POINTER(BNFunction))
_BNComponentGetContainedFunctions.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetContainedFunctions(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.POINTER(BNFunction))]:
result = _BNComponentGetContainedFunctions(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetDisplayName
_BNComponentGetDisplayName = core.BNComponentGetDisplayName
_BNComponentGetDisplayName.restype = ctypes.POINTER(ctypes.c_byte)
_BNComponentGetDisplayName.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentGetDisplayName(
component: ctypes.POINTER(BNComponent)
) -> Optional[Optional[str]]:
result = _BNComponentGetDisplayName(component)
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNComponentGetGuid
_BNComponentGetGuid = core.BNComponentGetGuid
_BNComponentGetGuid.restype = ctypes.POINTER(ctypes.c_byte)
_BNComponentGetGuid.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentGetGuid(
component: ctypes.POINTER(BNComponent)
) -> Optional[Optional[str]]:
result = _BNComponentGetGuid(component)
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNComponentGetOriginalName
_BNComponentGetOriginalName = core.BNComponentGetOriginalName
_BNComponentGetOriginalName.restype = ctypes.POINTER(ctypes.c_byte)
_BNComponentGetOriginalName.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentGetOriginalName(
component: ctypes.POINTER(BNComponent)
) -> Optional[Optional[str]]:
result = _BNComponentGetOriginalName(component)
string = str(pyNativeStr(ctypes.cast(result, ctypes.c_char_p).value))
BNFreeString(result)
return string
# -------------------------------------------------------
# _BNComponentGetParent
_BNComponentGetParent = core.BNComponentGetParent
_BNComponentGetParent.restype = ctypes.POINTER(BNComponent)
_BNComponentGetParent.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentGetParent(
component: ctypes.POINTER(BNComponent)
) -> Optional[ctypes.POINTER(BNComponent)]:
result = _BNComponentGetParent(component)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetReferencedDataVariables
_BNComponentGetReferencedDataVariables = core.BNComponentGetReferencedDataVariables
_BNComponentGetReferencedDataVariables.restype = ctypes.POINTER(BNDataVariable)
_BNComponentGetReferencedDataVariables.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetReferencedDataVariables(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(BNDataVariable)]:
result = _BNComponentGetReferencedDataVariables(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetReferencedDataVariablesRecursive
_BNComponentGetReferencedDataVariablesRecursive = core.BNComponentGetReferencedDataVariablesRecursive
_BNComponentGetReferencedDataVariablesRecursive.restype = ctypes.POINTER(BNDataVariable)
_BNComponentGetReferencedDataVariablesRecursive.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetReferencedDataVariablesRecursive(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(BNDataVariable)]:
result = _BNComponentGetReferencedDataVariablesRecursive(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetReferencedTypes
_BNComponentGetReferencedTypes = core.BNComponentGetReferencedTypes
_BNComponentGetReferencedTypes.restype = ctypes.POINTER(ctypes.POINTER(BNType))
_BNComponentGetReferencedTypes.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetReferencedTypes(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.POINTER(BNType))]:
result = _BNComponentGetReferencedTypes(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetReferencedTypesRecursive
_BNComponentGetReferencedTypesRecursive = core.BNComponentGetReferencedTypesRecursive
_BNComponentGetReferencedTypesRecursive.restype = ctypes.POINTER(ctypes.POINTER(BNType))
_BNComponentGetReferencedTypesRecursive.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNComponentGetReferencedTypesRecursive(
component: ctypes.POINTER(BNComponent),
count: ctypes.POINTER(ctypes.c_ulonglong)
) -> Optional[ctypes.POINTER(ctypes.POINTER(BNType))]:
result = _BNComponentGetReferencedTypesRecursive(component, count)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentGetView
_BNComponentGetView = core.BNComponentGetView
_BNComponentGetView.restype = ctypes.POINTER(BNBinaryView)
_BNComponentGetView.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentGetView(
component: ctypes.POINTER(BNComponent)
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNComponentGetView(component)
if not result:
return None
return result
# -------------------------------------------------------
# _BNComponentRemoveAllFunctions
_BNComponentRemoveAllFunctions = core.BNComponentRemoveAllFunctions
_BNComponentRemoveAllFunctions.restype = None
_BNComponentRemoveAllFunctions.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentRemoveAllFunctions(
component: ctypes.POINTER(BNComponent)
) -> None:
return _BNComponentRemoveAllFunctions(component)
# -------------------------------------------------------
# _BNComponentRemoveComponent
_BNComponentRemoveComponent = core.BNComponentRemoveComponent
_BNComponentRemoveComponent.restype = ctypes.c_bool
_BNComponentRemoveComponent.argtypes = [
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentRemoveComponent(
component: ctypes.POINTER(BNComponent)
) -> bool:
return _BNComponentRemoveComponent(component)
# -------------------------------------------------------
# _BNComponentRemoveDataVariable
_BNComponentRemoveDataVariable = core.BNComponentRemoveDataVariable
_BNComponentRemoveDataVariable.restype = ctypes.c_bool
_BNComponentRemoveDataVariable.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNComponentRemoveDataVariable(
component: ctypes.POINTER(BNComponent),
address: int
) -> bool:
return _BNComponentRemoveDataVariable(component, address)
# -------------------------------------------------------
# _BNComponentRemoveFunctionReference
_BNComponentRemoveFunctionReference = core.BNComponentRemoveFunctionReference
_BNComponentRemoveFunctionReference.restype = ctypes.c_bool
_BNComponentRemoveFunctionReference.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNFunction),
]
# noinspection PyPep8Naming
def BNComponentRemoveFunctionReference(
component: ctypes.POINTER(BNComponent),
function: ctypes.POINTER(BNFunction)
) -> bool:
return _BNComponentRemoveFunctionReference(component, function)
# -------------------------------------------------------
# _BNComponentSetName
_BNComponentSetName = core.BNComponentSetName
_BNComponentSetName.restype = None
_BNComponentSetName.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNComponentSetName(
component: ctypes.POINTER(BNComponent),
name: Optional[str]
) -> None:
return _BNComponentSetName(component, cstr(name))
# -------------------------------------------------------
# _BNComponentsEqual
_BNComponentsEqual = core.BNComponentsEqual
_BNComponentsEqual.restype = ctypes.c_bool
_BNComponentsEqual.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentsEqual(
a: ctypes.POINTER(BNComponent),
b: ctypes.POINTER(BNComponent)
) -> bool:
return _BNComponentsEqual(a, b)
# -------------------------------------------------------
# _BNComponentsNotEqual
_BNComponentsNotEqual = core.BNComponentsNotEqual
_BNComponentsNotEqual.restype = ctypes.c_bool
_BNComponentsNotEqual.argtypes = [
ctypes.POINTER(BNComponent),
ctypes.POINTER(BNComponent),
]
# noinspection PyPep8Naming
def BNComponentsNotEqual(
a: ctypes.POINTER(BNComponent),
b: ctypes.POINTER(BNComponent)
) -> bool:
return _BNComponentsNotEqual(a, b)
# -------------------------------------------------------
# _BNConnectEnterpriseServer
_BNConnectEnterpriseServer = core.BNConnectEnterpriseServer
_BNConnectEnterpriseServer.restype = ctypes.c_bool
_BNConnectEnterpriseServer.argtypes = [
]
# noinspection PyPep8Naming
def BNConnectEnterpriseServer(
) -> bool:
return _BNConnectEnterpriseServer()
# -------------------------------------------------------
# _BNConnectWebsocketClient
_BNConnectWebsocketClient = core.BNConnectWebsocketClient
_BNConnectWebsocketClient.restype = ctypes.c_bool
_BNConnectWebsocketClient.argtypes = [
ctypes.POINTER(BNWebsocketClient),
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.POINTER(ctypes.c_char_p),
ctypes.POINTER(ctypes.c_char_p),
ctypes.POINTER(BNWebsocketClientOutputCallbacks),
]
# noinspection PyPep8Naming
def BNConnectWebsocketClient(
client: ctypes.POINTER(BNWebsocketClient),
url: Optional[str],
headerCount: int,
headerKeys: ctypes.POINTER(ctypes.c_char_p),
headerValues: ctypes.POINTER(ctypes.c_char_p),
callbacks: ctypes.POINTER(BNWebsocketClientOutputCallbacks)
) -> bool:
return _BNConnectWebsocketClient(client, cstr(url), headerCount, headerKeys, headerValues, callbacks)
# -------------------------------------------------------
# _BNConvertToNop
_BNConvertToNop = core.BNConvertToNop
_BNConvertToNop.restype = ctypes.c_bool
_BNConvertToNop.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNArchitecture),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNConvertToNop(
view: ctypes.POINTER(BNBinaryView),
arch: ctypes.POINTER(BNArchitecture),
addr: int
) -> bool:
return _BNConvertToNop(view, arch, addr)
# -------------------------------------------------------
# _BNCopyFile
_BNCopyFile = core.BNCopyFile
_BNCopyFile.restype = ctypes.c_bool
_BNCopyFile.argtypes = [
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCopyFile(
source: Optional[str],
dest: Optional[str]
) -> bool:
return _BNCopyFile(cstr(source), cstr(dest))
# -------------------------------------------------------
# _BNCoreEnumFromString
_BNCoreEnumFromString = core.BNCoreEnumFromString
_BNCoreEnumFromString.restype = ctypes.c_bool
_BNCoreEnumFromString.argtypes = [
ctypes.c_char_p,
ctypes.c_char_p,
ctypes.POINTER(ctypes.c_ulonglong),
]
# noinspection PyPep8Naming
def BNCoreEnumFromString(
enumName: Optional[str],
value: Optional[str],
result: ctypes.POINTER(ctypes.c_ulonglong)
) -> bool:
return _BNCoreEnumFromString(cstr(enumName), cstr(value), result)
# -------------------------------------------------------
# _BNCoreEnumToString
_BNCoreEnumToString = core.BNCoreEnumToString
_BNCoreEnumToString.restype = ctypes.c_bool
_BNCoreEnumToString.argtypes = [
ctypes.c_char_p,
ctypes.c_ulonglong,
ctypes.POINTER(ctypes.c_char_p),
]
# noinspection PyPep8Naming
def BNCoreEnumToString(
enumName: Optional[str],
value: int,
result: ctypes.POINTER(ctypes.c_char_p)
) -> bool:
return _BNCoreEnumToString(cstr(enumName), value, result)
# -------------------------------------------------------
# _BNCreateActivity
_BNCreateActivity = core.BNCreateActivity
_BNCreateActivity.restype = ctypes.POINTER(BNActivity)
_BNCreateActivity.argtypes = [
ctypes.c_char_p,
ctypes.c_void_p,
ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNAnalysisContext)),
]
# noinspection PyPep8Naming
def BNCreateActivity(
configuration: Optional[str],
ctxt: Optional[ctypes.c_void_p],
action: ctypes.CFUNCTYPE(None, ctypes.c_void_p, ctypes.POINTER(BNAnalysisContext))
) -> Optional[ctypes.POINTER(BNActivity)]:
result = _BNCreateActivity(cstr(configuration), ctxt, action)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateAnalysisContext
_BNCreateAnalysisContext = core.BNCreateAnalysisContext
_BNCreateAnalysisContext.restype = ctypes.POINTER(BNAnalysisContext)
_BNCreateAnalysisContext.argtypes = [
]
# noinspection PyPep8Naming
def BNCreateAnalysisContext(
) -> Optional[ctypes.POINTER(BNAnalysisContext)]:
result = _BNCreateAnalysisContext()
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateArrayType
_BNCreateArrayType = core.BNCreateArrayType
_BNCreateArrayType.restype = ctypes.POINTER(BNType)
_BNCreateArrayType.argtypes = [
ctypes.POINTER(BNTypeWithConfidence),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNCreateArrayType(
type: ctypes.POINTER(BNTypeWithConfidence),
elem: int
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNCreateArrayType(type, elem)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateArrayTypeBuilder
_BNCreateArrayTypeBuilder = core.BNCreateArrayTypeBuilder
_BNCreateArrayTypeBuilder.restype = ctypes.POINTER(BNTypeBuilder)
_BNCreateArrayTypeBuilder.argtypes = [
ctypes.POINTER(BNTypeWithConfidence),
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNCreateArrayTypeBuilder(
type: ctypes.POINTER(BNTypeWithConfidence),
elem: int
) -> Optional[ctypes.POINTER(BNTypeBuilder)]:
result = _BNCreateArrayTypeBuilder(type, elem)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateAutoStackVariable
_BNCreateAutoStackVariable = core.BNCreateAutoStackVariable
_BNCreateAutoStackVariable.restype = None
_BNCreateAutoStackVariable.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.c_longlong,
ctypes.POINTER(BNTypeWithConfidence),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCreateAutoStackVariable(
func: ctypes.POINTER(BNFunction),
offset: int,
type: ctypes.POINTER(BNTypeWithConfidence),
name: Optional[str]
) -> None:
return _BNCreateAutoStackVariable(func, offset, type, cstr(name))
# -------------------------------------------------------
# _BNCreateAutoVariable
_BNCreateAutoVariable = core.BNCreateAutoVariable
_BNCreateAutoVariable.restype = None
_BNCreateAutoVariable.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNVariable),
ctypes.POINTER(BNTypeWithConfidence),
ctypes.c_char_p,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNCreateAutoVariable(
func: ctypes.POINTER(BNFunction),
var: ctypes.POINTER(BNVariable),
type: ctypes.POINTER(BNTypeWithConfidence),
name: Optional[str],
ignoreDisjointUses: bool
) -> None:
return _BNCreateAutoVariable(func, var, type, cstr(name), ignoreDisjointUses)
# -------------------------------------------------------
# _BNCreateBinaryDataView
_BNCreateBinaryDataView = core.BNCreateBinaryDataView
_BNCreateBinaryDataView.restype = ctypes.POINTER(BNBinaryView)
_BNCreateBinaryDataView.argtypes = [
ctypes.POINTER(BNFileMetadata),
]
# noinspection PyPep8Naming
def BNCreateBinaryDataView(
file: ctypes.POINTER(BNFileMetadata)
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateBinaryDataView(file)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryDataViewFromBuffer
_BNCreateBinaryDataViewFromBuffer = core.BNCreateBinaryDataViewFromBuffer
_BNCreateBinaryDataViewFromBuffer.restype = ctypes.POINTER(BNBinaryView)
_BNCreateBinaryDataViewFromBuffer.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.POINTER(BNDataBuffer),
]
# noinspection PyPep8Naming
def BNCreateBinaryDataViewFromBuffer(
file: ctypes.POINTER(BNFileMetadata),
buf: ctypes.POINTER(BNDataBuffer)
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateBinaryDataViewFromBuffer(file, buf)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryDataViewFromData
_BNCreateBinaryDataViewFromData = core.BNCreateBinaryDataViewFromData
_BNCreateBinaryDataViewFromData.restype = ctypes.POINTER(BNBinaryView)
_BNCreateBinaryDataViewFromData.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.c_void_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNCreateBinaryDataViewFromData(
file: ctypes.POINTER(BNFileMetadata),
data: Optional[ctypes.c_void_p],
len: int
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateBinaryDataViewFromData(file, data, len)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryDataViewFromFile
_BNCreateBinaryDataViewFromFile = core.BNCreateBinaryDataViewFromFile
_BNCreateBinaryDataViewFromFile.restype = ctypes.POINTER(BNBinaryView)
_BNCreateBinaryDataViewFromFile.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.POINTER(BNFileAccessor),
]
# noinspection PyPep8Naming
def BNCreateBinaryDataViewFromFile(
file: ctypes.POINTER(BNFileMetadata),
accessor: ctypes.POINTER(BNFileAccessor)
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateBinaryDataViewFromFile(file, accessor)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryDataViewFromFilename
_BNCreateBinaryDataViewFromFilename = core.BNCreateBinaryDataViewFromFilename
_BNCreateBinaryDataViewFromFilename.restype = ctypes.POINTER(BNBinaryView)
_BNCreateBinaryDataViewFromFilename.argtypes = [
ctypes.POINTER(BNFileMetadata),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCreateBinaryDataViewFromFilename(
file: ctypes.POINTER(BNFileMetadata),
filename: Optional[str]
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateBinaryDataViewFromFilename(file, cstr(filename))
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryReader
_BNCreateBinaryReader = core.BNCreateBinaryReader
_BNCreateBinaryReader.restype = ctypes.POINTER(BNBinaryReader)
_BNCreateBinaryReader.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNCreateBinaryReader(
view: ctypes.POINTER(BNBinaryView)
) -> Optional[ctypes.POINTER(BNBinaryReader)]:
result = _BNCreateBinaryReader(view)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryViewOfType
_BNCreateBinaryViewOfType = core.BNCreateBinaryViewOfType
_BNCreateBinaryViewOfType.restype = ctypes.POINTER(BNBinaryView)
_BNCreateBinaryViewOfType.argtypes = [
ctypes.POINTER(BNBinaryViewType),
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNCreateBinaryViewOfType(
type: ctypes.POINTER(BNBinaryViewType),
data: ctypes.POINTER(BNBinaryView)
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateBinaryViewOfType(type, data)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBinaryWriter
_BNCreateBinaryWriter = core.BNCreateBinaryWriter
_BNCreateBinaryWriter.restype = ctypes.POINTER(BNBinaryWriter)
_BNCreateBinaryWriter.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNCreateBinaryWriter(
view: ctypes.POINTER(BNBinaryView)
) -> Optional[ctypes.POINTER(BNBinaryWriter)]:
result = _BNCreateBinaryWriter(view)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBoolType
_BNCreateBoolType = core.BNCreateBoolType
_BNCreateBoolType.restype = ctypes.POINTER(BNType)
_BNCreateBoolType.argtypes = [
]
# noinspection PyPep8Naming
def BNCreateBoolType(
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNCreateBoolType()
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateBoolTypeBuilder
_BNCreateBoolTypeBuilder = core.BNCreateBoolTypeBuilder
_BNCreateBoolTypeBuilder.restype = ctypes.POINTER(BNTypeBuilder)
_BNCreateBoolTypeBuilder.argtypes = [
]
# noinspection PyPep8Naming
def BNCreateBoolTypeBuilder(
) -> Optional[ctypes.POINTER(BNTypeBuilder)]:
result = _BNCreateBoolTypeBuilder()
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateCallingConvention
_BNCreateCallingConvention = core.BNCreateCallingConvention
_BNCreateCallingConvention.restype = ctypes.POINTER(BNCallingConvention)
_BNCreateCallingConvention.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.c_char_p,
ctypes.POINTER(BNCustomCallingConvention),
]
# noinspection PyPep8Naming
def BNCreateCallingConvention(
arch: ctypes.POINTER(BNArchitecture),
name: Optional[str],
cc: ctypes.POINTER(BNCustomCallingConvention)
) -> Optional[ctypes.POINTER(BNCallingConvention)]:
result = _BNCreateCallingConvention(arch, cstr(name), cc)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateComponent
_BNCreateComponent = core.BNCreateComponent
_BNCreateComponent.restype = ctypes.POINTER(BNComponent)
_BNCreateComponent.argtypes = [
ctypes.POINTER(BNBinaryView),
]
# noinspection PyPep8Naming
def BNCreateComponent(
view: ctypes.POINTER(BNBinaryView)
) -> Optional[ctypes.POINTER(BNComponent)]:
result = _BNCreateComponent(view)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateComponentWithName
_BNCreateComponentWithName = core.BNCreateComponentWithName
_BNCreateComponentWithName.restype = ctypes.POINTER(BNComponent)
_BNCreateComponentWithName.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCreateComponentWithName(
view: ctypes.POINTER(BNBinaryView),
name: Optional[str]
) -> Optional[ctypes.POINTER(BNComponent)]:
result = _BNCreateComponentWithName(view, cstr(name))
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateComponentWithParent
_BNCreateComponentWithParent = core.BNCreateComponentWithParent
_BNCreateComponentWithParent.restype = ctypes.POINTER(BNComponent)
_BNCreateComponentWithParent.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCreateComponentWithParent(
view: ctypes.POINTER(BNBinaryView),
parentGUID: Optional[str]
) -> Optional[ctypes.POINTER(BNComponent)]:
result = _BNCreateComponentWithParent(view, cstr(parentGUID))
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateComponentWithParentAndName
_BNCreateComponentWithParentAndName = core.BNCreateComponentWithParentAndName
_BNCreateComponentWithParentAndName.restype = ctypes.POINTER(BNComponent)
_BNCreateComponentWithParentAndName.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCreateComponentWithParentAndName(
view: ctypes.POINTER(BNBinaryView),
parentGUID: Optional[str],
name: Optional[str]
) -> Optional[ctypes.POINTER(BNComponent)]:
result = _BNCreateComponentWithParentAndName(view, cstr(parentGUID), cstr(name))
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateCustomBinaryView
_BNCreateCustomBinaryView = core.BNCreateCustomBinaryView
_BNCreateCustomBinaryView.restype = ctypes.POINTER(BNBinaryView)
_BNCreateCustomBinaryView.argtypes = [
ctypes.c_char_p,
ctypes.POINTER(BNFileMetadata),
ctypes.POINTER(BNBinaryView),
ctypes.POINTER(BNCustomBinaryView),
]
# noinspection PyPep8Naming
def BNCreateCustomBinaryView(
name: Optional[str],
file: ctypes.POINTER(BNFileMetadata),
parent: ctypes.POINTER(BNBinaryView),
view: ctypes.POINTER(BNCustomBinaryView)
) -> Optional[ctypes.POINTER(BNBinaryView)]:
result = _BNCreateCustomBinaryView(cstr(name), file, parent, view)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateCustomFlowGraph
_BNCreateCustomFlowGraph = core.BNCreateCustomFlowGraph
_BNCreateCustomFlowGraph.restype = ctypes.POINTER(BNFlowGraph)
_BNCreateCustomFlowGraph.argtypes = [
ctypes.POINTER(BNCustomFlowGraph),
]
# noinspection PyPep8Naming
def BNCreateCustomFlowGraph(
callbacks: ctypes.POINTER(BNCustomFlowGraph)
) -> Optional[ctypes.POINTER(BNFlowGraph)]:
result = _BNCreateCustomFlowGraph(callbacks)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateDataBuffer
_BNCreateDataBuffer = core.BNCreateDataBuffer
_BNCreateDataBuffer.restype = ctypes.POINTER(BNDataBuffer)
_BNCreateDataBuffer.argtypes = [
ctypes.c_void_p,
ctypes.c_ulonglong,
]
# noinspection PyPep8Naming
def BNCreateDataBuffer(
data: Optional[ctypes.c_void_p],
len: int
) -> Optional[ctypes.POINTER(BNDataBuffer)]:
result = _BNCreateDataBuffer(data, len)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateDataRenderer
_BNCreateDataRenderer = core.BNCreateDataRenderer
_BNCreateDataRenderer.restype = ctypes.POINTER(BNDataRenderer)
_BNCreateDataRenderer.argtypes = [
ctypes.POINTER(BNCustomDataRenderer),
]
# noinspection PyPep8Naming
def BNCreateDataRenderer(
renderer: ctypes.POINTER(BNCustomDataRenderer)
) -> Optional[ctypes.POINTER(BNDataRenderer)]:
result = _BNCreateDataRenderer(renderer)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateDatabase
_BNCreateDatabase = core.BNCreateDatabase
_BNCreateDatabase.restype = ctypes.c_bool
_BNCreateDatabase.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.POINTER(BNSaveSettings),
]
# noinspection PyPep8Naming
def BNCreateDatabase(
data: ctypes.POINTER(BNBinaryView),
path: Optional[str],
settings: ctypes.POINTER(BNSaveSettings)
) -> bool:
return _BNCreateDatabase(data, cstr(path), settings)
# -------------------------------------------------------
# _BNCreateDatabaseWithProgress
_BNCreateDatabaseWithProgress = core.BNCreateDatabaseWithProgress
_BNCreateDatabaseWithProgress.restype = ctypes.c_bool
_BNCreateDatabaseWithProgress.argtypes = [
ctypes.POINTER(BNBinaryView),
ctypes.c_char_p,
ctypes.c_void_p,
ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong),
ctypes.POINTER(BNSaveSettings),
]
# noinspection PyPep8Naming
def BNCreateDatabaseWithProgress(
data: ctypes.POINTER(BNBinaryView),
path: Optional[str],
ctxt: Optional[ctypes.c_void_p],
progress: ctypes.CFUNCTYPE(ctypes.c_bool, ctypes.c_void_p, ctypes.c_ulonglong, ctypes.c_ulonglong),
settings: ctypes.POINTER(BNSaveSettings)
) -> bool:
return _BNCreateDatabaseWithProgress(data, cstr(path), ctxt, progress, settings)
# -------------------------------------------------------
# _BNCreateDirectory
_BNCreateDirectory = core.BNCreateDirectory
_BNCreateDirectory.restype = ctypes.c_bool
_BNCreateDirectory.argtypes = [
ctypes.c_char_p,
ctypes.c_bool,
]
# noinspection PyPep8Naming
def BNCreateDirectory(
path: Optional[str],
createSubdirectories: bool
) -> bool:
return _BNCreateDirectory(cstr(path), createSubdirectories)
# -------------------------------------------------------
# _BNCreateDisassemblySettings
_BNCreateDisassemblySettings = core.BNCreateDisassemblySettings
_BNCreateDisassemblySettings.restype = ctypes.POINTER(BNDisassemblySettings)
_BNCreateDisassemblySettings.argtypes = [
]
# noinspection PyPep8Naming
def BNCreateDisassemblySettings(
) -> Optional[ctypes.POINTER(BNDisassemblySettings)]:
result = _BNCreateDisassemblySettings()
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateDisassemblyTextRenderer
_BNCreateDisassemblyTextRenderer = core.BNCreateDisassemblyTextRenderer
_BNCreateDisassemblyTextRenderer.restype = ctypes.POINTER(BNDisassemblyTextRenderer)
_BNCreateDisassemblyTextRenderer.argtypes = [
ctypes.POINTER(BNFunction),
ctypes.POINTER(BNDisassemblySettings),
]
# noinspection PyPep8Naming
def BNCreateDisassemblyTextRenderer(
func: ctypes.POINTER(BNFunction),
settings: ctypes.POINTER(BNDisassemblySettings)
) -> Optional[ctypes.POINTER(BNDisassemblyTextRenderer)]:
result = _BNCreateDisassemblyTextRenderer(func, settings)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateDownloadProviderInstance
_BNCreateDownloadProviderInstance = core.BNCreateDownloadProviderInstance
_BNCreateDownloadProviderInstance.restype = ctypes.POINTER(BNDownloadInstance)
_BNCreateDownloadProviderInstance.argtypes = [
ctypes.POINTER(BNDownloadProvider),
]
# noinspection PyPep8Naming
def BNCreateDownloadProviderInstance(
provider: ctypes.POINTER(BNDownloadProvider)
) -> Optional[ctypes.POINTER(BNDownloadInstance)]:
result = _BNCreateDownloadProviderInstance(provider)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateEnumerationBuilder
_BNCreateEnumerationBuilder = core.BNCreateEnumerationBuilder
_BNCreateEnumerationBuilder.restype = ctypes.POINTER(BNEnumerationBuilder)
_BNCreateEnumerationBuilder.argtypes = [
]
# noinspection PyPep8Naming
def BNCreateEnumerationBuilder(
) -> Optional[ctypes.POINTER(BNEnumerationBuilder)]:
result = _BNCreateEnumerationBuilder()
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateEnumerationBuilderFromEnumeration
_BNCreateEnumerationBuilderFromEnumeration = core.BNCreateEnumerationBuilderFromEnumeration
_BNCreateEnumerationBuilderFromEnumeration.restype = ctypes.POINTER(BNEnumerationBuilder)
_BNCreateEnumerationBuilderFromEnumeration.argtypes = [
ctypes.POINTER(BNEnumeration),
]
# noinspection PyPep8Naming
def BNCreateEnumerationBuilderFromEnumeration(
e: ctypes.POINTER(BNEnumeration)
) -> Optional[ctypes.POINTER(BNEnumerationBuilder)]:
result = _BNCreateEnumerationBuilderFromEnumeration(e)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateEnumerationType
_BNCreateEnumerationType = core.BNCreateEnumerationType
_BNCreateEnumerationType.restype = ctypes.POINTER(BNType)
_BNCreateEnumerationType.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(BNEnumeration),
ctypes.c_ulonglong,
ctypes.POINTER(BNBoolWithConfidence),
]
# noinspection PyPep8Naming
def BNCreateEnumerationType(
arch: ctypes.POINTER(BNArchitecture),
e: ctypes.POINTER(BNEnumeration),
width: int,
isSigned: ctypes.POINTER(BNBoolWithConfidence)
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNCreateEnumerationType(arch, e, width, isSigned)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateEnumerationTypeBuilder
_BNCreateEnumerationTypeBuilder = core.BNCreateEnumerationTypeBuilder
_BNCreateEnumerationTypeBuilder.restype = ctypes.POINTER(BNTypeBuilder)
_BNCreateEnumerationTypeBuilder.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(BNEnumeration),
ctypes.c_ulonglong,
ctypes.POINTER(BNBoolWithConfidence),
]
# noinspection PyPep8Naming
def BNCreateEnumerationTypeBuilder(
arch: ctypes.POINTER(BNArchitecture),
e: ctypes.POINTER(BNEnumeration),
width: int,
isSigned: ctypes.POINTER(BNBoolWithConfidence)
) -> Optional[ctypes.POINTER(BNTypeBuilder)]:
result = _BNCreateEnumerationTypeBuilder(arch, e, width, isSigned)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateEnumerationTypeBuilderWithBuilder
_BNCreateEnumerationTypeBuilderWithBuilder = core.BNCreateEnumerationTypeBuilderWithBuilder
_BNCreateEnumerationTypeBuilderWithBuilder.restype = ctypes.POINTER(BNTypeBuilder)
_BNCreateEnumerationTypeBuilderWithBuilder.argtypes = [
ctypes.POINTER(BNArchitecture),
ctypes.POINTER(BNEnumerationBuilder),
ctypes.c_ulonglong,
ctypes.POINTER(BNBoolWithConfidence),
]
# noinspection PyPep8Naming
def BNCreateEnumerationTypeBuilderWithBuilder(
arch: ctypes.POINTER(BNArchitecture),
e: ctypes.POINTER(BNEnumerationBuilder),
width: int,
isSigned: ctypes.POINTER(BNBoolWithConfidence)
) -> Optional[ctypes.POINTER(BNTypeBuilder)]:
result = _BNCreateEnumerationTypeBuilderWithBuilder(arch, e, width, isSigned)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateEnumerationTypeOfWidth
_BNCreateEnumerationTypeOfWidth = core.BNCreateEnumerationTypeOfWidth
_BNCreateEnumerationTypeOfWidth.restype = ctypes.POINTER(BNType)
_BNCreateEnumerationTypeOfWidth.argtypes = [
ctypes.POINTER(BNEnumeration),
ctypes.c_ulonglong,
ctypes.POINTER(BNBoolWithConfidence),
]
# noinspection PyPep8Naming
def BNCreateEnumerationTypeOfWidth(
e: ctypes.POINTER(BNEnumeration),
width: int,
isSigned: ctypes.POINTER(BNBoolWithConfidence)
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNCreateEnumerationTypeOfWidth(e, width, isSigned)
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateFileMetadata
_BNCreateFileMetadata = core.BNCreateFileMetadata
_BNCreateFileMetadata.restype = ctypes.POINTER(BNFileMetadata)
_BNCreateFileMetadata.argtypes = [
]
# noinspection PyPep8Naming
def BNCreateFileMetadata(
) -> Optional[ctypes.POINTER(BNFileMetadata)]:
result = _BNCreateFileMetadata()
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateFloatType
_BNCreateFloatType = core.BNCreateFloatType
_BNCreateFloatType.restype = ctypes.POINTER(BNType)
_BNCreateFloatType.argtypes = [
ctypes.c_ulonglong,
ctypes.c_char_p,
]
# noinspection PyPep8Naming
def BNCreateFloatType(
width: int,
altName: Optional[str]
) -> Optional[ctypes.POINTER(BNType)]:
result = _BNCreateFloatType(width, cstr(altName))
if not result:
return None
return result
# -------------------------------------------------------
# _BNCreateFloatTypeBuilder
_BNCreateFloatTypeBuilder = core.BNCreateFloatTypeBuilder
_BNCreateFloatTypeBuilder.restype = ctypes.POINTER(BNTypeBuilder