/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
File: OCTVC1_IRSC_API.h
Copyright (c) 2018 Octasic Inc. All rights reserved.
Description: Contains the definition of the IRSC API.
OCTVC1 Internal Resources
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
Release: OCTSDR Software Development Kit OCTSDR_GSM-02.11.00-B1927 (2018/04/27)
$Revision: $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#ifndef __OCTVC1_IRSC_API_H__
#define __OCTVC1_IRSC_API_H__
/***************************** INCLUDE FILES *******************************/
#include "../../octdev_types.h"
#include "../../octdev_devices.h"
#include "../octvc1_msg.h"
#include "../octvc1_handle.h"
#include "../octvc1_fifo.h"
#include "../octvc1_buffer.h"
#include "../octvc1_eth.h"
#include "../octvc1_mac.h"
#include "../octvc1_cursor.h"
#include "../octvc1_list.h"
#include "../octvc1_log.h"
#include "../octvc1_process.h"
#include "../octvc1_radio.h"
#include "../octvc1_api.h"
#include "../octvc1_module.h"
#include "../octvc1_user_id.h"
#include "../octvc1_stream.h"
#include "../octvc1_tap.h"
#include "octvc1_irsc_id.h"
#include "octvc1_irsc_rc.h"
/************************ COMMON DEFINITIONS *******************************/
/*-------------------------------------------------------------------------------------
IPC related definitions.
-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------
IPC port type.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_IRSC_IPC_PORT_TYPE_ENUM tOCT_UINT32
#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_INVALID 0
#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_RECV 1
#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_UNIDIR_SEND 2
#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_BIDIR 3
#define cOCTVC1_IRSC_IPC_PORT_TYPE_ENUM_LOCAL 4
/*-------------------------------------------------------------------------------------
IPC port type.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_IRSC_IPC_PORT_STATE_ENUM tOCT_UINT32
#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_INVALID 0
#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_ERROR 1
#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_CONFIG 2
#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_WAIT_REMOTE 3
#define cOCTVC1_IRSC_IPC_PORT_STATE_ENUM_READY 4
/*-------------------------------------------------------------------------------------
IPC port clone state.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_IRSC_IPC_PORT_CLONE_STATE_ENUM tOCT_UINT32
#define cOCTVC1_IRSC_IPC_PORT_CLONE_STATE_ENUM_INVALID 0 /* Ipc port not part of IPC clone */
#define cOCTVC1_IRSC_IPC_PORT_CLONE_STATE_ENUM_CLONE 1 /* Ipc port clone of other port */
#define cOCTVC1_IRSC_IPC_PORT_CLONE_STATE_ENUM_ORIGINAL 2 /* Original Ipc port cloned */
#define cOCTVC1_IRSC_IPC_PORT_CLONE_STATE_ENUM_REMOTE 3 /* Remote Ipc port connected to a clone port */
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_IPC_PORT_CLONE
Ipc port clone context
Members:
ulCloneState
Port Clone State.
hProcess
When ulCloneState set to CLONE: Process handle of the original port
When ulCloneState set to ORIGINAL: Process handle of the clone port
When ulCloneState set to REMOTE: Process handle of the original port
ulPortId
When ulCloneState set to CLONE: IPC port identifier of the original port
When ulCloneState set to ORIGINAL: IPC port identifier of the clone port
When ulCloneState set to REMOTE: IPC port identifier of the original port
ulUserPortId
When ulCloneState set to CLONE: IPC port user id of the original port
When ulCloneState set to ORIGINAL: IPC port user id of the clone port
When ulCloneState set to REMOTE: IPC port user id of the original port
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_IRSC_IPC_PORT_CLONE_STATE_ENUM ulCloneState;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulPortId;
tOCT_UINT32 ulUserPortId;
} tOCTVC1_IRSC_IPC_PORT_CLONE;
/*-------------------------------------------------------------------------------------
API related definitions
-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_API_STATS
API stats
Members:
ulMaxProcessingTimeUs
Max time spent processing the command in micro second.
ulMinProcessingTimeUs
Min time spent processing the command in micro second.
ulTotalProcessingTimeUs
Total time spent processing the command in micro second.
ulCmdCnt
How many time the command is called
ulL1CacheMissCnt
Number of cache miss in L1 memory
ulTlbCacheMissCnt
Number of cache miss in TLB memory
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulMaxProcessingTimeUs;
tOCT_UINT32 ulMinProcessingTimeUs;
tOCT_UINT32 ulTotalProcessingTimeUs;
tOCT_UINT32 ulCmdCnt;
tOCT_UINT32 ulL1CacheMissCnt;
tOCT_UINT32 ulTlbCacheMissCnt;
} tOCTVC1_IRSC_API_STATS;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_SESSION_STATS
API SESSION stats
Members:
ulLastCmdTimestamp
Timestamp of the last command received
ulExpTransactionId
Next Expected transaction id
ulAcceptedCmdCnt
Total of accepted commands
ulRejectedCmdCnt
Total of rejected commands
ulRetryCmdCnt
Total of retry commands
ulResyncCnt
Total of transaction id resynchronization
ulSessionCnt
Total of time this session index have been used with a different client session
ulEvtSentCnt
Next Expected transaction id
ulEvtSentErrCnt
Next Expected transaction id
ulLastEvtTimestamp
Timestamp of the last event sent
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulLastCmdTimestamp;
tOCT_UINT32 ulExpTransactionId;
tOCT_UINT32 ulAcceptedCmdCnt;
tOCT_UINT32 ulRejectedCmdCnt;
tOCT_UINT32 ulRetryCmdCnt;
tOCT_UINT32 ulResyncCnt;
tOCT_UINT32 ulSessionCnt;
tOCT_UINT32 ulEvtSentCnt;
tOCT_UINT32 ulEvtSentErrCnt;
tOCT_UINT32 ulLastEvtTimestamp;
} tOCTVC1_IRSC_SESSION_STATS;
/*-------------------------------------------------------------------------------------
Application related definitions.
-------------------------------------------------------------------------------------*/
#define cOCTVC1_IRSC_APPLICATION_TAP_MAX_DESCRIPTION_BYTE_SIZE 255 /* Tap description buffer size, in bytes. */
#define cOCTVC1_IRSC_APPLICATION_TRANSPORT_MAX_DATA_SIZE 0xFFFFFFFF /* Max transport size. Allow adapt tap packet size base the transport. */
/*-------------------------------------------------------------------------------------
Tap state.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM tOCT_UINT32
#define cOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM_DISABLE 0
#define cOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM_STOP 1
#define cOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM_START 2
#define cOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM_PAUSE 3
/*-------------------------------------------------------------------------------------
Tap state.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_IRSC_APPLICATION_TAP_MODE_ENUM tOCT_UINT32
#define cOCTVC1_IRSC_APPLICATION_TAP_MODE_ENUM_STREAM 0
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_APPLICATION_TAP_INFO
Application Module information
Members:
ulModuleId
Module Id.
hProcess
Process handle where Tap is instantiate
ulProcessUserId
Process user identifier, connect on this interface
ulDirection
ulDataSubType
Data sub type cOCTVOCNET_PKT_SUBTYPE_UNSPECIFIED,
cOCTVOCNET_PKT_SUBTYPE_MODULE_DATA
szName
Tap Name.
szDescription
Process file name.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulModuleId;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_USER_ID_PROCESS_ENUM ulProcessUserId;
tOCTVC1_TAP_DIRECTION_ENUM ulDirection;
tOCT_UINT32 ulDataSubType;
tOCT_INT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */
tOCT_INT8 szDescription[(cOCTVC1_IRSC_APPLICATION_TAP_MAX_DESCRIPTION_BYTE_SIZE+1)];/* NOSWAPMAC */
} tOCTVC1_IRSC_APPLICATION_TAP_INFO;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_APPLICATION_TAP_STATS
TAP Command stats
Members:
ulState
Default: cOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM_DISABLE
ulFilterIndex
ulUserId
Stream
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_IRSC_APPLICATION_TAP_STATE_ENUM ulState;
tOCTVC1_INDEX ulFilterIndex;
tOCT_UINT32 ulUserId;
tOCTVC1_STREAM_STATS Stream;
} tOCTVC1_IRSC_APPLICATION_TAP_STATS;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_APPLICATION_TAP_START
Activate an application tap
Members:
ulMode
Default: cOCTVC1_IRSC_APPLICATION_TAP_MODE_ENUM_STREAM
Tap handle identifier.
ulMaxTransportDataSize
Range: [128..]
Default: cOCTVC1_IRSC_APPLICATION_TRANSPORT_MAX_DATA_SIZE
Maximum data byte size supported by transport.
ulFilterIndex
Default: cOCTVC1_INDEX_INVALID
ulUserId
Default: 0
ulRetryEnableFlag
Default: cOCT_FALSE
If true, Retry events will be sent when blocks are missing.
Blocks will be dropped to ensure they are not kept out of sequence.
ulPauseOnStartFlag
May specify to pause the TAP on start.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_IRSC_APPLICATION_TAP_MODE_ENUM ulMode;
tOCT_UINT32 ulMaxTransportDataSize;
tOCTVC1_INDEX ulFilterIndex;
tOCT_UINT32 ulUserId;
tOCT_BOOL32 ulRetryEnableFlag;
tOCT_BOOL32 ulPauseOnStartFlag;
} tOCTVC1_IRSC_APPLICATION_TAP_START;
/*-------------------------------------------------------------------------------------
IRSC Module Tap Id
-------------------------------------------------------------------------------------*/
#define cOCTVC1_IRSC_TAP_TX_LOG ((0x0000)|(cOCTVC1_TAP_DIRECTION_ENUM_TX< process)
ulInterfaceTotalRecvPktCnt
Total packet receive from Interface (process -> router )
ulInterfaceTotalErrSentPktCnt
Total error when trying to packet (router-> process)
ulInterfaceTotalErrRecvPktCnt
Total error when trying to receive packet (process -> router )
ulTotalSentPktCnt
Total packet sent to external
ulTotalRecvPktCnt
Total packet receive from external
ulSentEvtPktCnt
Number of event sent by router
ulModuleDataTotalRecvPktCnt
Total module_data packet receive from external
ulModuleDataTotalSentPktCnt
Total module_data packet sent to external
ulInterfaceNum
Number of interface between router and process
aInterfaceStats
Session event Info
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulInterfaceTotalSentPktCnt;
tOCT_UINT32 ulInterfaceTotalRecvPktCnt;
tOCT_UINT32 ulInterfaceTotalErrSentPktCnt;
tOCT_UINT32 ulInterfaceTotalErrRecvPktCnt;
tOCT_UINT32 ulTotalSentPktCnt;
tOCT_UINT32 ulTotalRecvPktCnt;
tOCT_UINT32 ulSentEvtPktCnt;
tOCT_UINT32 ulModuleDataTotalRecvPktCnt;
tOCT_UINT32 ulModuleDataTotalSentPktCnt;
tOCT_UINT32 ulInterfaceNum;
tOCTVC1_IRSC_ROUTER_INTERFACE_STATS aInterfaceStats[cOCTVC1_IRSC_ROUTER_MAX_INTERFACE];
} tOCTVC1_IRSC_ROUTER_STATS;
/*-------------------------------------------------------------------------------------
Process related definitions.
-------------------------------------------------------------------------------------*/
#define cOCTVC1_IRSC_PROCESS_MEMORY_CACHE_STATS_RECENT_MISSES_NUM 8 /* L1 cache misses history number. */
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_PROCESS_MEMORY_CACHE_STATS
Process cache memory stats
Members:
ulL1MaxSize
Maximum L1 memory size for cache fetching
ulL1UserLockedSize
L1 memory currently locked by user
ulL1CodeSize
Code cache size in bytes
ulL1DataSize
Data cache size in bytes
ulL1MissCnt
Not in L1 memory
ulTlbMissCnt
In L1 memory but not in TLB
ulL1CodeFetchCnt
Code cache line fetch
ulL1DataReadCnt
Data cache line fetch
ulL1DataWriteCnt
Data cache line fetch
aulRecentMisses
The most recent L1 misses
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulL1MaxSize;
tOCT_UINT32 ulL1UserLockedSize;
tOCT_UINT32 ulL1CodeSize;
tOCT_UINT32 ulL1DataSize;
tOCT_UINT32 ulL1MissCnt;
tOCT_UINT32 ulTlbMissCnt;
tOCT_UINT32 ulL1CodeFetchCnt;
tOCT_UINT32 ulL1DataReadCnt;
tOCT_UINT32 ulL1DataWriteCnt;
tOCT_UINT32 aulRecentMisses[cOCTVC1_IRSC_PROCESS_MEMORY_CACHE_STATS_RECENT_MISSES_NUM];
} tOCTVC1_IRSC_PROCESS_MEMORY_CACHE_STATS;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_PROCESS_MEMORY_HEAP_STATS
Process heap memory stats
Members:
ulUsedSize
Used heap memory size in bytes
ulFreeSize
Free heap memory size in bytes
ulFreeLargestSize
Free largest heap memory block size
ulUsedBlocNum
Used heap memory block number
ulFreeBlocNum
Free heap memory block number
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulUsedSize;
tOCT_UINT32 ulFreeSize;
tOCT_UINT32 ulFreeLargestSize;
tOCT_UINT32 ulUsedBlocNum;
tOCT_UINT32 ulFreeBlocNum;
} tOCTVC1_IRSC_PROCESS_MEMORY_HEAP_STATS;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_PROCESS_MEMORY_STACK_STATS
Process heap memory stats
Members:
ulFreeSize
Current Free size
ulUnusedSize
Stack size allocation that was never used.
Available when called with ulStackScanFlag to true
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulFreeSize;
tOCT_UINT32 ulUnusedSize;
} tOCTVC1_IRSC_PROCESS_MEMORY_STACK_STATS;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_PROCESS_MEMORY_SCRATCH_PAD_STATS
Process heap memory stats
Members:
ulTotalSize
Total scratch pad size in bytes. Allocate in local memory
ulMaxUsedSize
Max Used scratch pad size in bytes
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulTotalSize;
tOCT_UINT32 ulMaxUsedSize;
} tOCTVC1_IRSC_PROCESS_MEMORY_SCRATCH_PAD_STATS;
/***************************** METHODS *************************************/
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Default: cOCTVC1_HANDLE_INVALID
Process handle identifier.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
} tOCTVC1_IRSC_MSG_PROCESS_INFO_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP
Members:
Header
OCTVC1 Message Header
hProcess
ulUserId
Process user identifier
szName
Process Name.
szProcessImageName
Process file name.
ulModuleId
Module Id.
ulRouterIfEnableFlag
Router Interface enable flag
if cOCT_TRUE, an router internal is enable between this process and router
Router interface allow this core send directly API event, send/receive
MODULE_DATA
ulIpcPortMax
Maximum number of ipc port
ulIpcFifoMax
Maximum number of ipc fifo
ulTaskMax
Maximum number of task
ulUserIpcPortMax
Maximum number of user ipc port
ulUserIpcFifoMax
Maximum number of user ipc fifo
ulUserTaskMax
Maximum number of user task
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_USER_ID_PROCESS_ENUM ulUserId;
tOCT_INT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */
tOCT_INT8 szProcessImageName[(cOCTVC1_PROCESS_IMAGE_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */
tOCT_UINT32 ulModuleId;
tOCT_BOOL32 ulRouterIfEnableFlag;
tOCT_UINT32 ulIpcPortMax;
tOCT_UINT32 ulIpcFifoMax;
tOCT_UINT32 ulTaskMax;
tOCT_UINT32 ulUserIpcPortMax;
tOCT_UINT32 ulUserIpcFifoMax;
tOCT_UINT32 ulUserTaskMax;
} tOCTVC1_IRSC_MSG_PROCESS_INFO_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Default: cOCTVC1_HANDLE_INVALID
Process handle identifier.
ulResetProcessStatsFlag
Statistics counters will be reset to zero after the current values are returned.
ulResetIpcStatsFlag
Statistics counters for all IPC ports will be reset to zero after the current
values are returned.
ulResetTaskStatsFlag
Statistics counters for all tasks will be reset to zero after the current
values are returned.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCT_BOOL32 ulResetProcessStatsFlag;
tOCT_BOOL32 ulResetIpcStatsFlag;
tOCT_BOOL32 ulResetTaskStatsFlag;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP
Members:
Header
OCTVC1 Message Header
hProcess
State
Current process state.
ulTotalCacheMissCnt
ulTaskScratchPadLeakCnt
Number of tasks with scratchpad leak flag trigged
Error
Process Error
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_PROCESS_STATE_ENUM State;
tOCT_UINT32 ulTotalCacheMissCnt;
tOCT_UINT32 ulTaskScratchPadLeakCnt;
tOCTVC1_PROCESS_ERROR Error;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
ObjectNameList
Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulPortId
IPC port identifier
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulPortId;
} tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulPortId
IPC port identifier
ulUserId
IPC port user identifier
ulModuleId
Module Id.
hRemoteProcess
Remote Process identifier
ulRemotePortId
Remote IPC port identifier
ulRemoteUserId
Remote IPC port user id
szName
IPC Port Name.
ulPortIdx
Process Local Port Idx
ulType
Process Local Port Idx
ulSystemFlag
System Flag
Clone
Ipc Port Clone information.
ulRecvMsgNum
Reception array message number.
ulRecvMsgSize
Reception message size in bytes.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulPortId;
tOCT_UINT32 ulUserId;
tOCT_UINT32 ulModuleId;
tOCTVC1_HANDLE_OBJECT hRemoteProcess;
tOCTVC1_SUB_OBJECT_ID ulRemotePortId;
tOCT_UINT32 ulRemoteUserId;
tOCT_INT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];/* NOSWAPMAC */
tOCT_UINT32 ulPortIdx;
tOCTVC1_IRSC_IPC_PORT_TYPE_ENUM ulType;
tOCT_BOOL32 ulSystemFlag;
tOCTVC1_IRSC_IPC_PORT_CLONE Clone;
tOCT_UINT32 ulRecvMsgNum;
tOCT_UINT32 ulRecvMsgSize;
} tOCTVC1_IRSC_MSG_PROCESS_INFO_IPC_PORT_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulPortId
IPC port identifier
ulResetStatsFlag
Statistics counters will be reset to zero after the current values are returned.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulPortId;
tOCT_BOOL32 ulResetStatsFlag;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulPortId
IPC port identifier
ulState
IPC port state
ulSendMsgCnt
Count of message send
ulRecvMsgCnt
Count of message received.
ulRecvMsgMissCnt
Number of missing message
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulPortId;
tOCTVC1_IRSC_IPC_PORT_STATE_ENUM ulState;
tOCT_UINT32 ulSendMsgCnt;
tOCT_UINT32 ulRecvMsgCnt;
tOCT_UINT32 ulRecvMsgMissCnt;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_IPC_PORT_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
ObjectNameList
Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ObjectNameList;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_IPC_PORT_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulTaskIndex
Task identifier
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulTaskIndex;
} tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulTaskIndex
Task identifier
ulModuleId
Module Id.
szName
Name given to the task
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulTaskIndex;
tOCT_UINT32 ulModuleId;
tOCT_INT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];
} tOCTVC1_IRSC_MSG_PROCESS_INFO_TASK_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulTaskIndex
Task identifier
ulResetStatsFlag
Statistics counters will be reset to zero after the current values are returned.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulTaskIndex;
tOCT_BOOL32 ulResetStatsFlag;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulTaskIndex
Task identifier
Stats
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulTaskIndex;
tOCTVC1_PROCESS_TASK_STATS Stats;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_TASK_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
ObjectNameList
Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ObjectNameList;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_TASK_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD
Members:
Header
OCTVC1 Message Header
ulObjType
Default: cOCTVC1_HANDLE_INVALID
Process handle identifier. Typically retrieved using the
cOCTVC1_MAIN_MSG_DEVICE_INFO_CID command.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulObjType;
} tOCTVC1_IRSC_MSG_OBJMGR_INFO_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP
Members:
Header
OCTVC1 Message Header
ulObjType
Type of object contained by the manager, represented as a number
ulMaxNumObj
Max number of objects the manager can hold
ulObjByteSize
Size in bytes of each object
szName
Name given to the object manager
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulObjType;
tOCT_UINT32 ulMaxNumObj;
tOCT_UINT32 ulObjByteSize;
tOCT_INT8 szName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];
} tOCTVC1_IRSC_MSG_OBJMGR_INFO_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD
Members:
Header
OCTVC1 Message Header
ulObjType
Type of object contained by the manager, represented as a number
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulObjType;
} tOCTVC1_IRSC_MSG_OBJMGR_STATS_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP
Members:
Header
OCTVC1 Message Header
ulObjType
Type of object contained by the manager, represented as a number
ulMaxNumObj
Max number of objects the manager can hold
ulNumObj
Current number of objects in the manager
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulObjType;
tOCT_UINT32 ulMaxNumObj;
tOCT_UINT32 ulNumObj;
} tOCTVC1_IRSC_MSG_OBJMGR_STATS_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
} tOCTVC1_IRSC_MSG_OBJMGR_LIST_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
ObjectNameList
>Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList;
} tOCTVC1_IRSC_MSG_OBJMGR_LIST_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD
Start the Api command timing
Members:
Header
OCTVC1 Message Header
ulResetStatsFlag
Default: cOCT_TRUE
If set to cOCT_TRUE, all statistics counters will be reset to zero.
If set to cOCT_FALSE, counters will not be reset.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_BOOL32 ulResetStatsFlag;
} tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_API_SYSTEM_START_MONITORING_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD
Stop the Api command timing
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STOP_MONITORING_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD
List the command since the monitoring is enabled.
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
ObjectList
Object List structure.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
tOCTVC1_LIST_HANDLE_OBJECT_GET ObjectList;
} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_COMMAND_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD
Members:
Header
OCTVC1 Message Header
hCmdId
ulResetStatsFlag
Default: cOCT_FALSE
Statistics counters will be reset to zero after the current values are returned.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hCmdId;
tOCT_BOOL32 ulResetStatsFlag;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP
Members:
Header
OCTVC1 Message Header
hCmdId
CommandStats
Monitoring entry asked
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hCmdId;
tOCTVC1_IRSC_API_STATS CommandStats;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_COMMAND_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD
List the cmd that are monitored
Members:
Header
OCTVC1 Message Header
IndexGet
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_INDEX_GET IndexGet;
} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP
Members:
Header
OCTVC1 Message Header
IndexGet
Object cursor
IndexList
Object name list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_INDEX_GET IndexGet;
tOCTVC1_LIST_INDEX_GET IndexList;
} tOCTVC1_IRSC_MSG_API_SYSTEM_LIST_SESSION_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT
Session index
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Session index
SessionInfo
Session Info
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
tOCTVC1_API_SESSION_INFO SessionInfo;
} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT
Session index
ulResetStatsFlag
Default: cOCT_FALSE
Statistics counters will be reset to zero after the current values are returned.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
tOCT_BOOL32 ulResetStatsFlag;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Session index
SessionStats
Sessiont statistic asked
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
tOCTVC1_IRSC_SESSION_STATS SessionStats;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT
Session index
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Session index
EvtInfo
Session event Info
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
tOCTVC1_API_SESSION_EVT_INFO EvtInfo;
} tOCTVC1_IRSC_MSG_API_SYSTEM_INFO_SESSION_EVT_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Default: cOCTVC1_API_SESSION_INDEX_CURRENT_TRANSPORT
Session index
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP
Members:
Header
OCTVC1 Message Header
ulSessionIndex
Session index
Stats
Session event stats
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_INDEX ulSessionIndex;
tOCTVC1_IRSC_API_STATS Stats;
} tOCTVC1_IRSC_MSG_API_SYSTEM_STATS_SESSION_EVT_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_LIST_TAP_CMD
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
} tOCTVC1_IRSC_MSG_APPLICATION_LIST_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_LIST_TAP_RSP
Members:
Header
OCTVC1 Message Header
ObjectCursor
Object cursor
ObjectNameList
Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET ObjectCursor;
tOCTVC1_LIST_NAME_OBJECT32_GET ObjectNameList;
} tOCTVC1_IRSC_MSG_APPLICATION_LIST_TAP_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_INFO_TAP_CMD
Members:
Header
OCTVC1 Message Header
hTapId
Default: cOCTVC1_HANDLE_INVALID
Tap identifier.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_INFO_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_INFO_TAP_RSP
Members:
Header
OCTVC1 Message Header
hTapId
Info
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
tOCTVC1_IRSC_APPLICATION_TAP_INFO Info;
} tOCTVC1_IRSC_MSG_APPLICATION_INFO_TAP_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_STATS_TAP_CMD
Members:
Header
OCTVC1 Message Header
hTapId
Default: cOCTVC1_HANDLE_INVALID
Tap handle identifier.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_STATS_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_STATS_TAP_RSP
Members:
Header
OCTVC1 Message Header
hTapId
Stats
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
tOCTVC1_IRSC_APPLICATION_TAP_STATS Stats;
} tOCTVC1_IRSC_MSG_APPLICATION_STATS_TAP_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_START_TAP_CMD
Members:
Header
OCTVC1 Message Header
hTapId
Default: cOCTVC1_HANDLE_INVALID
Tap handle identifier.
Start
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
tOCTVC1_IRSC_APPLICATION_TAP_START Start;
} tOCTVC1_IRSC_MSG_APPLICATION_START_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_START_TAP_RSP
Members:
Header
OCTVC1 Message Header
hTapId
hLogicalObj
Contains an Object Handle for the Tap that has been started
This handle will also be placed in
DataHeader.VocNetHeader.hLogicalObj.aulHandle[0]
of the tOCTVOCNET_PKT_DATA_FRAGMENT_HEADER at the header of each data packet
sent.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
tOCTVC1_HANDLE_OBJECT hLogicalObj;
} tOCTVC1_IRSC_MSG_APPLICATION_START_TAP_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_STOP_TAP_CMD
Members:
Header
OCTVC1 Message Header
hTapId
Default: cOCTVC1_HANDLE_INVALID
Tap handle identifier.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_STOP_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_STOP_TAP_RSP
Members:
Header
OCTVC1 Message Header
hTapId
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_STOP_TAP_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_INFO_CMD
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_ROUTER_INFO_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_INFO_RSP
Members:
Header
OCTVC1 Message Header
Info
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_IRSC_ROUTER_INFO Info;
} tOCTVC1_IRSC_MSG_ROUTER_INFO_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_STATS_CMD
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_ROUTER_STATS_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_STATS_RSP
Members:
Header
OCTVC1 Message Header
Stats
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_IRSC_ROUTER_STATS Stats;
} tOCTVC1_IRSC_MSG_ROUTER_STATS_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_INFO_STREAMER_CMD
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_ROUTER_INFO_STREAMER_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_INFO_STREAMER_RSP
Members:
Header
OCTVC1 Message Header
ulLimitBandwidthMbps
Maximal limit that target application will stream out data
ulToHostStreamSequenceIdInterval
For stream target to host, define the interval that host by send data packet
acknowledgement.
Presently, only apply on file stream transfer
ulToHostStreamInitialPktCnt
For stream target to host, define initial number of packet the stream will send
to host before waiting acknowledgement.
Most be egal or greater that ulToHostStreamSequenceIdInterval .
Presently, only apply on file stream transfer
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulLimitBandwidthMbps;
tOCT_UINT32 ulToHostStreamSequenceIdInterval;
tOCT_UINT32 ulToHostStreamInitialPktCnt;
} tOCTVC1_IRSC_MSG_ROUTER_INFO_STREAMER_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_STATS_SYSTEM_CMD
This command retrieves the system global statistics.
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_APPLICATION_STATS_SYSTEM_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_STATS_SYSTEM_RSP
Members:
Header
OCTVC1 Message Header
ulExtMemSizeKb
Total Size of External Memory (Kbytes).
ulExtMemTotalAllocFreeSizeKb
Total Free Size Left of External Memory available for allocation (Kbytes).
ulExtMemLargestFreeBlocSizeKb
Largest free bloc of memory available (Kbytes).
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulExtMemSizeKb;
tOCT_UINT32 ulExtMemTotalAllocFreeSizeKb;
tOCT_UINT32 ulExtMemLargestFreeBlocSizeKb;
} tOCTVC1_IRSC_MSG_APPLICATION_STATS_SYSTEM_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_MODIFY_STREAMER_CMD
Members:
Header
OCTVC1 Message Header
ulLimitBandwidthMbps
Range: [50..1000],cOCTVC1_IRSC_ROUTER_STREAMER_LIMIT_BANDWIDTH_DISABLE
Default: cOCTVC1_DO_NOT_MODIFY
Maximal limit that target application will stream out data
Set to cOCTVC1_IRSC_ROUTER_STREAMER_LIMIT_BANDWIDTH_DISABLE to disable
Bandwidth limitation
ulToHostStreamSequenceIdInterval
Range: [10..500]
Default: cOCTVC1_DO_NOT_MODIFY
For stream target to host, define the interval that host by send data packet
acknowledgement.
Presently, only apply on file stream transfer
ulToHostStreamInitialPktCnt
Range: [10..500]
Default: cOCTVC1_DO_NOT_MODIFY
For stream target to host, initial number of packet the stream will send to
host before waiting acknowledgement.
Most be egal or greater that ulToHostStreamSequenceIdInterval .
Attention, host application must have appropriated ethernet configuration.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 ulLimitBandwidthMbps;
tOCT_UINT32 ulToHostStreamSequenceIdInterval;
tOCT_UINT32 ulToHostStreamInitialPktCnt;
} tOCTVC1_IRSC_MSG_ROUTER_MODIFY_STREAMER_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_MODIFY_STREAMER_RSP
Members:
Header
OCTVC1 Message Header
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
} tOCTVC1_IRSC_MSG_ROUTER_MODIFY_STREAMER_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_MEMORY_CMD
Retreive the memory statistics
Members:
Header
OCTVC1 Message Header
hProcess
ulStackScanFlag
Default: cOCT_FALSE
If true, the stack will be scan to find the maximum amount of stack used in
this process.
Attention, the stack scan can take more than 1ms of execution in the process.
ulScratchPadResetFlag
Default: cOCT_FALSE
If true, the max used size will be reset.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCT_BOOL32 ulStackScanFlag;
tOCT_BOOL32 ulScratchPadResetFlag;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_MEMORY_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_MEMORY_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Stack
Stack stats
Heap
Heap stats
ScratchPad
ScratchPad stats
Cache
Cache system stats
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_IRSC_PROCESS_MEMORY_STACK_STATS Stack;
tOCTVC1_IRSC_PROCESS_MEMORY_HEAP_STATS Heap;
tOCTVC1_IRSC_PROCESS_MEMORY_SCRATCH_PAD_STATS ScratchPad;
tOCTVC1_IRSC_PROCESS_MEMORY_CACHE_STATS Cache;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_MEMORY_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_SYSTEM_CMD
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_SYSTEM_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_SYSTEM_RSP
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
ObjectNameList
Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ObjectNameList;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_SYSTEM_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_SYSTEM_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulIndex
Resource index
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulIndex;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_SYSTEM_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_SYSTEM_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulIndex
Resource index
Resource
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulIndex;
tOCTVC1_RESOURCE Resource;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_SYSTEM_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_USER_CMD
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_USER_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_USER_RSP
Members:
Header
OCTVC1 Message Header
SubObjectIdGet
Object cursor
ObjectNameList
Object32 named list.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_CURSOR_HANDLE_OBJECT_GET_SUB_OBJECT_ID SubObjectIdGet;
tOCTVC1_LIST_HANDLE_OBJECT_GET_SUB_OBJECT_ID_NAME ObjectNameList;
} tOCTVC1_IRSC_MSG_PROCESS_LIST_RESOURCE_USER_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_USER_CMD
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulIndex
Resource index
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulIndex;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_USER_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_USER_RSP
Members:
Header
OCTVC1 Message Header
hProcess
Process identifier
ulIndex
Resource index
Resource
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCTVC1_HANDLE_OBJECT hProcess;
tOCTVC1_SUB_OBJECT_ID ulIndex;
tOCTVC1_RESOURCE Resource;
} tOCTVC1_IRSC_MSG_PROCESS_STATS_RESOURCE_USER_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_PAUSE_TAP_CMD
Members:
Header
OCTVC1 Message Header
hTapId
Default: cOCTVC1_HANDLE_INVALID
Tap handle identifier.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_PAUSE_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_PAUSE_TAP_RSP
Members:
Header
OCTVC1 Message Header
hTapId
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_PAUSE_TAP_RSP;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_RESUME_TAP_CMD
Members:
Header
OCTVC1 Message Header
hTapId
Default: cOCTVC1_HANDLE_INVALID
Tap handle identifier.
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_RESUME_TAP_CMD;
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_APPLICATION_RESUME_TAP_RSP
Members:
Header
OCTVC1 Message Header
hTapId
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MSG_HEADER Header;
tOCT_UINT32 hTapId;
} tOCTVC1_IRSC_MSG_APPLICATION_RESUME_TAP_RSP;
/***************************** MODULE_DATA *************************************/
/*-------------------------------------------------------------------------------------
tOCTVC1_IRSC_MSG_ROUTER_DATA_REQUEST_STREAMER_MDA
Members:
ModuleData
OCTVC1 Module Data
hStream
Contains an Object Handle of stream
This handle will also be placed in DataHeader.VocNetHeader.hLogicalObj
of the tOCTVOCNET_PKT_DATA_FRAGMENT_HEADER at the header of each data packet
sent.
hOwner
Contains an Object Handle of the object responsable for the stream object
(hLogicalObj)
ulDataSize
ulSequenceId
In the case of a retry, request data starting from this Sequence ID
ulRetryFlag
Indicates if this event is a retry request
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCTVC1_MODULE_DATA ModuleData;
tOCTVC1_HANDLE_OBJECT hStream;
tOCTVC1_HANDLE_OBJECT hOwner;
tOCT_UINT32 ulDataSize;
tOCT_UINT32 ulSequenceId;
tOCT_BOOL32 ulRetryFlag;
} tOCTVC1_IRSC_MSG_ROUTER_DATA_REQUEST_STREAMER_MDA;
/*************** INCLUDE FILES WITH DEPENDENCIES ON THIS FILE **************/
#include "octvc1_irsc_evt.h"
#endif /* __OCTVC1_IRSC_API_H__ */