nxdrvlinux/examples/tcpserver/Marshaller/APIHeader/rcX_Public.h
Sebastian Doell ac2f4d1789 Add initial driver source based on svn versions:
- toolkit V2.8.0.1@14806
 - BSL V1.8.0.0@14590
 - tcpserver: V1.4.3.0@14676 (marshaller V2.4.0.1@14551)
2024-02-05 09:23:09 +01:00

2997 lines
114 KiB
C

/**************************************************************************************
Copyright (c) Hilscher Gesellschaft fuer Systemautomation mbH. All Rights Reserved.
***************************************************************************************
$Id: rcX_Public.h 13107 2019-08-15 08:42:43Z Robert $:
Description:
rcX Public Packet functions
Changes:
Date Description
-----------------------------------------------------------------------------------
2016-04-22 fixed typedef of RCX_TSK_GET_INFO_STRUCT_IDX_REQ_T
changed TLR_BOOLEAN to TLR_BOOLEAN32 in RCX_LINK_STATUS_T to be portable
2016-02-26 added command definition for RCX_COMM_START/RCX_COMM_STOP
2014-12-05 added structure definition for RCX_PHYSMEM_READ_REQ
2014-05-06 added RCX_FILE_RENAME_REQ to support file renaming
2014-04-28 packed RCX_VERIFY_MASTER_DATABASE_T to handle strict
packing rules of armcc compiler
2012-08-28 added RCX_LINK_STATUS_CHANGE_IND and definitions
2012-07-17 added RCX_GET_FW_PARAMETER_REQ and definitions
2012-06-27 added parameter id PID_BAUDRATE (RCX_SET_FW_PARAMETER_REQ)
2012-03-28 removed C++ comments, to prevent compiler warnings
2012-02-13 added RCX_SET_FW_PARAMETER_REQ and definitions
2011-12-06 added RCX_TIME_COMMAND_REQ and definitions
2011-05-13 added definitions for configuration in run
2011-02-25 added structure definition for RCX_FORMAT_REQ
2011-02-24 added command definition for RCX_FORMAT_REQ
2010-12-02 added packet RCX_MALLINFO_REQ
2010-10-06 renamed ulCmd to ulAction in RCX_BUSSCAN_REQ_DATA_T
2010-09-14 Added RCX_FILE_GET_HEADER_MD5_REQ
2010-04-28 Removed define CIFX_TOOLKIT and included common
packing __TLR_PACKED_PRE / POST
2010-04-27 For CIFX_TOOLKIT: Changed defines
__TKITPACKED_xx from __PACKED_xx to
__TLR_PACKED_xx
Changed include of TLR_INX_Includes.h to TLR_Types.h
2010-04-20 added new packet definition RCX_SET_HANDSHAKE_CONFIG_REQ
2010-04-16 RCX_VERIFY_DATABASE_REQ_SIZE did not work due
to an additional space character
2010-04-13 Included TLR_INX_Includes.h instead of TLR_Includes.h
2010-03-23 File created.
**************************************************************************************/
#ifndef __RCX_PUBLIC_H
#define __RCX_PUBLIC_H
#include "TLR_Types.h"
#include "rcX_User.h"
#define RCX_PROCESS_QUEUE_NAME "RCX_QUE"
/* firmware control */
#define RCX_FIRMWARE_RESET_REQ 0x00001E00
#define RCX_FIRMWARE_RESET_CNF 0x00001E01
/* firmware information */
#define RCX_LISTS_GET_NUM_ENTRIES_REQ 0x00001E10
#define RCX_LISTS_GET_NUM_ENTRIES_CNF 0x00001E11
/* queue identification */
#define RCX_QUE_IDENTIFY_REQ 0x00001E20
#define RCX_QUE_IDENTIFY_CNF 0x00001E21
#define RCX_QUE_IDENTIFY_IDX_REQ 0x00001E22
#define RCX_QUE_IDENTIFY_IDX_CNF 0x00001E23
/* queue load retrieval */
#define RCX_QUE_GET_LOAD_REQ 0x00001E30
#define RCX_QUE_GET_LOAD_CNF 0x00001E31
/* DPM data access functions */
#define RCX_SYSTEM_INFORMATION_BLOCK_REQ 0x00001E32
#define RCX_SYSTEM_INFORMATION_BLOCK_CNF 0x00001E33
#define RCX_CHANNEL_INFORMATION_BLOCK_REQ 0x00001E34
#define RCX_CHANNEL_INFORMATION_BLOCK_CNF 0x00001E35
#define RCX_SYSTEM_CONTROL_BLOCK_REQ 0x00001E36
#define RCX_SYSTEM_CONTROL_BLOCK_CNF 0x00001E37
#define RCX_SYSTEM_STATUS_BLOCK_REQ 0x00001E38
#define RCX_SYSTEM_STATUS_BLOCK_CNF 0x00001E39
#define RCX_CONTROL_BLOCK_REQ 0x00001E3A
#define RCX_CONTROL_BLOCK_CNF 0x00001E3B
#define RCX_HANDSHAKE_CHANNEL_REQ 0x00001E3C
#define RCX_HANDSHAKE_CHANNEL_CNF 0x00001E3D
/* task identification and readout of diagnosis data */
#define RCX_TSK_GET_NAME_REQ 0x00001E3E
#define RCX_TSK_GET_NAME_CNF 0x00001E3F
#define RCX_TSK_IDENTIFY_REQ 0x00001E40
#define RCX_TSK_IDENTIFY_CNF 0x00001E41
#define RCX_TSK_IDENTIFY_IDX_REQ 0x00001E42
#define RCX_TSK_IDENTIFY_IDX_CNF 0x00001E43
#define RCX_TSK_GET_STATUS_REQ 0x00001E44
#define RCX_TSK_GET_STATUS_CNF 0x00001E45
#define RCX_TSK_GET_INFO_FIELD_REQ 0x00001E46
#define RCX_TSK_GET_INFO_FIELD_CNF 0x00001E47
/* task control */
#define RCX_TSK_START_REQ 0x00001E48
#define RCX_TSK_START_CNF 0x00001E49
#define RCX_TSK_STOP_REQ 0x00001E4A
#define RCX_TSK_STOP_CNF 0x00001E4B
#define RCX_TSK_GET_STATUS_ARRAY_REQ 0x00001E4E
#define RCX_TSK_GET_STATUS_ARRAY_CNF 0x00001E4F
/* task array identification and structure information readout */
#define RCX_TSK_GET_INFO_ARRAY_REQ 0x00001E50
#define RCX_TSK_GET_INFO_ARRAY_CNF 0x00001E51
#define RCX_TSK_GET_INFO_STRUCT_REQ 0x00001E52
#define RCX_TSK_GET_INFO_STRUCT_CNF 0x00001E53
#define RCX_TSK_GET_INFO_STRUCT_IDX_REQ 0x00001E54
#define RCX_TSK_GET_INFO_STRUCT_IDX_CNF 0x00001E55
#define RCX_TSK_GET_INFO_FIELD_SIZE_REQ 0x00001E56
#define RCX_TSK_GET_INFO_FIELD_SIZE_CNF 0x00001E57
#define RCX_TSK_GET_INFO_FIELD_SIZE_IDX_REQ 0x00001E58
#define RCX_TSK_GET_INFO_FIELD_SIZE_IDX_CNF 0x00001E59
/* read information about memory usage */
#define RCX_MALLINFO_REQ 0x00001E5A
#define RCX_MALLINFO_CNF 0x00001E5B
/* file upload/download */
#define RCX_FILE_DOWNLOAD_REQ 0x00001E62
#define RCX_FILE_DOWNLOAD_CNF 0x00001E63
#define RCX_FILE_DOWNLOAD_DATA_REQ 0x00001E64
#define RCX_FILE_DOWNLOAD_DATA_CNF 0x00001E65
#define RCX_FILE_DOWNLOAD_ABORT_REQ 0x00001E66
#define RCX_FILE_DOWNLOAD_ABORT_CNF 0x00001E67
#define RCX_FILE_UPLOAD_REQ 0x00001E60
#define RCX_FILE_UPLOAD_CNF 0x00001E61
#define RCX_FILE_UPLOAD_DATA_REQ 0x00001E6E
#define RCX_FILE_UPLOAD_DATA_CNF 0x00001E6F
#define RCX_FILE_UPLOAD_ABORT_REQ 0x00001E5E
#define RCX_FILE_UPLOAD_ABORT_CNF 0x00001E5F
#define RCX_FORMAT_REQ 0x00001ED6
#define RCX_FORMAT_CNF 0x00001ED7
/* file information */
#define RCX_FILE_GET_MD5_REQ 0x00001E68
#define RCX_FILE_GET_MD5_CNF 0x00001E69
#define RCX_FILE_GET_HEADER_MD5_REQ 0x00001E72
#define RCX_FILE_GET_HEADER_MD5_CNF 0x00001E73
/* file delete */
#define RCX_FILE_DELETE_REQ 0x00001E6A
#define RCX_FILE_DELETE_CNF 0x00001E6B
/* file rename */
#define RCX_FILE_RENAME_REQ 0x00001E7C
#define RCX_FILE_RENAME_CNF 0x00001E7D
/* volume information */
#define RCX_VOLUME_GET_ENTRY_REQ 0x00001E6C
#define RCX_VOLUME_GET_ENTRY_CNF 0x00001E6D
/* directory list */
#define RCX_DIR_LIST_REQ 0x00001E70
#define RCX_DIR_LIST_CNF 0x00001E71
/* indexed task access */
#define RCX_TSK_GET_STATUS_IDX_REQ 0x00001E74
#define RCX_TSK_GET_STATUS_IDX_CNF 0x00001E75
#define RCX_TSK_GET_INFO_FIELD_IDX_REQ 0x00001E76
#define RCX_TSK_GET_INFO_FIELD_IDX_CNF 0x00001E77
/* indexed task control */
#define RCX_TSK_START_IDX_REQ 0x00001E78
#define RCX_TSK_START_IDX_CNF 0x00001E79
#define RCX_TSK_STOP_IDX_REQ 0x00001E7A
#define RCX_TSK_STOP_IDX_CNF 0x00001E7B
/* log queues */
#define RCX_QUE_LOG_SET_REQ 0x00001EA0
#define RCX_QUE_LOG_SET_CNF 0x00001EA1
#define RCX_QUE_LOG_CLR_REQ 0x00001EA2
#define RCX_QUE_LOG_CLR_CNF 0x00001EA3
/* read/write memory */
#define RCX_PHYSMEM_READ_REQ 0x00001EA8
#define RCX_PHYSMEM_READ_CNF 0x00001EA9
#define RCX_PHYSMEM_WRITE_REQ 0x00001EAA
#define RCX_PHYSMEM_WRITE_CNF 0x00001EAB
/* firmware info */
#define RCX_GET_LIB_VERSION_INFO_REQ 0x00001EBA
#define RCX_GET_LIB_VERSION_INFO_CNF 0x00001EBB
#define RCX_FIRMWARE_IDENTIFY_REQ 0x00001EB6
#define RCX_FIRMWARE_IDENTIFY_CNF 0x00001EB7
#define RCX_HW_IDENTIFY_REQ 0x00001EB8
#define RCX_HW_IDENTIFY_CNF 0x00001EB9
#define RCX_SECURITY_EEPROM_READ_REQ 0x00001EBC
#define RCX_SECURITY_EEPROM_READ_CNF 0x00001EBD
#define RCX_SECURITY_EEPROM_WRITE_REQ 0x00001EBE
#define RCX_SECURITY_EEPROM_WRITE_CNF 0x00001EBF
/* module management */
#define RCX_MODULE_INSTANTIATE_REQ 0x00001EC0
#define RCX_MODULE_INSTANTIATE_CNF 0x00001EC1
#define RCX_MODULE_GET_INFO_IDX_REQ 0x00001EC2
#define RCX_MODULE_GET_INFO_IDX_CNF 0x00001EC3
#define RCX_CHANNEL_INSTANTIATE_REQ 0x00001EC4
#define RCX_CHANNEL_INSTANTIATE_CNF 0x00001EC5
#define RCX_SET_MAC_ADDR_REQ 0x00001EEE
#define RCX_SET_MAC_ADDR_CNF 0x00001EEF
#define RCX_HW_LICENSE_INFO_REQ 0x00001EF4
#define RCX_HW_LICENSE_INFO_CNF 0x00001EF5
#define RCX_HW_HARDWARE_INFO_REQ 0x00001EF6
#define RCX_HW_HARDWARE_INFO_CNF 0x00001EF7
/* DPM info functions */
#define RCX_DPM_GET_BLOCK_INFO_REQ 0x00001EF8
#define RCX_DPM_GET_BLOCK_INFO_CNF 0x00001EF9
/* Communication flag info functions */
#define RCX_DPM_GET_COMFLAG_INFO_REQ 0x00001EFA
#define RCX_DPM_GET_COMFLAG_INFO_CNF 0x00001EFB
/* Common Status block functions */
#define RCX_DPM_GET_COMMON_STATE_REQ 0x00001EFC
#define RCX_DPM_GET_COMMON_STATE_CNF 0x00001EFD
/* Extended status block */
#define RCX_DPM_GET_EXTENDED_STATE_REQ 0x00001EFE
#define RCX_DPM_GET_EXTENDED_STATE_CNF 0x00001EFF
/* reserved for further functions (documented at DPM Spec) */
#define RCX_ENABLE_PERF_MEASUREMENT_REQ 0x00001ED2
#define RCX_ENABLE_PERF_MEASUREMENT_CNF 0x00001ED3
#define RCX_GET_PERF_COUNTERS_REQ 0x00001ED4
#define RCX_GET_PERF_COUNTERS_CNF 0x00001ED5
/* Time handling requests */
#define RCX_TIME_COMMAND_REQ 0x00001ED8
#define RCX_TIME_COMMAND_CNF 0x00001ED9
/* Backup / Restore commands */
#define RCX_BACKUP_REQ 0x00001F50
#define RCX_BACKUP_CNF 0x00001F51
#define RCX_RESTORE_REQ 0x00001F52
#define RCX_RESTORE_CNF 0x00001F53
/* do NOT add further commands in the range 0x00001FXX (because of collosion with PNS_IF task) */
/***************************************************************************************/
/* Common global stack commands */
#define RCX_GET_WATCHDOG_TIME_REQ 0x00002F02
#define RCX_GET_WATCHDOG_TIME_CNF 0x00002F03
#define RCX_SET_WATCHDOG_TIME_REQ 0x00002F04
#define RCX_SET_WATCHDOG_TIME_CNF 0x00002F05
#define RCX_GET_SLAVE_HANDLE_REQ 0x00002F08
#define RCX_GET_SLAVE_HANDLE_CNF 0x00002F09
#define RCX_GET_SLAVE_CONN_INFO_REQ 0x00002F0A
#define RCX_GET_SLAVE_CONN_INFO_CNF 0x00002F0B
#define RCX_GET_DPM_IO_INFO_REQ 0x00002F0C
#define RCX_GET_DPM_IO_INFO_CNF 0x00002F0D
#define RCX_REGISTER_APP_REQ 0x00002F10
#define RCX_REGISTER_APP_CNF 0x00002F11
#define RCX_UNREGISTER_APP_REQ 0x00002F12
#define RCX_UNREGISTER_APP_CNF 0x00002F13
#define RCX_DELETE_CONFIG_REQ 0x00002F14
#define RCX_DELETE_CONFIG_CNF 0x00002F15
#define RCX_READ_IO_DATA_IMAGE_REQ 0x00002F20
#define RCX_READ_IO_DATA_IMAGE_CNF 0x00002F21
#define RCX_BUSSCAN_REQ 0x00002f22
#define RCX_BUSSCAN_CNF 0x00002f23
#define RCX_GET_DEVICE_INFO_REQ 0x00002f24
#define RCX_GET_DEVICE_INFO_CNF 0x00002f25
#define RCX_START_STOP_COMM_REQ 0x00002F30
#define RCX_START_STOP_COMM_CNF 0x00002F31
#define RCX_LOCK_UNLOCK_CONFIG_REQ 0x00002F32
#define RCX_LOCK_UNLOCK_CONFIG_CNF 0x00002F33
#define RCX_SET_HANDSHAKE_CONFIG_REQ 0x00002F34
#define RCX_SET_HANDSHAKE_CONFIG_CNF 0x00002F35
#define RCX_CHANNEL_INIT_REQ 0x00002F80
#define RCX_CHANNEL_INIT_CNF 0x00002F81
#define RCX_VERIFY_DATABASE_REQ 0x00002F82
#define RCX_VERIFY_DATABASE_CNF 0x00002F83
#define RCX_ACTIVATE_DATABASE_REQ 0x00002F84
#define RCX_ACTIVATE_DATABASE_CNF 0x00002F85
#define RCX_SET_FW_PARAMETER_REQ 0x00002F86
#define RCX_SET_FW_PARAMETER_CNF 0x00002F87
#define RCX_GET_FW_PARAMETER_REQ 0x00002F88
#define RCX_GET_FW_PARAMETER_CNF 0x00002F89
#define RCX_LINK_STATUS_CHANGE_IND 0x00002F8A
#define RCX_LINK_STATUS_CHANGE_RES 0x00002F8B
/* pragma pack */
#ifdef PRAGMA_PACK_ENABLE
#pragma PRAGMA_PACK_1(RCX_PUBLIC)
#endif
/******************************************************************************
* Packet: RCX_TIME_COMMAND_REQ/RCX_TIME_COMMAND_CNF
*
*/
/* Time command codes */
#define TIME_CMD_GETSTATE 0x00000001
#define TIME_CMD_GETTIME 0x00000002
#define TIME_CMD_SETTIME 0x00000003
/* Time RTC information */
#define TIME_INFO_RTC_MSK 0x00000007
#define TIME_INFO_RTC_TYPE_MSK 0x00000003
#define TIME_INFO_RTC_RTC_STATE 0x00000004
typedef __TLR_PACKED_PRE struct RCX_TIME_CMD_DATA_Ttag
{
TLR_UINT32 ulTimeCmd;
TLR_UINT32 ulData;
TLR_UINT32 ulReserved;
} __TLR_PACKED_POST RCX_TIME_CMD_DATA_T;
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TIME_CMD_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TIME_CMD_DATA_T tData; /* packet data */
} RCX_TIME_CMD_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TIME_CMD_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TIME_CMD_DATA_T tData; /* packet data */
} RCX_TIME_CMD_CNF_T;
/******************************************************************************
* Packet: RCX_ENABLE_PERF_MEASUREMENT_REQ/RCX_ENABLE_PERF_MEASUREMENT_CNF
*
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_ENABLE_PERF_MEASUREMENT_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_ENABLE_PERF_MEASUREMENT_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_ENABLE_PERF_MEASUREMENT_CNF_DATA_Ttag
{
TLR_UINT32 ulOldState;
} RCX_ENABLE_PERF_MEASUREMENT_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_ENABLE_PERF_MEASUREMENT_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_ENABLE_PERF_MEASUREMENT_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_ENABLE_PERF_MEASUREMENT_CNF_T;
/******************************************************************************
* Packet: RCX_GET_PERF_COUNTERS_REQ/RCX_GET_PERF_COUNTERS_CNF
*
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_PERF_COUNTERS_REQ_DATA_Ttag
{
TLR_UINT16 usStartToken;
TLR_UINT16 usTokenCount;
} __TLR_PACKED_POST RCX_GET_PERF_COUNTERS_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_PERF_COUNTERS_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_GET_PERF_COUNTERS_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_GET_PERF_COUNTERS_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_PERF_COUNTER_DATA_Ttag
{
TLR_UINT32 ulNanosecondsLower;
TLR_UINT32 ulNanosecondsUpper;
} __TLR_PACKED_POST RCX_PERF_COUNTER_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_PERF_COUNTERS_CNF_DATA_Ttag
{
TLR_UINT16 usStartToken;
TLR_UINT16 usTokenCount;
RCX_PERF_COUNTER_DATA_T tPerfSystemUptime;
/* following entry is a placeholder for a dynamic array whose length is given by ulLen in the packet header */
RCX_PERF_COUNTER_DATA_T atPerfCounters[1];
} __TLR_PACKED_POST RCX_GET_PERF_COUNTERS_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_PERF_COUNTERS_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_GET_PERF_COUNTERS_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_GET_PERF_COUNTERS_CNF_T;
/******************************************************************************
* Packet: RCX_SET_MAC_ADDR_REQ/RCX_SET_MAC_ADDR_CNF
*
* This packet reconfigures the MAC address
* If RCX_STORE_MAC_ADDRESS is set, it will also update the Sec EEPROM permanently.
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_SET_MAC_ADDR_REQ_DATA_Ttag
{
TLR_UINT32 ulParam; /* Parameter Bit Field */
TLR_UINT8 abMacAddr[6]; /* MAC address */
TLR_UINT8 abPad[2]; /* Pad bytes, set to zero */
} __TLR_PACKED_POST RCX_SET_MAC_ADDR_REQ_DATA_T;
#define RCX_STORE_MAC_ADDRESS 0x00000001
#define RCX_FORCE_MAC_ADDRESS 0x00000002
typedef __TLR_PACKED_PRE struct RCX_SET_MAC_ADDR_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_SET_MAC_ADDR_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_SET_MAC_ADDR_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_SET_MAC_ADDR_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_SET_MAC_ADDR_CNF_T;
/******************************************************************************
* Packet: RCX_FIRMWARE_RESET_REQ/RCX_FIRMWARE_RESET_CNF
*
* This packet executes a RESET on the netX
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_RESET_REQ_DATA_Ttag
{
TLR_UINT32 ulTimeToReset; /* time to reset in ms */
TLR_UINT32 ulResetMode; /* reset mode param */
} __TLR_PACKED_POST RCX_FIRMWARE_RESET_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_RESET_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FIRMWARE_RESET_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FIRMWARE_RESET_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_RESET_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FIRMWARE_RESET_CNF_T;
/******************************************************************************
* Packet: RCX_QUE_IDENTIFY_REQ/RCX_QUE_IDENTIFY_CNF
*
* This packet allows identifying a queue by name
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_REQ_DATA_Ttag
{
TLR_STR szQueName[16]; /* queue name */
TLR_UINT32 ulInst; /* instance of queue */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_IDENTIFY_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_CNF_DATA_Ttag
{
TLR_UINT32 ulQue; /* queue handle */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_IDENTIFY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_CNF_T;
/******************************************************************************
* Packet: RCX_QUE_IDENTIFY_IDX_REQ/RCX_QUE_IDENTIFY_IDX_CNF
*
* This packet allows identifying a queue by index
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_IDX_REQ_DATA_Ttag
{
TLR_UINT32 ulIndex; /* queue table index */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_IDX_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_IDX_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_IDENTIFY_IDX_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_IDX_CNF_DATA_Ttag
{
TLR_UINT32 ulIndex; /* queue table index */
TLR_STR szQueName[16]; /* queue name */
TLR_UINT32 ulInst; /* instance of queue */
TLR_UINT32 ulQue; /* queue handle */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_IDX_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_IDENTIFY_IDX_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_IDENTIFY_IDX_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_IDENTIFY_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_IDENTIFY_REQ/RCX_TSK_IDENTIFY_CNF
*
* This packet allows identifying a task by name
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_REQ_DATA_Ttag
{
TLR_STR szTskName[16]; /* task name */
TLR_UINT32 ulInst; /* task instance */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_IDENTIFY_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_CNF_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
TLR_UINT32 ulTskIdentifier; /* task identifier */
TLR_UINT16 usTskMajorVersion; /* task major version */
TLR_UINT16 usTskMinorVersion; /* task minor version */
TLR_UINT32 ulNumOfDiagStructs; /* count of task diagnostic structures */
TLR_UINT32 ulPriority; /* task priority */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_IDENTIFY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_NAME_REQ/RCX_TSK_GET_NAME_CNF
*
* This packet allows retrieving a task name from a given handle
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_NAME_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
} __TLR_PACKED_POST RCX_TSK_GET_NAME_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_NAME_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_NAME_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_NAME_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_NAME_CNF_DATA_Ttag
{
TLR_UINT8 abTskName[16]; /* task name */
TLR_UINT32 ulInstance; /* task instance */
} __TLR_PACKED_POST RCX_TSK_GET_NAME_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_NAME_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_NAME_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_NAME_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_IDENTIFY_IDX_REQ/RCX_TSK_IDENTIFY_IDX_CNF
*
* This packet allows identifying a task by index
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_IDX_REQ_DATA_Ttag
{
TLR_UINT32 ulIndex; /* task table index */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_IDX_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_IDX_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_IDENTIFY_IDX_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_IDX_CNF_DATA_Ttag
{
TLR_UINT32 ulIndex; /* task table index */
TLR_STR szTskName[16]; /* task name */
TLR_UINT32 ulInstance; /* task instance */
TLR_UINT32 ulTsk; /* task handle */
TLR_UINT32 ulTskIdentifier; /* task identifier */
TLR_UINT16 usTskMajorVersion; /* task major version */
TLR_UINT16 usTskMinorVersion; /* task minor version */
TLR_UINT32 ulNumOfDiagStructs; /* count of task diagnostic structures */
TLR_UINT32 ulPriority; /* task priority */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_IDX_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_IDENTIFY_IDX_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_IDENTIFY_IDX_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_IDENTIFY_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_STATUS_IDX_REQ/RCX_TSK_GET_STATUS_IDX_CNF
* Packet: RCX_TSK_GET_STATUS_REQ /RCX_TSK_GET_STATUS_CNF
*
* These packets allow retrieving the task status either by index or handle
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_STATUS_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_REQ_T;
typedef RCX_TSK_GET_STATUS_REQ_T RCX_TSK_GET_STATUS_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_CNF_DATA_Ttag
{
TLR_UINT32 ulStatusCode; /* task status code */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_STATUS_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_CNF_T;
typedef RCX_TSK_GET_STATUS_CNF_T RCX_TSK_GET_STATUS_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_INFO_FIELD_REQ/RCX_TSK_GET_INFO_FIELD_CNF
*
* This packet retrieves the diagnostic structures of a given task
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
TLR_UINT32 ulInfoNo; /* index of information field */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_FIELD_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_REQ_T;
typedef RCX_TSK_GET_INFO_FIELD_REQ_T RCX_TSK_GET_INFO_FIELD_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_CNF_DATA_Ttag
{
TLR_UINT8 abData[1]; /* ATTENTION: This is a placeholder for info field data.
The packet must be allocated in correct size*/
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_FIELD_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_CNF_T;
typedef RCX_TSK_GET_INFO_FIELD_CNF_T RCX_TSK_GET_INFO_FIELD_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_INFO_FIELD_SIZE_REQ/RCX_TSK_GET_INFO_FIELD_SIZE_CNF
*
* This function retrieves the sizes of the diagnostic structures of a given task
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_SIZE_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
TLR_UINT32 ulInfoNo; /* index of information field */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_SIZE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_SIZE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_FIELD_SIZE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_SIZE_REQ_T;
typedef RCX_TSK_GET_INFO_FIELD_SIZE_REQ_T RCX_TSK_GET_INFO_FIELD_SIZE_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_SIZE_CNF_DATA_Ttag
{
TLR_UINT32 ulInfoSize; /* info field size in bytes */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_SIZE_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_FIELD_SIZE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_FIELD_SIZE_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_FIELD_SIZE_CNF_T;
typedef RCX_TSK_GET_INFO_FIELD_SIZE_CNF_T RCX_TSK_GET_INFO_FIELD_SIZE_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_INFO_STRUCT_REQ/RCX_TSK_GET_INFO_STRUCT_CNF
*
* This function retrieves the structural information of the
* diagnostic structures of a given task
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_STRUCT_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
TLR_UINT32 ulInfoNo; /* index of information field */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_STRUCT_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STRUCT_FIELD_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_STRUCT_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_STRUCT_REQ_T;
typedef RCX_TSK_GET_INFO_STRUCT_REQ_T RCX_TSK_GET_INFO_STRUCT_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_STRUCT_CNF_DATA_Ttag
{
TLR_UINT8 abData[1]; /* ATTENTION: This is a placeholder for info field data.
The packet must be allocated in correct size*/
} __TLR_PACKED_POST RCX_TSK_GET_INFO_STRUCT_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_STRUCT_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_STRUCT_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_STRUCT_CNF_T;
typedef RCX_TSK_GET_INFO_STRUCT_CNF_T RCX_TSK_GET_INFO_STRUCT_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_INFO_ARRAY_REQ/RCX_TSK_GET_INFO_ARRAY_CNF
*
* This function retrieves the diagnostic structure count and the task handle
* by reading the task table in an indexed way
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_ARRAY_REQ_DATA_Ttag
{
TLR_UINT32 ulStartIndex; /* start index of requested list */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_ARRAY_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_ARRAY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_ARRAY_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_ARRAY_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_ARRAY_CNF_DATA_ELEMENTtag
{
TLR_UINT32 ulTsk; /* task handle */
TLR_UINT32 ulNumberOfInfoFields; /* number of info fields */
/* the field ulInfoNo of the earlier two requests will have the value range of 0 - (ulNumberOfInfoFields-1) */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_ARRAY_CNF_DATA_ELEMENT;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_ARRAY_CNF_DATA_Ttag
{
TLR_UINT32 ulStartIndex; /* start index */
TLR_UINT32 ulNumberOfEntries; /* number of entries (declaring range of start to start+count-1) */
TLR_UINT32 ulCurrentTskCount; /* current number of tasks */
RCX_TSK_GET_INFO_ARRAY_CNF_DATA_ELEMENT atInfoData[1]; /* ATTENTION: This is a placeholder for task info data.
The packet must be allocated in correct size*/
} __TLR_PACKED_POST RCX_TSK_GET_INFO_ARRAY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_INFO_ARRAY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_INFO_ARRAY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_INFO_ARRAY_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_START_REQ/RCX_TSK_START_CNF
*
* This packet allows starting a user task
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_START_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
} __TLR_PACKED_POST RCX_TSK_START_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_START_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_START_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_START_REQ_T;
typedef RCX_TSK_START_REQ_T RCX_TSK_START_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_START_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_TSK_START_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_STOP_REQ/RCX_TSK_STOP_CNF
*
* This packet allows stopping a user task
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_STOP_REQ_DATA_Ttag
{
TLR_UINT32 ulTsk; /* task handle */
} __TLR_PACKED_POST RCX_TSK_STOP_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_STOP_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_STOP_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_STOP_REQ_T;
typedef RCX_TSK_STOP_REQ_T RCX_TSK_STOP_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_STOP_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_TSK_STOP_CNF_T;
/******************************************************************************
* Packet: MID_SYS_QUE_LOG_SET_REQ/MID_SYS_QUE_LOG_SET_CNF
*
* This packet sets a logical queue entry
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_LOG_SET_REQ_DATA_Ttag
{
TLR_UINT32 ulLogQue; /* logical queue id */
} __TLR_PACKED_POST RCX_QUE_LOG_SET_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_LOG_SET_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_LOG_SET_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_LOG_SET_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_LOG_SET_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_QUE_LOG_SET_CNF_T;
/******************************************************************************
* Packet: MID_SYS_QUE_LOG_CLR_REQ/MID_SYS_QUE_LOG_CLR_CNF
*
* This packet clears a logical queue entry
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_LOG_CLR_REQ_DATA_Ttag
{
TLR_UINT32 ulLogQue; /* logical queue id */
} __TLR_PACKED_POST RCX_QUE_LOG_CLR_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_LOG_CLR_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_LOG_CLR_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_LOG_CLR_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_LOG_CLR_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet data */
} __TLR_PACKED_POST RCX_QUE_LOG_CLR_CNF_T;
/******************************************************************************
* Packet: RCX_QUE_GET_LOAD_REQ/RCX_QUE_GET_LOAD_CNF
*
* This packet allows retrieving the queue load of a given queue
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_GET_LOAD_REQ_DATA_Ttag
{
TLR_UINT32 ulQue[1]; /* ATTENTION: This is a placeholder for number of queues to query.
The packet must be allocated in correct size*/
} __TLR_PACKED_POST RCX_QUE_GET_LOAD_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_QUE_GET_LOAD_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_GET_LOAD_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_GET_LOAD_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_QUE_GET_LOAD_CNF_DATA_Ttag
{
TLR_UINT32 ulQueLoad[1]; /* ATTENTION: This is a placeholder for queue load entries
The packet must be allocated in correct size*/
} __TLR_PACKED_POST RCX_QUE_GET_LOAD_CNF_DATA_T;
#define RCX_QUE_LOAD_INVALID (0xffffffffL)
typedef __TLR_PACKED_PRE struct RCX_QUE_GET_LOAD_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_QUE_GET_LOAD_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_QUE_GET_LOAD_CNF_T;
/******************************************************************************
* Packet: RCX_PHYSMEM_READ_REQ/RCX_PHYSMEM_READ_CNF
*
* This packet allows read accesss to physical memory area
*/
#define RCX_PHYSMEM_ACCESSTYPE_8BIT 0
#define RCX_PHYSMEM_ACCESSTYPE_16BIT 1
#define RCX_PHYSMEM_ACCESSTYPE_32BIT 2
#define RCX_PHYSMEM_ACCESSTYPE_TASK 3
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_PHYSMEM_READ_REQ_DATA_Ttag
{
TLR_UINT32 ulPhysicalAddress;
TLR_UINT32 ulAccessType;
TLR_UINT32 ulReadLength;
} __TLR_PACKED_POST RCX_PHYSMEM_READ_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_PHYSMEM_READ_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_PHYSMEM_READ_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_PHYSMEM_READ_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_PHYSMEM_READ_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_PHYSMEM_READ_CNF_T;
/******************************************************************************
* Packet: RCX_PHYSMEM_WRITE_REQ/RCX_PHYSMEM_WRITE_CNF
*
* This packet allows write accesss to physical memory area
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_PHYSMEM_WRITE_REQ_DATA_Ttag
{
TLR_UINT32 ulPhysicalAddress;
TLR_UINT32 ulAccessType;
} __TLR_PACKED_POST RCX_PHYSMEM_WRITE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_PHYSMEM_WRITE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_PHYSMEM_WRITE_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_PHYSMEM_WRITE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_PHYSMEM_WRITE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_PHYSMEM_WRITE_CNF_T;
/******************************************************************************
* Packet: RCX_MODULE_INSTANTIATE_REQ/RCX_MODULE_INSTANTIATE_CNF
*
* This packet allows starting of a firmware module for a given channel
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_MODULE_INSTANTIATE_REQ_DATA_Ttag
{
TLR_TASK_UID_T tModuleUuid; /* packet header */
TLR_UINT32 ulInst; /* packet data */
} __TLR_PACKED_POST RCX_MODULE_INSTANTIATE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_MODULE_INSTANTIATE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_MODULE_INSTANTIATE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_MODULE_INSTANTIATE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_MODULE_INSTANTIATE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_MODULE_INSTANTIATE_CNF_T;
/******************************************************************************
* Packet: RCX_MODULE_CHANNEL_REQ/RCX_MODULE_CHANNEL_CNF
*
* This packet allows starting of a previously downloaded firmware module for a given channel
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_CHANNEL_INSTANTIATE_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelNo; /* channel number */
} __TLR_PACKED_POST RCX_CHANNEL_INSTANTIATE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_CHANNEL_INSTANTIATE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_CHANNEL_INSTANTIATE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_CHANNEL_INSTANTIATE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_CHANNEL_INSTANTIATE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_CHANNEL_INSTANTIATE_CNF_T;
/******************************************************************************
* Packet: RCX_MODULE_GET_INFO_IDX_REQ/RCX_MODULE_GET_INFO_IDX_CNF
*
* This packet reads out the current available module information from the
* module table
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_MODULE_GET_INFO_IDX_REQ_DATA_Ttag
{
TLR_UINT32 ulIdx; /* module table index */
} __TLR_PACKED_POST RCX_MODULE_GET_INFO_IDX_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_MODULE_GET_INFO_IDX_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_MODULE_GET_INFO_IDX_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_MODULE_GET_INFO_IDX_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_MODULE_GET_INFO_IDX_CNF_DATA_Ttag
{
/* index in module table */
TLR_UINT32 ulIdx;
/* module uuid */
TLR_UUID_T tModuleUuid;
/* init table address */
TLR_UINT32 ulInitTableAddress;
/* code block start address */
TLR_UINT32 ulCodeBlockStart;
/* data block start address */
TLR_UINT32 ulDataBlockStart;
/* bss block start address */
TLR_UINT32 ulBssBlockStart;
/* GOT start address */
TLR_UINT32 ulGOT;
/* PLT start address */
TLR_UINT32 ulPLT;
/* task associated with module */
TLR_UINT32 ulNumTasks;
/* static task table start */
TLR_UINT32 ulStaticTaskTableStart;
/* debug table start */
TLR_UINT32 ulDebugTableStart;
TLR_UINT32 ulDebugTableSize;
/* export table start */
TLR_UINT32 ulExportTableStart;
TLR_UINT32 ulExportTableEntries;
} __TLR_PACKED_POST RCX_MODULE_GET_INFO_IDX_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_MODULE_GET_INFO_IDX_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_MODULE_GET_INFO_IDX_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_MODULE_GET_INFO_IDX_CNF_T;
/******************************************************************************
* Packet: RCX_TSK_GET_STATUS_ARRAY_REQ/RCX_TSK_GET_STATUS_ARRAY_CNF
*
* This function reads out the task status' in an indexed way
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_ARRAY_REQ_DATA_Ttag
{
TLR_UINT32 ulStartIndex; /* start index of requested list */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_ARRAY_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_ARRAY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_STATUS_ARRAY_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_ARRAY_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_ARRAY_CNF_DATA_Ttag
{
TLR_UINT32 ulStartIndex; /* start index */
TLR_UINT32 ulNumberOfEntries; /* number of entries (declaring range of start to start+count-1) */
TLR_UINT32 ulCurrentTskCount; /* current number of tasks */
TLR_UINT32 aulStatusCodes[1]; /* ATTENTION: This is a placeholder for the status codes
The packet must be allocated in correct size*/
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_ARRAY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_TSK_GET_STATUS_ARRAY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_TSK_GET_STATUS_ARRAY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_TSK_GET_STATUS_ARRAY_CNF_T;
/******************************************************************************
* Packet: RCX_DPM_GET_BLOCK_INFO_REQ/RCX_DPM_GET_BLOCK_INFO_CNF
*
* This function retrieves the DPM Channel Block information
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_BLOCK_INFO_REQ_DATA_Ttag
{
TLR_UINT32 ulAreaIndex; /* area index */
TLR_UINT32 ulSubblockIndex; /* subblock index */
} __TLR_PACKED_POST RCX_DPM_GET_BLOCK_INFO_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_BLOCK_INFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_BLOCK_INFO_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_BLOCK_INFO_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_BLOCK_INFO_CNF_DATA_Ttag
{
TLR_UINT32 ulAreaIndex; /* area index */
TLR_UINT32 ulSubblockIndex; /* number of subblock to request data of */
TLR_UINT32 ulType; /* Type of subblock */
TLR_UINT32 ulOffset; /* Relative Offset of this Subblock within the Area */
TLR_UINT32 ulSize; /* Size of the Subblock */
TLR_UINT16 usFlags; /* flags of the subblock */
TLR_UINT16 usHandshakeMode; /* Handshake Mode */
TLR_UINT16 usHandshakeBit; /* Bit position in the Handshake register */
TLR_UINT16 usReserved; /* res */
} __TLR_PACKED_POST RCX_DPM_GET_BLOCK_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_BLOCK_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_BLOCK_INFO_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_BLOCK_INFO_CNF_T;
/******************************************************************************
* Packet: RCX_DPM_GET_COMFLAG_INFO_REQ/RCX_DPM_GET_COMFLAG_INFO_CNF
*
* This packet retrieves the currently set COM Flags
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMFLAG_INFO_REQ_DATA_Ttag
{
TLR_UINT32 ulAreaIndex; /* area index */
} __TLR_PACKED_POST RCX_DPM_GET_COMFLAG_INFO_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMFLAG_INFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_COMFLAG_INFO_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_COMFLAG_INFO_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMFLAG_INFO_CNF_DATA_Ttag
{
TLR_UINT32 ulAreaIndex; /* area index */
TLR_UINT32 ulNetxComFlag;
TLR_UINT32 ulHostComFlag;
} __TLR_PACKED_POST RCX_DPM_GET_COMFLAG_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMFLAG_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_COMFLAG_INFO_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_COMFLAG_INFO_CNF_T;
/******************************************************************************
* Packet: RCX_LISTS_GET_NUM_ENTRIES_REQ/RCX_LISTS_GET_NUM_ENTRIES_CNF
*
* This function retrieves the number of tasks and queues available on
* the system.
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_LISTS_GET_NUM_ENTRIES_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_LISTS_GET_NUM_ENTRIES_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_LISTS_GET_NUM_ENTRIES_CNF_DATA_Ttag
{
TLR_UINT32 ulNumTasks; /* number of tasks */
TLR_UINT32 ulNumQueues; /* number of queues */
} __TLR_PACKED_POST RCX_LISTS_GET_NUM_ENTRIES_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_LISTS_GET_NUM_ENTRIES_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_LISTS_GET_NUM_ENTRIES_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_LISTS_GET_NUM_ENTRIES_CNF_T;
/******************************************************************************
* Packet: RCX_FIRMWARE_IDENTIFY_REQ/RCX_FIRMWARE_IDENTIFY_CNF
*
* This function identifies the currently running firmware on a given channel
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_IDENTIFY_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelId; /* channel id */
} __TLR_PACKED_POST RCX_FIRMWARE_IDENTIFY_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_IDENTIFY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FIRMWARE_IDENTIFY_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FIRMWARE_IDENTIFY_REQ_T;
#define RCX_FIRMWARE_IDENTIFY_SYSTEM 0xFFFFFFFF
/***** confirmation packet *****/
/*****************************************************************************/
/*! Firmware Identification Structure */
/*****************************************************************************/
typedef __TLR_PACKED_PRE struct RCX_FW_VERSION_Ttag
{
unsigned short usMajor;
unsigned short usMinor;
unsigned short usBuild;
unsigned short usRevision;
} __TLR_PACKED_POST RCX_FW_VERSION_T;
typedef __TLR_PACKED_PRE struct RCX_FW_NAME_Ttag
{
unsigned char bNameLength;
unsigned char abName[63];
} __TLR_PACKED_POST RCX_FW_NAME_T;
typedef __TLR_PACKED_PRE struct RCX_FW_DATE_Ttag
{
unsigned short usYear;
unsigned char bMonth;
unsigned char bDay;
} __TLR_PACKED_POST RCX_FW_DATE_T;
typedef __TLR_PACKED_PRE struct RCX_FW_IDENTIFICATION_Ttag
{
RCX_FW_VERSION_T tFwVersion; /* !< firmware version */
RCX_FW_NAME_T tFwName; /* !< firmware name */
RCX_FW_DATE_T tFwDate; /* !< firmware date */
} __TLR_PACKED_POST RCX_FW_IDENTIFICATION_T;
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_IDENTIFY_CNF_DATA_Ttag
{
RCX_FW_IDENTIFICATION_T tFirmwareIdentification; /* firmware identification */
} __TLR_PACKED_POST RCX_FIRMWARE_IDENTIFY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FIRMWARE_IDENTIFY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FIRMWARE_IDENTIFY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FIRMWARE_IDENTIFY_CNF_T;
/******************************************************************************
* Packet: RCX_HW_IDENTIFY_REQ/RCX_HW_IDENTIFY_CNF
*
* This function retrieves the hardware identification
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_HW_IDENTIFY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_HW_IDENTIFY_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_HW_IDENTIFY_CNF_DATA_Ttag
{
TLR_UINT32 ulDeviceNumber; /* device number */
TLR_UINT32 ulSerialNumber; /* serial number */
TLR_UINT16 ausHwOptions[4]; /* hardware options */
TLR_UINT16 usDeviceClass; /* device class */
TLR_UINT8 bHwRevision; /* hardware revision */
TLR_UINT8 bHwCompatibility; /* hardware compatibility */
TLR_UINT32 ulBootType; /* how did the device boot up */
TLR_UINT32 ulChipTyp; /* chip typ */
TLR_UINT32 ulChipStep; /* chip step */
TLR_UINT32 ulRomcodeRevision; /* romcode revision */
} __TLR_PACKED_POST RCX_HW_IDENTIFY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_HW_IDENTIFY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_HW_IDENTIFY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_HW_IDENTIFY_CNF_T;
/**************************************************************************************************
* file transfer packets
*/
#define RCX_FILE_XFER_INVALID 0
#define RCX_FILE_XFER_FILESYSTEM 1 /* transfer is related to the Filesystem installed in the Firmware (i.e. 2nd stage bootloader etc.) */
#define RCX_FILE_XFER_FILE RCX_FILE_XFER_FILESYSTEM
#define RCX_FILE_XFER_MODULE 2 /* will be directly loaded into ram and relocated to be integrated in the running firmware */
#define RCX_FILE_XFER_PARALLEL_FLASH 3 /* flasher interface */
#define RCX_FILE_XFER_SERIAL_FLASH 4 /* flasher interface */
#define RCX_FILE_XFER_LICENSE_CODE 5 /* license code interface */
#define RCX_FILE_CHANNEL_0 (0)
#define RCX_FILE_CHANNEL_1 (1)
#define RCX_FILE_CHANNEL_2 (2)
#define RCX_FILE_CHANNEL_3 (3)
#define RCX_FILE_CHANNEL_4 (4)
#define RCX_FILE_CHANNEL_5 (5)
#define RCX_FILE_SYSTEM (0xFFFFFFFF)
/******************************************************************************
* Packet: RCX_FILE_UPLOAD_REQ/RCX_FILE_UPLOAD_CNF
*
* This packet starts a file upload
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_REQ_DATA_Ttag
{
TLR_UINT32 ulXferType;
TLR_UINT32 ulMaxBlockSize;
TLR_UINT32 ulChannelNo; /* 0 = Channel 0, ..., 3 = Channel 3, 0xFFFFFFFF = System, see RCX_FILE_xxxx */
TLR_UINT16 usFileNameLength; /* length of NUL-terminated file name that will follow */
/* a NUL-terminated file name will follow here */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_UPLOAD_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_CNF_DATA_Ttag
{
TLR_UINT32 ulMaxBlockSize; /* maximum block size possible */
TLR_UINT32 ulFileLength; /* file size to transfer */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_UPLOAD_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_UPLOAD_DATA_REQ/RCX_FILE_UPLOAD_DATA_CNF
*
* This packet requests the data from a previously successful RCX_FILE_UPLOAD_REQ
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_DATA_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_DATA_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_DATA_CNF_DATA_Ttag
{
TLR_UINT32 ulBlockNo; /* block number starting from 0 in a download sequence */
TLR_UINT32 ulChksum; /* cumulative CRC-32 checksum */
/* data block follows here */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_DATA_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_DATA_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_UPLOAD_DATA_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_DATA_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_UPLOAD_ABORT_REQ/RCX_FILE_UPLOAD_ABORT_CNF
*
* This packet aborts a currently running file upload
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_ABORT_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_ABORT_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_UPLOAD_ABORT_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_UPLOAD_ABORT_CNF_T;
/******************************************************************************
* Packet: RCX_FORMAT_REQ/RCX_FORMAT_CNF_T
*
* Formats the default volume
*/
#define RCX_FORMAT_REQ_DATA_FLAGS_QUICKFORMAT 0x00000000
#define RCX_FORMAT_REQ_DATA_FLAGS_FULLFORMAT 0x00000001
typedef __TLR_PACKED_PRE struct RCX_FORMAT_REQ_DATA_Ttag
{
TLR_UINT32 ulFlags;
TLR_UINT32 ulReserved;
/* Future version may have the volume name starting here as NUL terminated string,
Currently unsupported */
} __TLR_PACKED_POST RCX_FORMAT_REQ_DATA_T;
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FORMAT_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FORMAT_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_FORMAT_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FORMAT_CNF_DATA_Ttag
{
/* Valid if format has failed during a full format with an error during
erase / verify (ulSta = TLR_E_RCX_FORMAT_ERASE_FAILED or TLR_E_RCX_FORMAT_VERIFY_FAILED */
TLR_UINT32 ulExtendedErrorInfo;
TLR_UINT32 ulErrorOffset;
} __TLR_PACKED_POST RCX_FORMAT_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FORMAT_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FORMAT_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_FORMAT_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_DOWNLOAD_REQ/RCX_FILE_DOWNLOAD_CNF
*
* This packet starts a file download
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_REQ_DATA_Ttag
{
TLR_UINT32 ulXferType; /* transfer type */
TLR_UINT32 ulMaxBlockSize; /* maximum possible download size by requestor */
TLR_UINT32 ulFileLength; /* file size to download */
TLR_UINT32 ulChannelNo; /* 0 = Channel 0, ..., 3 = Channel 3, 0xFFFFFFFF = System, see RCX_FILE_xxxx */
TLR_UINT16 usFileNameLength; /* length of NUL-terminated file name that will follow */
/* a NUL-terminated file name will follow here */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_DOWNLOAD_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_CNF_DATA_Ttag
{
TLR_UINT32 ulMaxBlockSize; /* download block size selected */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_DOWNLOAD_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_DOWNLOAD_DATA_REQ/RCX_FILE_DOWNLOAD_DATA_CNF
*
* This packet transfers the file data of a previously successful RCX_DOWNLOAD_REQ
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_DATA_REQ_DATA_Ttag
{
TLR_UINT32 ulBlockNo; /* block number */
TLR_UINT32 ulChksum; /* cumulative CRC-32 checksum */
/* data block follows here */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_DATA_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_DATA_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_DOWNLOAD_DATA_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_DATA_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_DATA_CNF_DATA_Ttag
{
TLR_UINT32 ulExpectedCrc32; /* expected CRC-32 checksum */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_DATA_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_DATA_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_DOWNLOAD_DATA_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_DATA_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_DOWNLOAD_ABORT_REQ/RCX_FILE_DOWNLOAD_ABORT_CNF
*
* This packet aborts a currently running file download
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_ABORT_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_ABORT_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DOWNLOAD_ABORT_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_DOWNLOAD_ABORT_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_GET_MD5_REQ/RCX_FILE_GET_MD5_CNF
*
* This packet retrieves the MD5 sum of a given file
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_GET_MD5_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelNo; /* 0 = Channel 0, ..., 3 = Channel 3, 0xFFFFFFFF = System, see RCX_FILE_xxxx */
TLR_UINT16 usFileNameLength; /* length of NUL-terminated file name that will follow */
/* a NUL-terminated file name will follow here */
} __TLR_PACKED_POST RCX_FILE_GET_MD5_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_GET_MD5_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_GET_MD5_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_GET_MD5_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_GET_MD5_CNF_DATA_Ttag
{
TLR_UINT8 abMD5[16]; /* MD5 checksum */
} __TLR_PACKED_POST RCX_FILE_GET_MD5_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_GET_MD5_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_GET_MD5_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_GET_MD5_CNF_T;
/* This packet has the same structure, so we are using a typedef here instead of copy and paste */
typedef RCX_FILE_GET_MD5_REQ_T RCX_FILE_GET_HEADER_MD5_REQ_T;
typedef RCX_FILE_GET_MD5_CNF_T RCX_FILE_GET_HEADER_MD5_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_DELETE_REQ/RCX_FILE_DELETE_CNF
*
* This packet allows deleting a file on the system
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DELETE_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelNo; /* 0 = Channel 0, ..., 3 = Channel 3, 0xFFFFFFFF = System, see RCX_FILE_xxxx */
TLR_UINT16 usFileNameLength; /* length of NUL-terminated file name that will follow */
/* a NUL-terminated file name will follow here */
} __TLR_PACKED_POST RCX_FILE_DELETE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_DELETE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_DELETE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_DELETE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_DELETE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_DELETE_CNF_T;
/******************************************************************************
* Packet: RCX_FILE_RENAME_REQ/RCX_FILE_RENAME_CNF
*
* This packet allows renaming a file on the system
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_RENAME_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelNo; /* 0 = Channel 0, ..., 3 = Channel 3, 0xFFFFFFFF = System, see RCX_FILE_xxxx */
TLR_UINT16 usOldNameLength; /* length of NUL-terminated old file name that will follow */
TLR_UINT16 usNewNameLength; /* length of NUL-terminated new file name that will follow */
/* a NUL-terminated file name will follow here */
} __TLR_PACKED_POST RCX_FILE_RENAME_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_FILE_RENAME_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_FILE_RENAME_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_FILE_RENAME_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_FILE_RENAME_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_FILE_RENAME_CNF_T;
/******************************************************************************
* Packet: RCX_DIR_LIST_REQ/RCX_DIR_LIST_CNF
*
* This packet retrieves a Directory Listing of a given directory
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_DIR_LIST_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelNo; /* 0 = Channel 0, ..., 3 = Channel 3, 0xFFFFFFFF = System, see RCX_FILE_xxxx */
TLR_UINT16 usDirNameLength; /* length of NUL-terminated file name that will follow */
/* a NUL-terminated dir name will follow here */
} __TLR_PACKED_POST RCX_DIR_LIST_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DIR_LIST_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_DIR_LIST_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_DIR_LIST_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_DIR_LIST_CNF_DATA_Ttag
{
TLR_STR szName[16]; /* file name */
TLR_UINT32 ulFileSize; /* file size */
TLR_UINT8 bFileType; /* file type */
TLR_UINT8 bReserved; /* reserved */
TLR_UINT16 bReserved2; /* reserved */
} __TLR_PACKED_POST RCX_DIR_LIST_CNF_DATA_T;
#define RCX_DIR_LIST_CNF_FILE_TYPE_DIRECTORY 1
#define RCX_DIR_LIST_CNF_FILE_TYPE_FILE 2
typedef __TLR_PACKED_PRE struct RCX_DIR_LIST_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DIR_LIST_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DIR_LIST_CNF_T;
/******************************************************************************
* Packet: RCX_VOLUME_GET_ENTRY_REQ/RCX_VOLUME_GET_ENTRY_CNF
*
* This packet retrieves the volume information from the system by index
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_VOLUME_GET_ENTRY_REQ_DATA_Ttag
{
TLR_UINT32 ulVolumeIndex; /* volume entry table index */
} __TLR_PACKED_POST RCX_VOLUME_GET_ENTRY_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_VOLUME_GET_ENTRY_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_VOLUME_GET_ENTRY_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_VOLUME_GET_ENTRY_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_VOLUME_GET_ENTRY_CNF_DATA_Ttag
{
TLR_UINT32 ulVolumeCount; /* count of volumes */
TLR_STR szName[16]; /* name of currently requested volume entry */
} __TLR_PACKED_POST RCX_VOLUME_GET_ENTRY_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_VOLUME_GET_ENTRY_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_VOLUME_GET_ENTRY_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_VOLUME_GET_ENTRY_CNF_T;
/******************************************************************************
* Packet: RCX_GET_COMMON_STATE_REQ/RCX_GET_COMMON_STATE_CNF
*
* This packet retrieves the Common State Block of a given Channel in the DPM
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_COMMON_STS_BLOCK_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelId;
} __TLR_PACKED_POST RCX_READ_COMMON_STS_BLOCK_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_COMMON_STS_BLOCK_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_COMMON_STS_BLOCK_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_COMMON_STS_BLOCK_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_COMMON_STS_BLOCK_CNF_DATA_Ttag
{
NETX_COMMON_STATUS_BLOCK tCommonStatus;
} __TLR_PACKED_POST RCX_READ_COMMON_STS_BLOCK_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_COMMON_STS_BLOCK_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_COMMON_STS_BLOCK_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_COMMON_STS_BLOCK_CNF_T;
/**************************************
* legacy definitions of RCX_READ_COMMON_STS_BLOCK_REQ_T packet for compatibility reasons
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_COMMON_STATE_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelIndex; /* channel number */
} __TLR_PACKED_POST RCX_DPM_GET_COMMON_STATE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMMON_STATE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_COMMON_STATE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_COMMON_STATE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMMON_STATE_CNF_DATA_Ttag
{
TLR_UINT8 abData[64]; /* common status block data */
} __TLR_PACKED_POST RCX_DPM_GET_COMMON_STATE_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_COMMON_STATE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_COMMON_STATE_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_COMMON_STATE_CNF_T;
/******************************************************************************
* Packet: RCX_GET_EXTENDED_STATE_REQ/RCX_GET_EXTENDED_STATE_CNF
*
* This packet retrieves the Extended State Block of a given Channel in the DPM
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_EXTENDED_STATE_REQ_DATA_Ttag
{
TLR_UINT32 ulOffset; /* offset to start the reading from the extended status block */
TLR_UINT32 ulDataLen; /* size of block to be read from extended status block */
TLR_UINT32 ulChannelIndex; /* channel number from which to read the extended status block */
} __TLR_PACKED_POST RCX_DPM_GET_EXTENDED_STATE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_EXTENDED_STATE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_EXTENDED_STATE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_EXTENDED_STATE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_EXTENDED_STATE_CNF_DATA_Ttag
{
TLR_UINT32 ulOffset; /* offset to start the reading from the extended status block */
TLR_UINT32 ulDataLen; /* size of block to be read from extended status block */
TLR_UINT8 abData[432]; /* data block */
} __TLR_PACKED_POST RCX_DPM_GET_EXTENDED_STATE_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_DPM_GET_EXTENDED_STATE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_DPM_GET_EXTENDED_STATE_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_DPM_GET_EXTENDED_STATE_CNF_T;
/******************************************************************************
* Packet: RCX_SECURITY_EEPROM_READ_REQ/RCX_SECURITY_EEPROM_READ_CNF
*
* This packet allows reading the security eeprom
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_READ_REQ_DATA_Ttag
{
TLR_UINT32 ulZoneId; /* zone id */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_READ_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_READ_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_SECURITY_EEPROM_READ_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_READ_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_READ_CNF_DATA_Ttag
{
TLR_UINT8 abZoneData[32]; /* zone data */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_READ_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_READ_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_SECURITY_EEPROM_READ_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_READ_CNF_T;
#define RCX_SECURITY_EEPROM_ZONE_0 0
#define RCX_SECURITY_EEPROM_ZONE_1 1
#define RCX_SECURITY_EEPROM_ZONE_2 2
#define RCX_SECURITY_EEPROM_ZONE_3 3
/******************************************************************************
* Packet: RCX_SECURITY_EEPROM_WRITE_REQ/RCX_SECURITY_EEPROM_WRITE_CNF
*
* This packet allows writing of the user zones in the security eeprom
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_WRITE_REQ_DATA_Ttag
{
TLR_UINT32 ulZoneId; /* zone id , see RCX_SECURITY_EEPROM_ZONE_* defines */
TLR_UINT8 abZoneData[32]; /* zone data */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_WRITE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_WRITE_REQ_Ttag
{
/* Packet header */
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_SECURITY_EEPROM_WRITE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_WRITE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_SECURITY_EEPROM_WRITE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_SECURITY_EEPROM_WRITE_CNF_T;
/******************************************************************************
* Packet: RCX_GET_LIB_VERSION_INFO_REQ/RCX_GET_LIB_VERSION_INFO_CNF
*
* This packet allows retrieving the version information of libraries integrated
* into the firmware
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_LIB_VERSION_INFO_REQ_DATA_Ttag
{
TLR_UINT32 ulVersionIndex; /* version table index */
} __TLR_PACKED_POST RCX_GET_LIB_VERSION_INFO_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_LIB_VERSION_INFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_GET_LIB_VERSION_INFO_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_GET_LIB_VERSION_INFO_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_LIB_VERSION_Ttag
{
unsigned short usMajor;
unsigned short usMinor;
unsigned short usBuild;
unsigned short usRevision;
} __TLR_PACKED_POST RCX_LIB_VERSION_T;
typedef __TLR_PACKED_PRE struct RCX_LIB_NAME_Ttag
{
unsigned char bNameLength;
unsigned char abName[63];
} __TLR_PACKED_POST RCX_LIB_NAME_T;
typedef __TLR_PACKED_PRE struct RCX_LIB_DATE_Ttag
{
unsigned short usYear;
unsigned char bMonth;
unsigned char bDay;
} __TLR_PACKED_POST RCX_LIB_DATE_T;
typedef __TLR_PACKED_PRE struct RCX_GET_LIB_VERSION_INFO_CNF_DATA_Ttag
{
RCX_LIB_VERSION_T tLibVersion; /* !< library version */
RCX_LIB_NAME_T tLibName; /* !< library name */
RCX_LIB_DATE_T tLibDate; /* !< library date */
TLR_UINT32 ulType; /* type of library */
} __TLR_PACKED_POST RCX_GET_LIB_VERSION_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_LIB_VERSION_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_GET_LIB_VERSION_INFO_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_GET_LIB_VERSION_INFO_CNF_T;
/******************************************************************************
* Packet: RCX_GET_WATCHDOG_TIME_REQ/RCX_GET_WATCHDOG_TIME_CNF
*
* This packet allows retrieving the actual watchdog time
*/
/***** request packet *****/
typedef TLR_EMPTY_PACKET_T RCX_GET_WATCHDOG_TIME_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_WATCHDOG_TIME_CNF_DATA_Ttag
{
/** watchdog time in us */
TLR_UINT32 ulWdgTime;
} __TLR_PACKED_POST RCX_GET_WATCHDOG_TIME_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_WATCHDOG_TIME_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_GET_WATCHDOG_TIME_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_GET_WATCHDOG_TIME_CNF_T;
/******************************************************************************
* Packet: RCX_SET_WATCHDOG_TIME_REQ/RCX_SET_WATCHDOG_TIME_CNF
*
* This packet allows setting the actual watchdog time
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_SET_WATCHDOG_TIME_REQ_DATA_Ttag
{
/** watchdog time in us */
TLR_UINT32 ulWdgTime;
} __TLR_PACKED_POST RCX_SET_WATCHDOG_TIME_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_SET_WATCHDOG_TIME_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_SET_WATCHDOG_TIME_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_SET_WATCHDOG_TIME_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_SET_WATCHDOG_TIME_CNF_T;
/******************************************************************************
* Packet: RCX_PACKET_GET_SLAVE_HANDLE_REQ/RCX_PACKET_GET_SLAVE_HANDLE_CNF
*
* This packet allows retrieving diagnostic information of the
* connected devices
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_HANDLE_REQ_DATA_Tag
{
TLR_UINT32 ulParam;
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_HANDLE_REQ_DATA_T;
#define RCX_LIST_CONF_SLAVES 0x00000001
#define RCX_LIST_ACTV_SLAVES 0x00000002
#define RCX_LIST_FAULTED_SLAVES 0x00000003
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_HANDLE_REQ_Tag
{
TLR_PACKET_HEADER_T tHead;
RCX_PACKET_GET_SLAVE_HANDLE_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_HANDLE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_HANDLE_CNF_DATA_Tag
{
TLR_UINT32 ulParam;
TLR_UINT32 aulHandle[1];
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_HANDLE_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_HANDLE_CNF_Tag
{
TLR_PACKET_HEADER_T tHead;
RCX_PACKET_GET_SLAVE_HANDLE_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_HANDLE_CNF_T;
/******************************************************************************
* Packet: RCX_PACKET_GET_SLAVE_CONN_INFO_REQ/RCX_PACKET_GET_SLAVE_CONN_INFO_CNF
*
* This packet allows retrieving detail information of a slave
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_CONN_INFO_REQ_DATA_Tag
{
TLR_UINT32 ulHandle;
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_CONN_INFO_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_CONN_INFO_REQ_Tag
{
TLR_PACKET_HEADER_T tHead;
RCX_PACKET_GET_SLAVE_CONN_INFO_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_CONN_INFO_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_CONN_INFO_CNF_DATA_Tag
{
TLR_UINT32 ulHandle;
TLR_UINT32 ulStructID;
/*
Feldbus specific structure
*/
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_CONN_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_PACKET_GET_SLAVE_CONN_INFO_CNF_Tag
{
TLR_PACKET_HEADER_T tHead;
RCX_PACKET_GET_SLAVE_CONN_INFO_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_PACKET_GET_SLAVE_CONN_INFO_CNF_T;
/******************************************************************************
* Packet: RCX_GET_DPM_IO_INFO__REQ/RCX_GET_DPM_IO_INFO__CNF
*
* This packet allows retrieving the used I/O length
*/
/***** request packet *****/
typedef TLR_EMPTY_PACKET_T RCX_GET_DPM_IO_INFO_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_DPM_IO_BLOCK_INFO_Ttag
{
TLR_UINT32 ulSubblockIndex; /* number of sub block */
TLR_UINT32 ulType; /* type of sub block */
TLR_UINT16 usFlags; /* flags of the sub block */
TLR_UINT16 usReserved; /* reserved */
TLR_UINT32 ulOffset; /* start offset of the IO data */
TLR_UINT32 ulLength; /* length of used IO data */
} __TLR_PACKED_POST RCX_DPM_IO_BLOCK_INFO_T;
typedef __TLR_PACKED_PRE struct RCX_GET_DPM_IO_INFO_CNF_DATA_Ttag
{
TLR_UINT32 ulNumIOBlockInfo; /* Number of IO Block Info */
RCX_DPM_IO_BLOCK_INFO_T atIOBlockInfo[2]; /* Array of I/O Block information */
} __TLR_PACKED_POST RCX_GET_DPM_IO_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_DPM_IO_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packer header */
RCX_GET_DPM_IO_INFO_CNF_DATA_T tData; /* packet header */
} __TLR_PACKED_POST RCX_GET_DPM_IO_INFO_CNF_T;
/******************************************************************************
* Packet: RCX_REGISTER_APP_REQ/RCX_REGISTER_APP_CNF
*
* This packet allows to register a application
*/
/***** request packet *****/
typedef TLR_EMPTY_PACKET_T RCX_REGISTER_APP_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_REGISTER_APP_CNF_T;
/******************************************************************************
* Packet: RCX_UNREGISTER_APP_REQ/RCX_UNREGISTER_APP_CNF
*
* This packet allows to unregister a application
*/
/***** request packet *****/
typedef TLR_EMPTY_PACKET_T RCX_UNREGISTER_APP_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_UNREGISTER_APP_CNF_T;
/******************************************************************************
* Packet: RCX_DELETE_CONFIG_REQ/RCX_DELETE_CONFIG_CNF
*
* This packet allows to delete the actual configuration
*/
/***** request packet *****/
typedef TLR_EMPTY_PACKET_T RCX_DELETE_CONFIG_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_DELETE_CONFIG_CNF_T;
/******************************************************************************
* Packet: RCX_START_STOP_COMM_REQ/RCX_START_STOP_COMM_CNF
*
* This packet allows start and stop bus communication
*/
#define RCX_COMM_START_CMD 0x00000001
#define RCX_COMM_STOP_CMD 0x00000002
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_START_STOP_COMM_REQ_DATA_Ttag
{
TLR_UINT32 ulParam; /* Start = 1 / Stop = 2 Communication */
} __TLR_PACKED_POST RCX_START_STOP_COMM_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_START_STOP_COMM_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packer header */
RCX_START_STOP_COMM_REQ_DATA_T tData; /* packet header */
} __TLR_PACKED_POST RCX_START_STOP_COMM_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_START_STOP_COMM_CNF_T;
/******************************************************************************
* Packet: RCX_LOCK_UNLOCK_CONFIG_REQ/RCX_LOCK_UNLOCK_CONFIG_CNF
*
* This packet allows lock and unlock the configuration settings
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_LOCK_UNLOCK_CONFIG_REQ_DATA_Ttag
{
TLR_UINT32 ulParam; /* Boolean to set Lock(1) or Unlock(2) config */
} __TLR_PACKED_POST RCX_LOCK_UNLOCK_CONFIG_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_LOCK_UNLOCK_CONFIG_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packer header */
RCX_LOCK_UNLOCK_CONFIG_REQ_DATA_T tData; /* packet header */
} __TLR_PACKED_POST RCX_LOCK_UNLOCK_CONFIG_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_LOCK_UNLOCK_CONFIG_CNF_T;
/******************************************************************************
* Packet: RCX_CHANNEL_INIT_REQ/RCX_CHANNEL_INIT_CNF
*
* This packet allows retrieving the used I/O length
*/
/***** request packet *****/
typedef TLR_EMPTY_PACKET_T RCX_CHANNEL_INIT_REQ_T;
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_CHANNEL_INIT_CNF_T;
/******************************************************************************
* Packet: RCX_VERIFY_DATABASE_REQ /RCX_VERIFY_DATABASE_CNF
*
* This packet adds new slaves to the database
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_VERIFY_DATABASE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_VERIFY_DATABASE_REQ_T;
#define RCX_VERIFY_DATABASE_REQ_SIZE 0
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_VERIFY_SLAVE_DATABASE_LIST_Ttag
{
TLR_UINT32 ulLen;
TLR_UINT8 abData[16];
} __TLR_PACKED_POST RCX_VERIFY_SLAVE_DATABASE_LIST_T;
typedef __TLR_PACKED_PRE struct RCX_VERIFY_MASTER_DATABASE_Ttag
{
TLR_UINT32 ulMasterSettings; /* field bus independent changes */
TLR_UINT32 ulMasterStatus; /* field bus specific status */
TLR_UINT32 ulReserved[2];
} __TLR_PACKED_POST RCX_VERIFY_MASTER_DATABASE_T;
#define RCX_VERIFY_SLAVE_DATABASE_LIST_SIZE sizeof(RCX_VERIFY_SLAVE_DATABASE_LIST_T)
#define RCX_CIR_MST_SET_STARTUP 0x00000001
#define RCX_CIR_MST_SET_WATCHDOG 0x00000002
#define RCX_CIR_MST_SET_STATUSOFFSET 0x00000004
#define RCX_CIR_MST_SET_BUSPARAMETER 0x00000008
typedef __TLR_PACKED_PRE struct RCX_VERIFY_DATABASE_CNF_DATA_Ttag
{
RCX_VERIFY_SLAVE_DATABASE_LIST_T tNewSlaves;
RCX_VERIFY_SLAVE_DATABASE_LIST_T tDeactivatedSlaves;
RCX_VERIFY_SLAVE_DATABASE_LIST_T tChangedSlaves;
RCX_VERIFY_SLAVE_DATABASE_LIST_T tUnchangedSlaves;
RCX_VERIFY_SLAVE_DATABASE_LIST_T tImpossibleSlaveChanges;
RCX_VERIFY_MASTER_DATABASE_T tMasterChanges;
} __TLR_PACKED_POST RCX_VERIFY_DATABASE_CNF_DATA_T;
#define RCX_VERIFY_DATABASE_CNF_DATA_SIZE sizeof(RCX_VERIFY_DATABASE_CNF_DATA_T)
typedef __TLR_PACKED_PRE struct RCX_VERIFY_DATABASE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_VERIFY_DATABASE_CNF_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_VERIFY_DATABASE_CNF_T;
#define RCX_VERFIY_DATABASE_CNF_PACKET_SIZE sizeof(RCX_VERIFY_DATABASE_CNF_T)
/******************************************************************************
* Packet: RCX_CHANNEL_ACTIVATE_REQ/RCX_CHANNEL_NEW_DATABASE_CNF
*
* This packet activates the new configured slaves
*/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_ACTIVATE_DATABASE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_ACTIVATE_DATABASE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_ACTIVATE_DATABASE_CNF_DATA_Ttag
{
TLR_UINT8 abSlvSt[16]; /* State of the slaves after configuration */
} __TLR_PACKED_POST RCX_ACTIVATE_DATABASE_CNF_DATA_T;
#define RCX_ACTIVATE_DATABASE_CNF_DATA_SIZE sizeof(RCX_ACTIVATE_DATABASE_CNF_DATA_T)
typedef __TLR_PACKED_PRE struct RCX_ACTIVATE_DATABASE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_ACTIVATE_DATABASE_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_ACTIVATE_DATABASE_CNF_T;
#define RCX_ACTIVATE_DATABASE_CNF_PACKET_SIZE sizeof(RCX_ACTIVATE_DATABASE_CNF_T)
/******************************************************************************
* Packet: RCX_HW_LICENSE_INFO_REQ/RCX_HW_LICENSE_INFO_CNF
*
* This packet allows retrieving the license information from the security memory
*/
/* request packet */
typedef __TLR_PACKED_PRE struct RCX_HW_LICENSE_INFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_HW_LICENSE_INFO_REQ_T;
/* confirmation packet */
typedef __TLR_PACKED_PRE struct RCX_HW_LICENSE_INFO_CNF_DATA_Ttag
{
TLR_UINT32 ulLicenseFlags1;
TLR_UINT32 ulLicenseFlags2;
TLR_UINT16 usNetxLicenseID;
TLR_UINT16 usNetxLicenseFlags;
} __TLR_PACKED_POST RCX_HW_LICENSE_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_HW_LICENSE_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_HW_LICENSE_INFO_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_HW_LICENSE_INFO_CNF_T;
/******************************************************************************
* Packet: RCX_HW_HARDWARE_INFO_REQ/RCX_HW_HARDWARE_INFO_CNF
*
* This packet allows retrieving hardware information
*/
/* request packet */
typedef __TLR_PACKED_PRE struct RCX_HW_HARDWARE_INFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_HW_HARDWARE_INFO_REQ_T;
/* confirmation packet */
typedef __TLR_PACKED_PRE struct RCX_HW_HARDWARE_INFO_CNF_DATA_Ttag
{
/* device number */
TLR_UINT32 ulDeviceNumber;
/* serial number */
TLR_UINT32 ulSerialNumber;
/* hardware options */
TLR_UINT16 ausHwOptions[4];
/* manufacturer code */
TLR_UINT16 usManufacturer;
/* production date */
TLR_UINT16 usProductionDate;
/* license info */
TLR_UINT32 ulLicenseFlags1;
TLR_UINT32 ulLicenseFlags2;
TLR_UINT16 usNetxLicenseID;
TLR_UINT16 usNetxLicenseFlags;
/* device class */
TLR_UINT16 usDeviceClass;
/* hardware revision */
TLR_UINT8 bHwRevision;
/* hardware compatibility */
TLR_UINT8 bHwCompatibility;
/* hardware features 1 */
TLR_UINT32 ulHardwareFeatures1;
/* hardware features 2 */
TLR_UINT32 ulHardwareFeatures2;
/* boot option */
TLR_UINT8 bBootOption;
/* reserved */
TLR_UINT8 bReserved[11];
} __TLR_PACKED_POST RCX_HW_HARDWARE_INFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_HW_HARDWARE_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_HW_HARDWARE_INFO_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_HW_HARDWARE_INFO_CNF_T;
/*****************************************************************************
* RCX_BACKUP_REQ/RCX_BACKUP_CNF
*****************************************************************************/
/*****************************************************************************
* This packet initiates a backup of the SYSVOLUME onto the given device
*****************************************************************************/
typedef __TLR_PACKED_PRE struct RCX_BACKUP_REQ_DATA_Ttag
{
TLR_CHAR szBackupPoint[1]; /*!< NULL terminated string containing the path
to backup to. This is just a placeholder, and the strucure needs to
be extended by the number of characters of the backup point,
e.g. "SDMMC:/backup" */
} __TLR_PACKED_POST RCX_BACKUP_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_BACKUP_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_BACKUP_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_BACKUP_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_BACKUP_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_BACKUP_CNF_T;
/*****************************************************************************
* RCX_RESTORE_REQ/RCX_RESTORE_CNF
*****************************************************************************/
/*****************************************************************************
* This packet initiates a restore of the SYSVOLUME from the given device / path
*****************************************************************************/
typedef __TLR_PACKED_PRE struct RCX_RESTORE_REQ_DATA_Ttag
{
TLR_CHAR szRestorePoint[1]; /*!< NULL terminated string containing the path
to restore from. This is just a placeholder, and the strucure needs to
be extended by the number of characters of the restore point
e.g. "SDMMC:/backup" */
} __TLR_PACKED_POST RCX_RESTORE_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_RESTORE_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
RCX_RESTORE_REQ_DATA_T tData; /* packet data */
} __TLR_PACKED_POST RCX_RESTORE_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_RESTORE_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead; /* packet header */
} __TLR_PACKED_POST RCX_RESTORE_CNF_T;
/******************************************************************************
* RCX_SYSTEM_INFORMATION_BLOCK_REQ/RCX_SYSTEM_INFORMATION_BLOCK_CNF
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_INFO_BLOCK_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_READ_SYS_INFO_BLOCK_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_INFO_BLOCK_CNF_DATA_Ttag
{
NETX_SYSTEM_INFO_BLOCK tSystemInfo;
} __TLR_PACKED_POST RCX_READ_SYS_INFO_BLOCK_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_INFO_BLOCK_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_SYS_INFO_BLOCK_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_SYS_INFO_BLOCK_CNF_T;
/******************************************************************************
* RCX_CHANNEL_INFORMATION_BLOCK_REQ/RCX_CHANNEL_INFORMATION_BLOCK_CNF
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_CHNL_INFO_BLOCK_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelId;
} __TLR_PACKED_POST RCX_READ_CHNL_INFO_BLOCK_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_CHNL_INFO_BLOCK_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_CHNL_INFO_BLOCK_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_CHNL_INFO_BLOCK_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_CHNL_INFO_BLOCK_CNF_DATA_Ttag
{
NETX_CHANNEL_INFO_BLOCK tChannelInfo;
} RCX_READ_CHNL_INFO_BLOCK_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_CHNL_INFO_BLOCK_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_CHNL_INFO_BLOCK_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_CHNL_INFO_BLOCK_CNF_T;
/******************************************************************************
* RCX_SYSTEM_CONTROL_BLOCK_REQ/RCX_SYSTEM_CONTROL_BLOCK_CNF
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_CNTRL_BLOCK_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_READ_SYS_CNTRL_BLOCK_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_CNTRL_BLOCK_CNF_DATA_Ttag
{
NETX_SYSTEM_CONTROL_BLOCK tSystemControl;
} __TLR_PACKED_POST RCX_READ_SYS_CNTRL_BLOCK_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_CNTRL_BLOCK_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_SYS_CNTRL_BLOCK_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_SYS_CNTRL_BLOCK_CNF_T;
/******************************************************************************
* RCX_SYSTEM_STATUS_BLOCK_REQ/RCX_SYSTEM_STATUS_BLOCK_CNF
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_STATUS_BLOCK_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_READ_SYS_STATUS_BLOCK_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_STATUS_BLOCK_CNF_DATA_Ttag
{
NETX_SYSTEM_STATUS_BLOCK tSystemState;
} __TLR_PACKED_POST RCX_READ_SYS_STATUS_BLOCK_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_SYS_STATUS_BLOCK_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_SYS_STATUS_BLOCK_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_SYS_STATUS_BLOCK_CNF_T;
/******************************************************************************
* RCX_CONTROL_BLOCK_REQ/RCX_CONTROL_BLOCK_CNF
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_COMM_CNTRL_BLOCK_REQ_DATA_Ttag
{
TLR_UINT32 ulChannelId;
} __TLR_PACKED_POST RCX_READ_COMM_CNTRL_BLOCK_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_COMM_CNTRL_BLOCK_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_COMM_CNTRL_BLOCK_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_COMM_CNTRL_BLOCK_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_READ_COMM_CNTRL_BLOCK_CNF_DATA_Ttag
{
NETX_CONTROL_BLOCK tControl;
} __TLR_PACKED_POST RCX_READ_COMM_CNTRL_BLOCK_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_READ_COMM_CNTRL_BLOCK_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_READ_COMM_CNTRL_BLOCK_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_READ_COMM_CNTRL_BLOCK_CNF_T;
/******************************************************************************
* RCX_BUSSCAN_REQ
******************************************************************************/
#define RCX_BUSSCAN_CMD_START 0x01
#define RCX_BUSSCAN_CMD_STATUS 0x02
#define RCX_BUSSCAN_CMD_ABORT 0x03
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_BUSSCAN_REQ_DATA_Ttag
{
TLR_UINT32 ulAction;
} __TLR_PACKED_POST RCX_BUSSCAN_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_BUSSCAN_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_BUSSCAN_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_BUSSCAN_REQ_T;
#define RCX_BUSSCAN_REQ_SIZE (sizeof(RCX_BUSSCAN_REQ_DATA_T))
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_BUSSCAN_CNF_DATA_Ttag
{
TLR_UINT32 ulMaxProgress;
TLR_UINT32 ulActProgress;
TLR_UINT8 abDeviceList[4];
} __TLR_PACKED_POST RCX_BUSSCAN_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_BUSSCAN_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_BUSSCAN_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_BUSSCAN_CNF_T;
#define RCX_BUSSCAN_CNF_SIZE (sizeof(RCX_BUSSCAN_CNF_DATA_T) - 4)
/******************************************************************************
* RCX_GET_DEVICE_INFO_REQ
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_DEVICE_INFO_REQ_DATA_Ttag
{
TLR_UINT32 ulDeviceIdx;
} __TLR_PACKED_POST RCX_GET_DEVICE_INFO_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_DEVICE_INFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_GET_DEVICE_INFO_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_GET_DEVICE_INFO_REQ_T;
#define RCX_GET_DEVICE_INFO_REQ_SIZE (sizeof(RCX_GET_DEVICE_INFO_REQ_DATA_T))
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_DEVICE_INFO_CNF_DATA_Ttag
{
TLR_UINT32 ulDeviceIdx;
TLR_UINT32 ulStructId;
/* TLR_UINT8 tStruct; Fieldbus specific structure */
} __TLR_PACKED_POST RCX_GET_DEVICE_INFO_CNF_DATA_T;
typedef struct RCX_GET_DEVICE_INFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_GET_DEVICE_INFO_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_GET_DEVICE_INFO_CNF_T;
#define RCX_GET_DEVICE_INFO_CNF_SIZE (sizeof(RCX_GET_DEVICE_INFO_CNF_DATA_T))
/******************************************************************************
* RCX_SET_HANDSHAKE_CONFIG_REQ
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_SET_HANDSHAKE_CONFIG_REQ_DATA_Ttag
{
/* Input process data handshake mode */
TLR_UINT8 bPDInHskMode;
/* Input process data trigger source. Currently unused, set to zero. */
TLR_UINT8 bPDInSource;
/* Threshold for input process data handshake handling errors */
TLR_UINT16 usPDInErrorTh;
/* Output process data handshake mode */
TLR_UINT8 bPDOutHskMode;
/* Output process data trigger source. Currently unused, set to zero. */
TLR_UINT8 bPDOutSource;
/* Threshold for output process data handshake handling errors */
TLR_UINT16 usPDOutErrorTh;
/* Synchronization handshake mode */
TLR_UINT8 bSyncHskMode;
/* Synchronization source */
TLR_UINT8 bSyncSource;
/* Threshold for synchronization handshake handling errors */
TLR_UINT16 usSyncErrorTh;
/* Reserved for future use. Set to zero. */
TLR_UINT32 aulReserved[2];
} __TLR_PACKED_POST RCX_SET_HANDSHAKE_CONFIG_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_SET_HANDSHAKE_CONFIG_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_SET_HANDSHAKE_CONFIG_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_SET_HANDSHAKE_CONFIG_REQ_T;
#define RCX_SET_HANDSHAKE_CONFIG_REQ_SIZE (sizeof(RCX_SET_HANDSHAKE_CONFIG_REQ_DATA_T))
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_SET_HANDSHAKE_CONFIG_CNF_T;
#define RCX_SET_HANDSHAKE_CONFIG_CNF_SIZE (0)
/******************************************************************************
* RCX_MALLINFO_REQ
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_MALLINFO_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
} __TLR_PACKED_POST RCX_MALLINFO_REQ_T;
/***** confirmation packet *****/
typedef __TLR_PACKED_PRE struct RCX_MALLINFO_CNF_DATA_Ttag
{
/* values reported by mallinfo() call, see malloc documentation for further description */
TLR_INT32 arena; /* total space allocated from system */
TLR_INT32 ordblks; /* number of non-inuse chunks */
TLR_INT32 hblks; /* number of mmapped regions */
TLR_INT32 hblkhd; /* total space in mmapped regions */
TLR_INT32 uordblks; /* total allocated space */
TLR_INT32 fordblks; /* total non-inuse space */
TLR_INT32 keepcost; /* top-most, releasable (via malloc_trim) space */
TLR_UINT32 ulTotalHeap; /* Total Heap area size in bytes */
} __TLR_PACKED_POST RCX_MALLINFO_CNF_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_MALLINFO_CNF_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_MALLINFO_CNF_DATA_T tData;
} __TLR_PACKED_POST RCX_MALLINFO_CNF_T;
/******************************************************************************
* RCX_SET_FW_PARAMETER_REQ
******************************************************************************/
/***** PID defines *****/
#define PID_STATION_ADDRESS 0x30000001 /* Station address of device*/
#define PID_BAUDRATE 0x30000002 /* Baudrate of device */
#define PID_PN_NAME_OF_STATION 0x30015001 /* PROFINET Name of Station String */
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_SET_FW_PARAMETER_REQ_DATA_Ttag
{
TLR_UINT32 ulParameterID;
TLR_UINT32 ulParameterLen;
TLR_UINT8 abParameter[4]; /* padded to DWORD boundary*/
} __TLR_PACKED_POST RCX_SET_FW_PARAMETER_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_SET_FW_PARAMETER_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_SET_FW_PARAMETER_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_SET_FW_PARAMETER_REQ_T;
#define RCX_SET_FW_PARAMETER_REQ_SIZE (sizeof(RCX_SET_FW_PARAMETER_REQ_DATA_T) - 4)
/***** confirmation packet *****/
typedef TLR_EMPTY_PACKET_T RCX_SET_FW_PARAMETER_CNF_T;
#define RCX_SET_FW_PARAMETER_CNF_SIZE (0)
/******************************************************************************
* RCX_GET_FW_PARAMETER_REQ
******************************************************************************/
/***** request packet *****/
typedef __TLR_PACKED_PRE struct RCX_GET_FW_PARAMETER_REQ_DATA_Ttag
{
TLR_UINT32 ulParameterID;
} __TLR_PACKED_POST RCX_GET_FW_PARAMETER_REQ_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_GET_FW_PARAMETER_REQ_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_GET_FW_PARAMETER_REQ_DATA_T tData;
} __TLR_PACKED_POST RCX_GET_FW_PARAMETER_REQ_T;
#define RCX_GET_FW_PARAMETER_REQ_SIZE (sizeof(RCX_GET_FW_PARAMETER_REQ_DATA_T))
/***** confirmation packet *****/
typedef RCX_SET_FW_PARAMETER_REQ_T RCX_GET_FW_PARAMETER_CNF_T;
#define RCX_GET_FW_PARAMETER_CNF_SIZE RCX_SET_FW_PARAMETER_REQ_SIZE
/******************************************************************************
* RCX_LINK_STATUS_CHANGE_IND
******************************************************************************/
/***** indication packet *****/
typedef __TLR_PACKED_PRE struct RCX_LINK_STATUS_Ttag
{
TLR_UINT32 ulPort; /*!< Port the link status is for */
TLR_BOOLEAN32 fIsFullDuplex; /*!< If a full duplex link is available on this port */
TLR_BOOLEAN32 fIsLinkUp; /*!< If a link is available on this port */
TLR_UINT32 ulSpeed; /*!< Speed of the link \n\n
\valueRange
0: No link \n
10: 10MBit \n
100: 100MBit \n */
} __TLR_PACKED_POST RCX_LINK_STATUS_T;
typedef __TLR_PACKED_PRE struct RCX_LINK_STATUS_CHANGE_IND_DATA_Ttag
{
RCX_LINK_STATUS_T atLinkData[2];
} __TLR_PACKED_POST RCX_LINK_STATUS_CHANGE_IND_DATA_T;
typedef __TLR_PACKED_PRE struct RCX_LINK_STATUS_CHANGE_IND_Ttag
{
TLR_PACKET_HEADER_T tHead;
RCX_LINK_STATUS_CHANGE_IND_DATA_T tData;
} __TLR_PACKED_POST RCX_LINK_STATUS_CHANGE_IND_T;
#define RCX_LINK_STATUS_CHANGE_IND_SIZE (sizeof(RCX_LINK_STATUS_CHANGE_IND_DATA_T))
/***** response packet *****/
typedef TLR_EMPTY_PACKET_T RCX_LINK_STATUS_CHANGE_RES_T;
#define RCX_LINK_STATUS_CHANGE_RES_SIZE (0)
/* pragma unpack */
#ifdef PRAGMA_PACK_ENABLE
#pragma PRAGMA_UNPACK_1(RCX_PUBLIC)
#endif
/***************************************************************************************/
#endif /* #ifndef __RCX_PUBLIC_H */