Skip to content

File SpinnakerGenApiDefsC.h

File List > include > spinc > SpinnakerGenApiDefsC.h

Go to the documentation of this file

//=============================================================================
// Copyright (c) 2026 FLIR Integrated Imaging Solutions, Inc. All Rights Reserved.
//
// This software is the confidential and proprietary information of FLIR
// Integrated Imaging Solutions, Inc. ("Confidential Information"). You
// shall not disclose such Confidential Information and shall use it only in
// accordance with the terms of the license agreement you entered into
// with FLIR Integrated Imaging Solutions, Inc. (FLIR).
//
// FLIR MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF THE
// SOFTWARE, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE, OR NON-INFRINGEMENT. FLIR SHALL NOT BE LIABLE FOR ANY DAMAGES
// SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING
// THIS SOFTWARE OR ITS DERIVATIVES.
//=============================================================================

#ifndef FLIR_SPINNAKER_GENAPIDEFS_C_H
#define FLIR_SPINNAKER_GENAPIDEFS_C_H

typedef void* spinNodeMapHandle;

typedef void* spinNodeHandle;

typedef void* spinNodeCallbackHandle;

// Functions signatures

typedef void (*spinNodeCallbackFunction)(spinNodeHandle hNode);

typedef enum _spinNodeType
{
    ValueNode,
    BaseNode,
    IntegerNode,
    BooleanNode,
    FloatNode,
    CommandNode,
    StringNode,
    RegisterNode,
    EnumerationNode,
    EnumEntryNode,
    CategoryNode,
    PortNode,
    UnknownNode = -1
} spinNodeType;

// signed or unsigned integers
typedef enum _spinSign
{
    Signed,
    Unsigned,
    _UndefinedSign
} spinSign;

// access mode of a node
typedef enum _spinAccessMode
{
    NI,
    NA,
    WO,
    RO,
    RW,
    _UndefinedAccesMode,
    _CycleDetectAccesMode

} spinAccessMode;

// recommended visibility of a node
typedef enum _spinVisibility
{
    Beginner = 0,
    Expert = 1,
    Guru = 2,
    Invisible = 3,
    _UndefinedVisibility = 99
} spinVisibility;

// caching mode of a register
typedef enum _spinCachingMode
{
    NoCache,              // Do not use cache
    WriteThrough,         // Write to cache and register
    WriteAround,          // Write to register, write to cache on read
    _UndefinedCachingMode // Not yet initialized
} spinCachingMode;

typedef enum _spinRepresentation
{
    Linear,      
    Logarithmic, 
    Boolean,     
    PureNumber,  
    HexNumber,   
    IPV4Address, 
    MACAddress,  
    _UndefinedRepresentation
} spinRepresentation;

typedef enum _spinEndianess
{
    BigEndian,       
    LittleEndian,    
    _UndefinedEndian 
} spinEndianess;

typedef enum _spinNameSpace
{
    Custom,             
    Standard,           
    _UndefinedNameSpace 
} spinNameSpace;

typedef enum _spinStandardNameSpace
{
    None,                       
    GEV,                        
    IIDC,                       
    CL,                         
    USB,                        
    _UndefinedStandardNameSpace 
} spinStandardNameSpace;

typedef enum _spinYesNo
{
    Yes = 1,            
    No = 0,             
    _UndefinedYesNo = 2 
} spinYesNo;

typedef enum _spinSlope
{
    Increasing,      
    Decreasing,      
    Varying,         
    Automatic,       
    _UndefinedESlope 
} spinSlope;


typedef enum _spinXMLValidation
{
    xvLoad = 0x00000001L,                 
    xvCycles = 0x00000002L,               
    xvSFNC = 0x00000004L,                 
    xvDefault = 0x00000000L,              
    xvAll = 0xffffffffL,                  
    _UndefinedEXMLValidation = 0x8000000L 
} spinXMLValidation;

typedef enum _spinDisplayNotation
{
    fnAutomatic,               
    fnFixed,                   
    fnScientific,              
    _UndefinedEDisplayNotation 
} spinDisplayNotation;

typedef enum _spinInterfaceType
{
    intfIValue,       
    intfIBase,        
    intfIInteger,     
    intfIBoolean,     
    intfICommand,     
    intfIFloat,       
    intfIString,      
    intfIRegister,    
    intfICategory,    
    intfIEnumeration, 
    intfIEnumEntry,   
    intfIPort         
} spinInterfaceType;

typedef enum _spinLinkType
{
    ctAllDependingNodes, 
    ctAllTerminalNodes,  
    ctInvalidators,      
    ctReadingChildren,   
    ctWritingChildren,   
    ctDependingChildren  
} spinLinkType;

typedef enum _spinIncMode
{
    noIncrement,    // !> The feature has no increment
    fixedIncrement, // !> The feature has a fix increment
    listIncrement,  // !> The feature has a list of valid value
} spinIncMode;

typedef enum _spinInputDirection
{
    idFrom, 
    idTo,   
    idNone  
} spinInputDirection;

#endif // FLIR_SPINNAKER_GENAPIDEFS_C_H