#ifndef XLRAPI_H #define XLRAPI_H // // Header file for StreamStor API functions // // Copyright 2000 Conduant Corporation // #ifdef WIN32 #include #endif #include "xlrtypes.h" #ifdef WIN32 # ifdef SSAPI_EXPORTS # define XLREXPORT extern "C" __declspec(dllexport) # else # ifdef __cplusplus # define XLREXPORT extern "C" __declspec(dllimport) # else # define XLREXPORT __declspec(dllimport) # endif # endif #else # define XLREXPORT extern #endif #if defined( WIN32 ) # if defined( NOSTDCALL ) # define XLRCALLTYPE # else # define XLRCALLTYPE __stdcall # endif #else # define XLRCALLTYPE #endif #define XLR_SUCCESS 0 // API Function succeeded #define XLR_FAIL 1 // API Function failed #define XLR_DATECODE_LENGTH 12 // Character buffer length required for version datecode #define XLR_VERSION_LENGTH 8 // Character buffer length required for version number #define XLR_ERROR_LENGTH 81 // Character buffer length required for error string #define XLR_WRAP_DISABLE 0 // Switch value to disable data wrapping in XlrRecord() #define XLR_WRAP_ENABLE 1 // Switch value to enable data wrapping in XlrRecord() #define XLR_MAX_NAME 12 // Length of maximum name string #define XLR_MAX_VRS 4 // Maximum number of configurable virtual recorders #define XLR_MAX_DRIVENAME 44 #define XLR_MAX_DRIVESERIAL 24 #define XLR_MAX_DRIVEREV 12 #define XLR_MAX_UDIR_LENGTH 10485760 // Maximum size of a user directory is //10 megabyte. #define XLR_MASTER_DRIVE 0 #define XLR_SLAVE_DRIVE 1 // FIFO mode definitions #define XLR_MODE_DEFAULT 0 // Default recorder mode #define XLR_MODE_FIFO 1 // Normal FIFO mode (destructive reads) // Read status return values #define XLR_READ_COMPLETE 0 #define XLR_READ_ERROR 1 #define XLR_READ_WAITING 2 #define XLR_READ_RUNNING 3 // XLRSetMode modes #define SS_MODE_PCI 0 // default mode #define SS_MODE_EXT 1 // Data received and played over external // port #define SS_MODE_READ_EXT 2 // Data passed from external to PCI (no disk) #define SS_MODE_WRITE_EXT 3 // Data passed from PCI to external (no disk) #define SS_MODE_PCI_FORK 4 // Data forked from PCI to disk and ext port #define SS_MODE_EXT_FORK 5 // Data forked from ext port to disk and PCI #define SS_MODE_EXT_TO_PCI_FIFO 7 // FIFO data through disk from external to PCI #define SS_MODE_EXT_FORK_TOP 8 // Data forked from front port to disk and top port #define SS_MODE_EXT_FORK_FRT 9 // Data forked from top port to disk and front port #define SS_MODE_EXT_PASS_TOP 10 // Pass through from front port to top (no disk) #define SS_MODE_EXT_PASS_FRT 11 // Pass through from top port to front port (no disk) // // Options for the XLRSetOption() and XLRGetOption commands. // NOTE: These SS_OPT_ names must reference an enumerated B_ name defined // in xlrtypes.h so that the SS_OPT_ names will always match the bits // defined for firmware. // // - DRVSTATS: If set, enable collection of drives stats. If not, disable // collection. // // - SKIPCHECKDIR: If set, skip the directory check. // // - RESERVE_END_BLOCK: If set, reserve space at the end of a recording or // drive module. // // - RECORDWWAIT: If set, recording will not begin until the SWITCHOVER // bit is asserted. // // - PLAYARM: If set, Enables "play arm" feature so that a play request will // not start sending data until a PLAY_TRIGGER command. // // - ALL_OPTIONS: Used to call XLRClearOption to set the option vector back // to its default condition - which is all bits turned off. // #define SS_OPT_DRVSTATS (1<