nxdrvlinux/examples/tcpserver/Marshaller/APIHeader/MarshallerFrame.h

969 lines
45 KiB
C
Raw Permalink Normal View History

/**************************************************************************************
Copyright (c) Hilscher Gesellschaft fuer Systemautomation mbH. All Rights Reserved.
***************************************************************************************
$Id: MarshallerFrame.h 12852 2019-03-28 08:01:41Z AlexanderMinor $:
Description:
Data structures definitions for marshaller data
Changes:
Date Description
-----------------------------------------------------------------------------------
24.07.2015 Added pre-compiler definition to build HOST transport examples using
different MARSHALLER_DATA_FRAME_HEADER_T structure
definitionChanged hList from uinsigned long to uint32_t (for 64-bit support)
15.07.2015 Changed hList from uinsigned long to uint32_t (for 64-bit support)
26.09.2013 Added support for xDriverRestartDevice call
25.06.2010 Change:
- changed types (for 64-bit support)
07.07.2006 intitial version
**************************************************************************************/
#ifndef __MARSHALLERFRAME__H
#define __MARSHALLERFRAME__H
#define MARSHALLER_OBJECT_TYPE_CLASSFACTORY 0x00
#define MARSHALLER_OBJECT_TYPE_DRIVER 0x01
#define MARSHALLER_OBJECT_TYPE_SYSDEVICE 0x02
#define MARSHALLER_OBJECT_TYPE_CHANNEL 0x03
#define MARSHALLER_SUBIDX_SYSTEMCHANNEL 0xFF
#define MARSHALLER_CF_METHODID_SERVERVERSION 0x00000000 /*!< Class Factory: MethodID for querying ServerVersion */
#define MARSHALLER_CF_METHODID_CREATEINSTANCE 0x00000001 /*!< Class Factory: MethodID for Creating/Getting a handle to a new object_Type (DriverObject) */
#define MARSHALLER_DRV_METHODID_OPEN 0x00000001 /*!< Driver Object: xDriverOpen */
#define MARSHALLER_DRV_METHODID_CLOSE 0x00000002 /*!< Driver Object: xDriverClose */
#define MARSHALLER_DRV_METHODID_GETINFO 0x00000003 /*!< Driver Object: xDriverGetInformation */
#define MARSHALLER_DRV_METHODID_ERRORDESCR 0x00000004 /*!< Driver Object: xDriverGetErrorDescription */
#define MARSHALLER_DRV_METHODID_ENUMBOARDS 0x00000005 /*!< Driver Object: xDriverEnumBoard */
#define MARSHALLER_DRV_METHODID_ENUMCHANNELS 0x00000006 /*!< Driver Object: xDriverEnumChannels */
#define MARSHALLER_DRV_METHODID_OPENCHANNEL 0x00000008 /*!< Driver Object: xDriverOpenChannel */
#define MARSHALLER_DRV_METHODID_OPENSYSDEV 0x00000009 /*!< Driver Object: xDriverSysDeviceOpen */
#define MARSHALLER_DRV_METHODID_RESTARTDEVICE 0x00000010 /*!< Driver Object: xDriverRestartDevice */
#define MARSHALLER_SYSDEV_METHODID_CLOSE 0x00000001 /*!< Sysdevice Object: xSysdeviceClose */
#define MARSHALLER_SYSDEV_METHODID_INFO 0x00000002 /*!< Sysdevice Object: xSysdeviceInfo */
#define MARSHALLER_SYSDEV_METHODID_RESET 0x00000003 /*!< Sysdevice Object: xSysdeviceReset */
#define MARSHALLER_SYSDEV_METHODID_GETMBXSTATE 0x00000004 /*!< Sysdevice Object: xSysdeviceGetMBXState */
#define MARSHALLER_SYSDEV_METHODID_PUTPACKET 0x00000005 /*!< Sysdevice Object: xSysdevicePutPacket */
#define MARSHALLER_SYSDEV_METHODID_GETPACKET 0x00000006 /*!< Sysdevice Object: xSysdeviceGetPacket */
#define MARSHALLER_SYSDEV_METHODID_DOWNLOAD 0x00000007 /*!< Sysdevice Object: xSysdeviceDownload */
#define MARSHALLER_SYSDEV_METHODID_FINDFIRSTFILE 0x00000008 /*!< Sysdevice Object: xSysdeviceFindFirstFile */
#define MARSHALLER_SYSDEV_METHODID_FINDNEXTFILE 0x00000009 /*!< Sysdevice Object: xSysdeviceFindNextFile */
#define MARSHALLER_SYSDEV_METHODID_UPLOAD 0x00000010 /*!< Sysdevice Object: xSysdeviceUpload */
#define MARSHALLER_SYSDEV_METHODID_RESETEX 0x00000011 /*!< Sysdevice Object: xSysdeviceResetEx */
#define MARSHALLER_CHANNEL_METHODID_CLOSE 0x00000001 /*!< Channel Object: xChannelClose */
#define MARSHALLER_CHANNEL_METHODID_DOWNLOAD 0x00000002 /*!< Channel Object: xChannelDownload */
#define MARSHALLER_CHANNEL_METHODID_GETMBXSTATE 0x00000003 /*!< Channel Object: xChannelGetMBXState */
#define MARSHALLER_CHANNEL_METHODID_PUTPACKET 0x00000004 /*!< Channel Object: xChannelPutPacket */
#define MARSHALLER_CHANNEL_METHODID_GETPACKET 0x00000005 /*!< Channel Object: xChannelGetPacket */
#define MARSHALLER_CHANNEL_METHODID_GETSENDPACKET 0x00000006 /*!< Channel Object: xChannelGetSendPacket */
#define MARSHALLER_CHANNEL_METHODID_CONFIGLOCK 0x00000007 /*!< Channel Object: xChannelConfigLock */
#define MARSHALLER_CHANNEL_METHODID_RESET 0x00000008 /*!< Channel Object: xChannelReset */
#define MARSHALLER_CHANNEL_METHODID_INFO 0x00000009 /*!< Channel Object: xChannelInfo */
#define MARSHALLER_CHANNEL_METHODID_WATCHDOG 0x00000010 /*!< Channel Object: xChannelWatchdog */
#define MARSHALLER_CHANNEL_METHODID_HOSTSTATE 0x00000011 /*!< Channel Object: xChannelHostState */
#define MARSHALLER_CHANNEL_METHODID_IOREAD 0x00000012 /*!< Channel Object: xChannelIORead */
#define MARSHALLER_CHANNEL_METHODID_IOWRITE 0x00000013 /*!< Channel Object: xChannelIOWrite */
#define MARSHALLER_CHANNEL_METHODID_IOREADSENDDATA 0x00000014 /*!< Channel Object: xChannelIOReadSendData */
#define MARSHALLER_CHANNEL_METHODID_BUSSTATE 0x00000015 /*!< Channel Object: xChannelBusState */
#define MARSHALLER_CHANNEL_METHODID_CONTROLBLOCK 0x00000016 /*!< Channel Object: xChannelControlBlock */
#define MARSHALLER_CHANNEL_METHODID_STATUSBLOCK 0x00000017 /*!< Channel Object: xChannelStatusBlock */
#define MARSHALLER_CHANNEL_METHODID_EXTSTATUSBLOCK 0x00000018 /*!< Channel Object: xChannelExtendedStatusBlock */
#define MARSHALLER_CHANNEL_METHODID_USERBLOCK 0x00000019 /*!< Channel Object: xChannelUserBlock */
#define MARSHALLER_CHANNEL_METHODID_FINDFIRSTFILE 0x00000020 /*!< Channel Object: xChannelFindFirstFile */
#define MARSHALLER_CHANNEL_METHODID_FINDNEXTFILE 0x00000021 /*!< Channel Object: xChannelFindNextFile */
#define MARSHALLER_CHANNEL_METHODID_UPLOAD 0x00000022 /*!< Channel Object: xChannelUpload */
#define MARSHALLER_CHANNEL_METHODID_IOINFO 0x00000023 /*!< Channel Object: xChannelIOInfo */
/*****************************************************************************/
/*! Marshaller handle definition (not valid for old device implementation) */
/*****************************************************************************/
#define MSK_MARSHALLER_HANDLE_VALID 0x80000000
#define SRT_MARSHALLER_HANDLE_VALID 31
#define MSK_MARSHALLER_HANDLE_OBJECTSUBIDX 0x00FF0000
#define SRT_MARSHALLER_HANDLE_OBJECTSUBIDX 16
#define MSK_MARSHALLER_HANDLE_OBJECTIDX 0x0000FF00
#define SRT_MARSHALLER_HANDLE_OBJECTIDX 8
#define MSK_MARSHALLER_HANDLE_OBJECTTYPE 0x000000FF
#define SRT_MARSHALLER_HANDLE_OBJECTTYPE 0
#define MSK_MARSHALLER_SEQUENCE_REQUEST 0x00000001
#define SRT_MARSHALLER_SEQUENCE_REQUEST 0
#define MSK_MARSHALLER_SEQUENCE_SUPPORTED 0x00000002
#define SRT_MARSHALLER_SEQUENCE_SUPPORTED 1
#define MSK_MARSHALLER_SEQUENCE_NUMBER 0xFFFF0000
#define SRT_MARSHALLER_SEQUENCE_NUMBER 16
#ifdef HOST_TRANSPORT_MARSHALLER_DEFS
/*****************************************************************************/
/*! Marshaller handle definition (not valid for old device implementation) */
/*****************************************************************************/
typedef union MARSHALLER_HANDLE_Utag
{
struct MARSHALLER_HANDLE_BF_Ttag
{
uint32_t bObjectType : 8; /*!< Type of the Object see MARSHALLER_OBJECT_TYPE_XXX defines */
uint32_t bObjectIdx : 8; /*!< Idx of the Object, i.e. Board number */
uint32_t bObjectSubIdx : 8; /*!< SubIdx of the Object (0..6 for Channels, 0 for Sysdevice/Driver */
uint32_t bReserved : 7; /*!< SubIdx of the Object (0..6 for Channels, 0 for Sysdevice/Driver */
uint32_t fValid : 1; /*!< 1 to show this is a valid handle */
} tBfHandle;
uint32_t ulHandle; /*!< Returned handle from DriverOpen/ChannelOpen/SysDeviceOpen functions */
} MARSHALLER_HANDLE_U;
typedef struct MARSHALLER_DATA_FRAME_HEADER_Ttag
{
MARSHALLER_HANDLE_U uHandle;
uint32_t ulMethodID; /*!< ID of the method to execute */
union MARSHALLER_SEQUENCE_Utag
{
struct MARSHALLER_SEQUENCE_BF_Ttag
{
uint32_t fRequest :1; /*!< 1=Request, 0 = Answer */
uint32_t fSeqNrSupport :1; /*!< Sequence number supported */
uint32_t uiReserved :14; /*!< Reserved for future use. Set to 0 */
uint32_t usSequenceNr :16; /*!< Sequence number, used to associate answer with request */
} tBfSequence;
uint32_t ulSequence; /*!< Sequence number, to associate request/answer */
} uSequence;
uint32_t ulError; /*!< Error, used on Answer, to indicate function return value */
uint32_t ulDataSize; /*!< Length of following data */
} MARSHALLER_DATA_FRAME_HEADER_T, *PMARSHALLER_DATA_FRAME_HEADER_T;
#else
typedef struct MARSHALLER_DATA_FRAME_HEADER_Ttag
{
uint32_t ulHandle; /*!< Marshaller handle */
uint32_t ulMethodID; /*!< ID of the method to execute */
uint32_t ulSequence; /*!< Sequence number, to associate request/answer */
uint32_t ulError; /*!< Error, used on Answer, to indicate function return value */
uint32_t ulDataSize; /*!< Length of following data */
} MARSHALLER_DATA_FRAME_HEADER_T, *PMARSHALLER_DATA_FRAME_HEADER_T;
#endif
/*****************************************************************************
____ _ _____ _
/ ___| | | __ _ ___ ___ | ___| __ _ ___ | |_ ___ _ __ _ _
| | | | / _` | / __| / __| | |_ / _` | / __| | __| / _ \ | '__| | | | |
| |___ | | | (_| | \__ \ \__ \ | _| | (_| | | (__ | |_ | (_) | | | | |_| |
\____| |_| \__,_| |___/ |___/ |_| \__,_| \___| \__| \___/ |_| \__, |
|___/
*****************************************************************************/
/*****************************************************************************/
/*! Class Factory - Create instance request */
/*****************************************************************************/
typedef struct CF_CREATEINSTANCE_REQ_DATA_Ttag
{
#ifdef HOST_TRANSPORT_MARSHALLER_DEFS
MARSHALLER_HANDLE_U uHandle; /*!< Handle returned for future use. This handle must be used to communicate with the created object */
#else
uint32_t ulObjectType; /*!< Object type to generate (see MARSHALLER_OBJECT_TYPE_XXX defines */
#endif
} CF_CREATEINSTANCE_REQ_DATA_T, *PCF_CREATEINSTANCE_REQ_DATA_T;
typedef struct CF_CREATEINSTANCE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CF_CREATEINSTANCE_REQ_DATA_T tData;
} CF_CREATEINSTANCE_REQ_T, *PCF_CREATEINSTANCE_REQ_T;
/*****************************************************************************/
/*! Class Factory - Create instance confirmation */
/*****************************************************************************/
typedef struct CF_CREATEINSTANCE_CNF_DATA_Ttag
{
#ifdef HOST_TRANSPORT_MARSHALLER_DEFS
MARSHALLER_HANDLE_U uHandle; /*!< Handle returned for future use. This handle must be used to communicate with the created object */
#else
uint32_t ulHandle; /*!< Handle returned for future use. This handle must be used to communicate with the created object */
#endif
} CF_CREATEINSTANCE_CNF_DATA_T, *PCF_CREATEINSTANCE_CNF_DATA_T;
typedef struct CF_CREATEINSTANCE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CF_CREATEINSTANCE_CNF_DATA_T tData;
} CF_CREATEINSTANCE_CNF_T, *PCF_CREATEINSTANCE_CNF_T;
/*****************************************************************************/
/*! Class Factory - Query cifX marshaller version confirmation */
/*****************************************************************************/
typedef struct CF_SERVERVERSION_CNF_DATA_Ttag
{
uint32_t ulVersion; /*!< Returned version */
} CF_SERVERVERSION_CNF_DATA_T, *PCF_SERVERVERSION_CNF_DATA_T;
typedef struct CF_SERVERVERSION_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CF_SERVERVERSION_CNF_DATA_T tData;
} CF_SERVERVERSION_CNF_T, *PCF_SERVERVERSION_CNF_T;
/*****************************************************************************
____ _ ___ _ _ _
| _ \ _ __ (_) __ __ ___ _ __ / _ \ | |__ (_) ___ ___ | |_
| | | | | '__| | | \ \ / / / _ \ | '__| | | | | | '_ \ | | / _ \ / __| | __|
| |_| | | | | | \ V / | __/ | | | |_| | | |_) | | | | __/ | (__ | |_
|____/ |_| |_| \_/ \___| |_| \___/ |_.__/ _/ | \___| \___| \__|
|__/
*****************************************************************************/
/*****************************************************************************/
/*! Driver - xDriverGetInformation request */
/*****************************************************************************/
typedef struct DRV_GETINFORMATION_REQ_DATA_Ttag
{
uint32_t ulSize; /*!< Number of byte to return in confirmation */
} DRV_GETINFORMATION_REQ_DATA_T, *PDRV_GETINFORMATION_REQ_DATA_T;
typedef struct DRV_GETINFORMATION_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
DRV_GETINFORMATION_REQ_DATA_T tData;
} DRV_GETINFORMATION_REQ_T, *PDRV_GETINFORMATION_REQ_T;
/*****************************************************************************/
/*! Driver - xDriverEnumBoards request */
/*****************************************************************************/
typedef struct DRV_ENUMBOARD_REQ_DATA_Ttag
{
uint32_t ulBoard; /*!< Board number */
uint32_t ulSize; /*!< Size of the returned board information (in confirmation) */
} DRV_ENUMBOARD_REQ_DATA_T, *PDRV_ENUMBOARD_REQ_DATA_T;
typedef struct DRV_ENUMBOARD_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
DRV_ENUMBOARD_REQ_DATA_T tData;
} DRV_ENUMBOARD_REQ_T, *PDRV_ENUMBOARD_REQ_T;
/*****************************************************************************/
/*! Driver - xDriverEnumChannels request */
/*****************************************************************************/
typedef struct DRV_ENUMCHANNELS_REQ_DATA_Ttag
{
uint32_t ulBoard; /*!< Board number */
uint32_t ulChannel; /*!< Channel number */
uint32_t ulSize; /*!< Size of returned channel information */
} DRV_ENUMCHANNELS_REQ_DATA_T, *PDRV_ENUMCHANNELS_REQ_DATA_T;
typedef struct DRV_ENUMCHANNELS_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
DRV_ENUMCHANNELS_REQ_DATA_T tData;
} DRV_ENUMCHANNELS_REQ_T, *PDRV_ENUMCHANNELS_REQ_T;
/*****************************************************************************/
/*! Driver - xDriverRestartDevice request */
/*****************************************************************************/
typedef struct DRV_RESTARTDEVICE_REQ_DATA_Ttag
{
char abBoardName[CIFx_MAX_INFO_NAME_LENTH];
} DRV_RESTARTDEVICE_REQ_DATA_T, *PDRV_RESTARTDEVICE_REQ_DATA_T;
typedef struct DRV_RESTARTDEVICE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
DRV_RESTARTDEVICE_REQ_DATA_T tData;
} DRV_RESTARTDEVICE_REQ_T, *PDRV_RESTARTDEVICE_REQ_T;
/*****************************************************************************
____ _ _
/ ___| _ _ ___ __| | ___ __ __ (_) ___ ___
\___ \ | | | | / __| / _` | / _ \ \ \ / / | | / __| / _ \
___) | | |_| | \__ \ | (_| | | __/ \ V / | | | (__ | __/
|____/ \__, | |___/ \__,_| \___| \_/ |_| \___| \___|
|___/
___ _ _ _
/ _ \ | |__ (_) ___ ___ | |_
| | | | | '_ \ | | / _ \ / __| | __|
| |_| | | |_) | | | | __/ | (__ | |_
\___/ |_.__/ _/ | \___| \___| \__|
|__/
*****************************************************************************/
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindFirstFile request data */
/*****************************************************************************/
typedef struct SYSDEV_FIND_FIRSTFILE_REQ_DATA_Ttag
{
uint32_t ulChannel; /*!< Number of Channel */
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
uint32_t ulRecvPktCallback; /*!< Recv-Pkt-Callback value */
uint32_t ulUser; /*!< User value */
} SYSDEV_FIND_FIRSTFILE_REQ_DATA_T, *PSYSDEV_FIND_FIRSTFILE_REQ_DATA_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindFirstFile request */
/*****************************************************************************/
typedef struct SYSDEV_FIND_FIRSTFILE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_FIND_FIRSTFILE_REQ_DATA_T tData;
} SYSDEV_FIND_FIRSTFILE_REQ_T, *PSYSDEV_FIND_FIRSTFILE_REQ_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindFirstFile confirmation data */
/*****************************************************************************/
typedef struct SYSDEV_FIND_FIRSTFILE_CNF_DATA_Ttag
{
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
} SYSDEV_FIND_FIRSTFILE_CNF_DATA_T, *PSYSDEV_FIND_FIRSTFILE_CNF_DATA_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindFirstFile confirmation */
/*****************************************************************************/
typedef struct SYSDEV_FIND_FIRSTFILE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_FIND_FIRSTFILE_CNF_DATA_T tData;
} SYSDEV_FIND_FIRSTFILE_CNF_T, *PSYSDEV_FIND_FIRSTFILE_CNF_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindNextFile request data */
/*****************************************************************************/
typedef struct SYSDEV_FIND_NEXTFILE_REQ_DATA_Ttag
{
uint32_t ulChannel; /*!< Number of Channel */
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
uint32_t ulRecvPktCallback; /*!< Recv-Pkt-Callback value */
uint32_t ulUser; /*!< User value */
} SYSDEV_FIND_NEXTFILE_REQ_DATA_T, *PSYSDEV_FIND_NEXTFILE_REQ_DATA_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindNextFile request */
/*****************************************************************************/
typedef struct SYSDEV_FIND_NEXTFILE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_FIND_NEXTFILE_REQ_DATA_T tData;
} SYSDEV_FIND_NEXTFILE_REQ_T, *PSYSDEV_FIND_NEXTFILE_REQ_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindNextFile confirmation data */
/*****************************************************************************/
typedef struct SYSDEV_FIND_NEXTFILE_CNF_DATA_Ttag
{
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
} SYSDEV_FIND_NEXTFILE_CNF_DATA_T, *PSYSDEV_FIND_NEXTFILE_CNF_DATA_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceFindNextFile confirmation */
/*****************************************************************************/
typedef struct SYSDEV_FIND_NEXTFILE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_FIND_NEXTFILE_CNF_DATA_T tData;
} SYSDEV_FIND_NEXTFILE_CNF_T, *PSYSDEV_FIND_NEXTFILE_CNF_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceInfo request */
/*****************************************************************************/
typedef struct SYSDEV_INFO_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulSize; /*!< Size of returned information */
} SYSDEV_INFO_REQ_DATA_T, *PSYSDEV_INFO_REQ_DATA_T;
typedef struct SYSDEV_INFO_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_INFO_REQ_DATA_T tData;
} SYSDEV_INFO_REQ_T, *PSYSDEV_INFO_REQ_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceReset request */
/*****************************************************************************/
typedef struct SYSDEV_RESET_REQ_DATA_Ttag
{
uint32_t ulTimeout; /*!< Timeout in ms for reset */
} SYSDEV_RESET_REQ_DATA_T, *PSYSDEV_RESET_REQ_DATA_T;
typedef struct SYSDEV_RESET_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_RESET_REQ_DATA_T tData;
} SYSDEV_RESET_REQ_T, *PSYSDEV_RESET_REQ_T;
/*****************************************************************************/
/*! Sysdevice - xSysdeviceResetEx request */
/*****************************************************************************/
typedef struct SYSDEV_RESETEX_REQ_DATA_Ttag
{
uint32_t ulTimeout; /*!< Timeout in ms for reset */
uint32_t ulMode; /*!< Reset mode */
} SYSDEV_RESETEX_REQ_DATA_T, *PSYSDEV_RESETEX_REQ_DATA_T;
typedef struct SYSDEV_RESETEX_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
SYSDEV_RESETEX_REQ_DATA_T tData;
} SYSDEV_RESETEX_REQ_T, *PSYSDEV_RESETEX_REQ_T;
/*****************************************************************************
____ _ _
/ ___| | |__ __ _ _ __ _ __ ___ | |
| | | '_ \ / _` | | '_ \ | '_ \ / _ \ | |
| |___ | | | | | (_| | | | | | | | | | | __/ | |
\____| |_| |_| \__,_| |_| |_| |_| |_| \___| |_|
___ _ _ _
/ _ \ | |__ (_) ___ ___ | |_
| | | | | '_ \ | | / _ \ / __| | __|
| |_| | | |_) | | | | __/ | (__ | |_
\___/ |_.__/ _/ | \___| \___| \__|
|__/
*****************************************************************************/
/*****************************************************************************/
/*! Channel - xChannelReset request */
/*****************************************************************************/
typedef struct CHANNEL_RESET_REQ_DATA_Ttag
{
uint32_t ulMode; /*!< Reset mode */
uint32_t ulTimeout; /*!< Timeout in ms for reset */
} CHANNEL_RESET_REQ_DATA_T, *PCHANNEL_RESET_REQ_DATA_T;
typedef struct CHANNEL_RESET_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_RESET_REQ_DATA_T tData;
} CHANNEL_RESET_REQ_T, *PCHANNEL_RESET_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelInfo request */
/*****************************************************************************/
typedef struct CHANNEL_INFO_REQ_DATA_Ttag
{
uint32_t ulSize; /*!< Size of returned data */
} CHANNEL_INFO_REQ_DATA_T, *PCHANNEL_INFO_REQ_DATA_T;
typedef struct CHANNEL_INFO_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_INFO_REQ_DATA_T tData;
} CHANNEL_INFO_REQ_T, *PCHANNEL_INFO_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelWatchdog request */
/*****************************************************************************/
typedef struct CHANNEL_WATCHDOG_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulTrigger; /*!< Trigger value */
} CHANNEL_WATCHDOG_REQ_DATA_T, *PCHANNEL_WATCHDOG_REQ_DATA_T;
typedef struct CHANNEL_WATCHDOG_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_WATCHDOG_REQ_DATA_T tData;
} CHANNEL_WATCHDOG_REQ_T, *PCHANNEL_WATCHDOG_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelWatchdog confirmation */
/*****************************************************************************/
typedef struct CHANNEL_WATCHDOG_CNF_DATA_Ttag
{
uint32_t ulTrigger; /*!< Trigger value */
} CHANNEL_WATCHDOG_CNF_DATA_T, *PCHANNEL_WATCHDOG_CNF_DATA_T;
typedef struct CHANNEL_WATCHDOG_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_WATCHDOG_CNF_DATA_T tData;
} CHANNEL_WATCHDOG_CNF_T, *PCHANNEL_WATCHDOG_CNF_T;
/*****************************************************************************/
/*! Channel - xChannelHoststate request */
/*****************************************************************************/
typedef struct CHANNEL_HOSTSTATE_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulState; /*!< State */
uint32_t ulTimeout; /*!< Timeout in ms */
} CHANNEL_HOSTSTATE_REQ_DATA_T, *PCHANNEL_HOSTSTATE_REQ_DATA_T;
typedef struct CHANNEL_HOSTSTATE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_HOSTSTATE_REQ_DATA_T tData;
} CHANNEL_HOSTSTATE_REQ_T, *PCHANNEL_HOSTSTATE_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelWatchdog confirmation */
/*****************************************************************************/
typedef struct CHANNEL_HOSTSTATE_CNF_DATA_Ttag
{
uint32_t ulState; /*!< Returned state */
} CHANNEL_HOSTSTATE_CNF_DATA_T, *PCHANNEL_HOSTSTATE_CNF_DATA_T;
typedef struct CHANNEL_HOSTSTATE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_HOSTSTATE_CNF_DATA_T tData;
} CHANNEL_HOSTSTATE_CNF_T, *PCHANNEL_HOSTSTATE_CNF_T;
/*****************************************************************************/
/*! Channel - xChannelConfigLock request data */
/*****************************************************************************/
typedef struct CHANNEL_CONFIG_LOCK_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command code */
uint32_t ulState; /*!< State to set */
uint32_t ulTimeout; /*!< Timeout on ms */
} CHANNEL_CONFIG_LOCK_REQ_DATA_T, *PCHANNEL_CONFIG_LOCK_REQ_DATA_T;
/*****************************************************************************/
/*! Channel - xChannelConfigLock request */
/*****************************************************************************/
typedef struct CHANNEL_CONFIG_LOCK_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_CONFIG_LOCK_REQ_DATA_T tData;
} CHANNEL_CONFIG_LOCK_REQ_T, *PCHANNEL_CONFIG_LOCK_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelConfigLock confirmation data */
/*****************************************************************************/
typedef struct CHANNEL_CONFIG_LOCK_CNF_DATA_Ttag
{
uint32_t ulState; /*!< Returned state */
} CHANNEL_CONFIG_LOCK_CNF_DATA_T, *PCHANNEL_CONFIG_LOCK_CNF_DATA_T;
/*****************************************************************************/
/*! Channel - xChannelConfigLock confirmation */
/*****************************************************************************/
typedef struct CHANNEL_CONFIG_LOCK_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_CONFIG_LOCK_CNF_DATA_T tData;
} CHANNEL_CONFIG_LOCK_CNF_T, *PCHANNEL_CONFIG_LOCK_CNF_T;
/*****************************************************************************/
/*! Channel - xChannelIOInfo request data */
/*****************************************************************************/
typedef struct CHANNEL_IOINFO_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulArea; /*!< ulAreaNumber */
uint32_t ulDataLen; /*!< Length to read */
} CHANNEL_IOINFO_REQ_DATA_T, *PCHANNEL_IOINFO_REQ_DATA_T;
/*****************************************************************************/
/*! Channel - xChannelIOInfo request */
/*****************************************************************************/
typedef struct CHANNEL_IOINFO_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_IOINFO_REQ_DATA_T tData;
} CHANNEL_IOINFO_REQ_T, *PCHANNEL_IOINFO_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelIORead request */
/*****************************************************************************/
typedef struct CHANNEL_IOREAD_REQ_DATA_Ttag
{
uint32_t ulArea;
uint32_t ulOffset;
uint32_t ulTimeout;
uint32_t ulDataLen;
} CHANNEL_IOREAD_REQ_DATA_T, *PCHANNEL_IOREAD_REQ_DATA_T;
typedef struct CHANNEL_IOREAD_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_IOREAD_REQ_DATA_T tData;
} CHANNEL_IOREAD_REQ_T, *PCHANNEL_IOREAD_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelIOWrite request */
/*****************************************************************************/
typedef struct CHANNEL_IOWRITE_REQ_DATA_Ttag
{
uint32_t ulArea;
uint32_t ulOffset;
uint32_t ulTimeout;
uint32_t ulDataLen;
uint8_t abData[1];
} CHANNEL_IOWRITE_REQ_DATA_T, *PCHANNEL_IOWRITE_REQ_DATA_T;
typedef struct CHANNEL_IOWRITE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_IOWRITE_REQ_DATA_T tData;
} CHANNEL_IOWRITE_REQ_T, *PCHANNEL_IOWRITE_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelGetMBXState request (also user for sysdevice) */
/*****************************************************************************/
typedef struct CHANNEL_GETMBXSTATE_CNF_DATA_Ttag
{
uint32_t ulRecvPktCnt; /*!< Number of messages pending in receive mailbox */
uint32_t ulSendPktCnt; /*!< Number of messages that the channel can handle */
} CHANNEL_GETMBXSTATE_CNF_DATA_T, *PCHANNEL_GETMBXSTATE_CNF_DATA_T;
typedef struct CHANNEL_GETMBXSTATE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_GETMBXSTATE_CNF_DATA_T tData;
} CHANNEL_GETMBXSTATE_CNF_T, *PCHANNEL_GETMBXSTATE_CNF_T;
/*****************************************************************************/
/*! Channel - xChannelIOReadSendData request */
/*****************************************************************************/
typedef struct CHANNEL_IOREADSENDDATA_REQ_DATA_Ttag
{
uint32_t ulArea;
uint32_t ulOffset;
uint32_t ulDataLen;
} CHANNEL_IOREADSENDDATA_REQ_DATA_T, *PCHANNEL_IOREADSENDDATA_REQ_DATA_T;
typedef struct CHANNEL_IOREADSENDDATA_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_IOREADSENDDATA_REQ_DATA_T tData;
} CHANNEL_IOREADSENDDATA_REQ_T, *PCHANNEL_IOREADSENDDATA_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelBusState request */
/*****************************************************************************/
typedef struct CHANNEL_BUSSTATE_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulState; /*!< State */
uint32_t ulTimeout; /*!< Timeout in ms */
} CHANNEL_BUSSTATE_REQ_DATA_T, *PCHANNEL_BUSSTATE_REQ_DATA_T;
typedef struct CHANNEL_BUSSTATE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_BUSSTATE_REQ_DATA_T tData;
} CHANNEL_BUSSTATE_REQ_T, *PCHANNEL_BUSSTATE_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelWatchdog confirmation */
/*****************************************************************************/
typedef struct CHANNEL_BUSSTATE_CNF_DATA_Ttag
{
uint32_t ulState; /*!< Returned state */
} CHANNEL_BUSSTATE_CNF_DATA_T, *PCHANNEL_BUSSTATE_CNF_DATA_T;
typedef struct CHANNEL_BUSSTATE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_BUSSTATE_CNF_DATA_T tData;
} CHANNEL_BUSSTATE_CNF_T, *PCHANNEL_BUSSTATE_CNF_T;
/*****************************************************************************/
/*! Channel - xChannelGetPacket request (also user for sysdevice) */
/*****************************************************************************/
typedef struct CHANNEL_GETPACKET_REQ_DATA_Ttag
{
uint32_t ulSize; /*!< Number of bytes to return */
uint32_t ulTimeout; /*!< Maximum time to wait for packet [ms] */
} CHANNEL_GETPACKET_REQ_DATA_T, *PCHANNEL_GETPACKET_REQ_DATA_T;
typedef struct CHANNEL_GETPACKET_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_GETPACKET_REQ_DATA_T tData;
} CHANNEL_GETPACKET_REQ_T, *PCHANNEL_GETPACKET_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelGetSendPacket request data (also user for sysdevice) */
/*****************************************************************************/
typedef struct CHANNEL_GET_SENDPACKET_REQ_DATA_Ttag
{
uint32_t ulSize; /*!< Size of buffer */
} CHANNEL_GET_SENDPACKET_REQ_DATA_T, *PCHANNEL_GET_SENDPACKET_REQ_DATA_T;
/*****************************************************************************/
/*! Channel - xChannelGetSendPacket request (also user for sysdevice) */
/*****************************************************************************/
typedef struct CHANNEL_GET_SENDPACKET_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_GET_SENDPACKET_REQ_DATA_T tData;
} CHANNEL_GET_SENDPACKET_REQ_T, *PCHANNEL_GET_SENDPACKET_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelConfigLock request */
/*****************************************************************************/
typedef struct CHANNEL_CONFIGLOCK_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulState; /*!< State to set */
uint32_t ulTimeout; /*!< Timeout to wait for state being reached */
} CHANNEL_CONFIGLOCK_REQ_DATA_T, *PCHANNEL_CONFIGLOCK_REQ_DATA_T;
typedef struct CHANNEL_CONFIGLOCK_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_CONFIGLOCK_REQ_DATA_T tData;
} CHANNEL_CONFIGLOCK_REQ_T, *PCHANNEL_CONFIGLOCK_REQ_T;
/*****************************************************************************/
/*! Channel - xChannelConfigLock confirmation */
/*****************************************************************************/
typedef struct CHANNEL_CONFIGLOCK_CNF_DATA_Ttag
{
uint32_t ulState; /*!< Returned state information */
} CHANNEL_CONFIGLOCK_CNF_DATA_T, *PCHANNEL_CONFIGLOCK_CNF_DATA_T;
typedef struct CHANNEL_CONFIGLOCK_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_CONFIGLOCK_CNF_DATA_T tData;
} CHANNEL_CONFIGLOCK_CNF_T, *PCHANNEL_CONFIGLOCK_CNF_T;
/*****************************************************************************/
/*! Channel - Control-, Common Status- and Extended Statusblock
* Read command (request) */
/*****************************************************************************/
typedef struct CHANNEL_BLOCK_READ_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulOffset; /*!< Offset inside block */
uint32_t ulDatalen; /*!< Returned data length */
} CHANNEL_BLOCK_READ_REQ_DATA_T, *PCHANNEL_BLOCK_READ_REQ_DATA_T;
typedef struct CHANNEL_BLOCK_READ_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_BLOCK_READ_REQ_DATA_T tData;
} CHANNEL_BLOCK_READ_REQ_T, *PCHANNEL_BLOCK_READ_REQ_T;
/*****************************************************************************/
/*! Channel - Control-, Common Status- and Extended Statusblock
* Read command (confirmation) */
/*****************************************************************************/
typedef struct CHANNEL_BLOCK_READ_CNF_DATA_Ttag
{
uint32_t abData[1]; /*!< Returned data */
} CHANNEL_BLOCK_READ_CNF_DATA_T, *PCHANNEL_BLOCK_READ_CNF_DATA_T;
typedef struct CHANNEL_BLOCK_READ_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_BLOCK_READ_CNF_DATA_T tData;
} CHANNEL_BLOCK_READ_CNF_T, *PCHANNEL_BLOCK_READ_CNF_T;
/*****************************************************************************/
/*! Channel - Control-, Common Status- and Extended Statusblock
* Write command (request) */
/*****************************************************************************/
typedef struct CHANNEL_BLOCK_WRITE_REQ_DATA_Ttag
{
uint32_t ulCmd; /*!< Command */
uint32_t ulOffset; /*!< Offset inside block */
uint32_t ulDatalen; /*!< Datalength in abData [] */
uint8_t abData[1]; /*!< Data to write */
} CHANNEL_BLOCK_WRITE_REQ_DATA_T, *PCHANNEL_BLOCK_WRITE_REQ_DATA_T;
typedef struct CHANNEL_BLOCK_WRITE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_BLOCK_WRITE_REQ_DATA_T tData;
} CHANNEL_BLOCK_WRITE_REQ_T, *PCHANNEL_BLOCK_WRITE_REQ_T;
/*****************************************************************************/
/*! xChannelFindFirstFile request data */
/*****************************************************************************/
typedef struct CHANNEL_FIND_FIRSTFILE_REQ_DATA_Ttag
{
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
uint32_t ulRecvPktCallback; /*!< Recv-Pkt-Callback value */
uint32_t ulUser; /*!< User value */
} CHANNEL_FIND_FIRSTFILE_REQ_DATA_T, *PCHANNEL_FIND_FIRSTFILE_REQ_DATA_T;
/*****************************************************************************/
/*! xChannelFindFirstFile request */
/*****************************************************************************/
typedef struct CHANNEL_FIND_FIRSTFILE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_FIND_FIRSTFILE_REQ_DATA_T tData;
} CHANNEL_FIND_FIRSTFILE_REQ_T, *PCHANNEL_FIND_FIRSTFILE_REQ_T;
/*****************************************************************************/
/*! xChannelFindFirstFile confirmation data */
/*****************************************************************************/
typedef struct CHANNEL_FIND_FIRSTFILE_CNF_DATA_Ttag
{
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
} CHANNEL_FIND_FIRSTFILE_CNF_DATA_T, *PCHANNEL_FIND_FIRSTFILE_CNF_DATA_T;
/*****************************************************************************/
/*! xChannelFindFirstFile confirmation */
/*****************************************************************************/
typedef struct CHANNEL_FIND_FIRSTFILE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_FIND_FIRSTFILE_CNF_DATA_T tData;
} CHANNEL_FIND_FIRSTFILE_CNF_T, *PCHANNEL_FIND_FIRSTFILE_CNF_T;
/*****************************************************************************/
/*! xChannelFindNextFile request data */
/*****************************************************************************/
typedef struct CHANNEL_FIND_NEXTFILE_REQ_DATA_Ttag
{
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
uint32_t ulRecvPktCallback; /*!< Recv-Pkt-Callback value */
uint32_t ulUser; /*!< User value */
} CHANNEL_FIND_NEXTFILE_REQ_DATA_T, *PCHANNEL_FIND_NEXTFILE_REQ_DATA_T;
/*****************************************************************************/
/*! xChannelFindNextFile request */
/*****************************************************************************/
typedef struct CHANNEL_FIND_NEXTFILE_REQ_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_FIND_NEXTFILE_REQ_DATA_T tData;
} CHANNEL_FIND_NEXTFILE_REQ_T, *PCHANNEL_FIND_NEXTFILE_REQ_T;
/*****************************************************************************/
/*! xChannelFindNextFile confirmation data */
/*****************************************************************************/
typedef struct CHANNEL_FIND_NEXTFILE_CNF_DATA_Ttag
{
uint32_t hList; /*!< Handle from Enumeration function, do not touch */
char szFilename[CIFx_MAX_INFO_NAME_LENTH]; /*!< File name. */
uint8_t bFiletype; /*!< File type. */
uint32_t ulFilesize; /*!< File size. */
} CHANNEL_FIND_NEXTFILE_CNF_DATA_T, *PCHANNEL_FIND_NEXTFILE_CNF_DATA_T;
/*****************************************************************************/
/*! xChannelFindNextFile confirmation */
/*****************************************************************************/
typedef struct CHANNEL_FIND_NEXTFILE_CNF_Ttag
{
MARSHALLER_DATA_FRAME_HEADER_T tHeader;
CHANNEL_FIND_NEXTFILE_CNF_DATA_T tData;
} CHANNEL_FIND_NEXTFILE_CNF_T, *PCHANNEL_FIND_NEXTFILE_CNF_T;
#endif /* __MARSHALLERFRAME__H */