Program Listing for File VmbC.h
↰ Return to documentation for file (include/VmbC/VmbC.h
)
/*=============================================================================
Copyright (C) 2012 - 2023 Allied Vision Technologies. All Rights Reserved.
Redistribution of this header file, in original or modified form, without
prior written consent of Allied Vision Technologies is prohibited.
-------------------------------------------------------------------------------
File: VmbC.h
-------------------------------------------------------------------------------
THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF TITLE,
NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
=============================================================================*/
#ifndef VMBC_H_INCLUDE_
#define VMBC_H_INCLUDE_
#include <stddef.h>
#include <stdint.h>
#include <VmbC/VmbCommonTypes.h>
#include <VmbC/VmbCTypeDefinitions.h>
#ifdef __cplusplus
extern "C" {
#endif
#define VMBINFINITE 0xFFFFFFFF
#define VMB_API_HANDLE(typeName) ((typeName)((((VmbUint64_t)1) << (VmbUint64_t)(sizeof(VmbHandle_t) * 8 - 4)) | ((VmbUint64_t) 1)))
static const VmbHandle_t gVmbHandle = VMB_API_HANDLE(VmbHandle_t);
//===== FUNCTION PROTOTYPES ===================================================
IMEXPORTC VmbError_t VMB_CALL VmbVersionQuery ( VmbVersionInfo_t* versionInfo,
VmbUint32_t sizeofVersionInfo );
IMEXPORTC VmbError_t VMB_CALL VmbStartup (const VmbFilePathChar_t* pathConfiguration);
IMEXPORTC void VMB_CALL VmbShutdown ( void );
IMEXPORTC VmbError_t VMB_CALL VmbCamerasList ( VmbCameraInfo_t* cameraInfo,
VmbUint32_t listLength,
VmbUint32_t* numFound,
VmbUint32_t sizeofCameraInfo );
IMEXPORTC VmbError_t VMB_CALL VmbCameraInfoQueryByHandle( VmbHandle_t cameraHandle,
VmbCameraInfo_t* info,
VmbUint32_t sizeofCameraInfo);
IMEXPORTC VmbError_t VMB_CALL VmbCameraInfoQuery ( const char* idString,
VmbCameraInfo_t* info,
VmbUint32_t sizeofCameraInfo );
IMEXPORTC VmbError_t VMB_CALL VmbCameraOpen ( const char* idString,
VmbAccessMode_t accessMode,
VmbHandle_t* cameraHandle );
IMEXPORTC VmbError_t VMB_CALL VmbCameraClose ( const VmbHandle_t cameraHandle );
//----- Features ----------------------------------------------------------
IMEXPORTC VmbError_t VMB_CALL VmbFeaturesList ( VmbHandle_t handle,
VmbFeatureInfo_t* featureInfoList,
VmbUint32_t listLength,
VmbUint32_t* numFound,
VmbUint32_t sizeofFeatureInfo );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureInfoQuery ( const VmbHandle_t handle,
const char* name,
VmbFeatureInfo_t* featureInfo,
VmbUint32_t sizeofFeatureInfo );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureListSelected ( const VmbHandle_t handle,
const char* name,
VmbFeatureInfo_t* featureInfoList,
VmbUint32_t listLength,
VmbUint32_t* numFound,
VmbUint32_t sizeofFeatureInfo );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureAccessQuery ( const VmbHandle_t handle,
const char* name,
VmbBool_t * isReadable,
VmbBool_t * isWriteable );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureIntGet ( const VmbHandle_t handle,
const char* name,
VmbInt64_t* value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureIntSet ( const VmbHandle_t handle,
const char* name,
VmbInt64_t value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureIntRangeQuery ( const VmbHandle_t handle,
const char* name,
VmbInt64_t* min,
VmbInt64_t* max );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureIntIncrementQuery ( const VmbHandle_t handle,
const char* name,
VmbInt64_t* value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureIntValidValueSetQuery(const VmbHandle_t handle,
const char* name,
VmbInt64_t* buffer,
VmbUint32_t bufferSize,
VmbUint32_t* setSize);
IMEXPORTC VmbError_t VMB_CALL VmbFeatureFloatGet ( const VmbHandle_t handle,
const char* name,
double* value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureFloatSet ( const VmbHandle_t handle,
const char* name,
double value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureFloatRangeQuery ( const VmbHandle_t handle,
const char* name,
double* min,
double* max );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureFloatIncrementQuery ( const VmbHandle_t handle,
const char* name,
VmbBool_t* hasIncrement,
double* value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumGet ( const VmbHandle_t handle,
const char* name,
const char** value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumSet ( const VmbHandle_t handle,
const char* name,
const char* value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumRangeQuery ( const VmbHandle_t handle,
const char* name,
const char** nameArray,
VmbUint32_t arrayLength,
VmbUint32_t* numFound );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumIsAvailable ( const VmbHandle_t handle,
const char* name,
const char* value,
VmbBool_t * isAvailable );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumAsInt ( const VmbHandle_t handle,
const char* name,
const char* value,
VmbInt64_t* intVal );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumAsString ( VmbHandle_t handle,
const char* name,
VmbInt64_t intValue,
const char** stringValue );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureEnumEntryGet ( const VmbHandle_t handle,
const char* featureName,
const char* entryName,
VmbFeatureEnumEntry_t* featureEnumEntry,
VmbUint32_t sizeofFeatureEnumEntry );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureStringGet ( const VmbHandle_t handle,
const char* name,
char* buffer,
VmbUint32_t bufferSize,
VmbUint32_t* sizeFilled );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureStringSet ( const VmbHandle_t handle,
const char* name,
const char* value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureStringMaxlengthQuery ( const VmbHandle_t handle,
const char* name,
VmbUint32_t* maxLength );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureBoolGet ( const VmbHandle_t handle,
const char* name,
VmbBool_t * value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureBoolSet ( const VmbHandle_t handle,
const char* name,
VmbBool_t value );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureCommandRun ( const VmbHandle_t handle,
const char* name );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureCommandIsDone ( const VmbHandle_t handle,
const char* name,
VmbBool_t * isDone );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureRawGet ( const VmbHandle_t handle,
const char* name,
char* buffer,
VmbUint32_t bufferSize,
VmbUint32_t* sizeFilled );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureRawSet ( const VmbHandle_t handle,
const char* name,
const char* buffer,
VmbUint32_t bufferSize );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureRawLengthQuery ( const VmbHandle_t handle,
const char* name,
VmbUint32_t* length );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureInvalidationRegister ( VmbHandle_t handle,
const char* name,
VmbInvalidationCallback callback,
void* userContext );
IMEXPORTC VmbError_t VMB_CALL VmbFeatureInvalidationUnregister ( VmbHandle_t handle,
const char* name,
VmbInvalidationCallback callback );
IMEXPORTC VmbError_t VMB_CALL VmbPayloadSizeGet(VmbHandle_t handle,
VmbUint32_t* payloadSize);
IMEXPORTC VmbError_t VMB_CALL VmbFrameAnnounce ( VmbHandle_t handle,
const VmbFrame_t* frame,
VmbUint32_t sizeofFrame );
IMEXPORTC VmbError_t VMB_CALL VmbFrameRevoke ( VmbHandle_t handle,
const VmbFrame_t* frame );
IMEXPORTC VmbError_t VMB_CALL VmbFrameRevokeAll ( VmbHandle_t handle );
IMEXPORTC VmbError_t VMB_CALL VmbCaptureStart ( VmbHandle_t handle );
IMEXPORTC VmbError_t VMB_CALL VmbCaptureEnd ( VmbHandle_t handle );
IMEXPORTC VmbError_t VMB_CALL VmbCaptureFrameQueue ( VmbHandle_t handle,
const VmbFrame_t* frame,
VmbFrameCallback callback );
IMEXPORTC VmbError_t VMB_CALL VmbCaptureFrameWait ( const VmbHandle_t handle,
const VmbFrame_t* frame,
VmbUint32_t timeout);
IMEXPORTC VmbError_t VMB_CALL VmbCaptureQueueFlush(VmbHandle_t handle);
IMEXPORTC VmbError_t VMB_CALL VmbTransportLayersList ( VmbTransportLayerInfo_t* transportLayerInfo,
VmbUint32_t listLength,
VmbUint32_t* numFound,
VmbUint32_t sizeofTransportLayerInfo);
IMEXPORTC VmbError_t VMB_CALL VmbInterfacesList ( VmbInterfaceInfo_t* interfaceInfo,
VmbUint32_t listLength,
VmbUint32_t* numFound,
VmbUint32_t sizeofInterfaceInfo );
//----- Memory/Register access --------------------------------------------
IMEXPORTC VmbError_t VMB_CALL VmbMemoryRead ( const VmbHandle_t handle,
VmbUint64_t address,
VmbUint32_t bufferSize,
char* dataBuffer,
VmbUint32_t* sizeComplete );
IMEXPORTC VmbError_t VMB_CALL VmbMemoryWrite ( const VmbHandle_t handle,
VmbUint64_t address,
VmbUint32_t bufferSize,
const char* dataBuffer,
VmbUint32_t* sizeComplete );
IMEXPORTC VmbError_t VMB_CALL VmbSettingsSave(VmbHandle_t handle,
const VmbFilePathChar_t* filePath,
const VmbFeaturePersistSettings_t* settings,
VmbUint32_t sizeofSettings);
IMEXPORTC VmbError_t VMB_CALL VmbSettingsLoad(VmbHandle_t handle,
const VmbFilePathChar_t* filePath,
const VmbFeaturePersistSettings_t* settings,
VmbUint32_t sizeofSettings);
IMEXPORTC VmbError_t VMB_CALL VmbChunkDataAccess(const VmbFrame_t* frame,
VmbChunkAccessCallback chunkAccessCallback,
void* userContext);
#ifdef __cplusplus
}
#endif
#endif // VMBC_H_INCLUDE_