blob: 4cbefd03ac228d0e86f16a07ed6b65b82e7fcd29 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
File: rpc_protocol.h
Copyright (c) 2001 Octasic Inc. All rights reserved.
Description:
This section defines the intent of the file.
This source code is Octasic Confidential. Use of and access to this code
is covered by the Octasic Device Enabling Software License Agreement.
Acknowledgement of the Octasic Device Enabling Software License was
required for access to this code. A copy was also provided with the release.
$Octasic_Release: OCT610xAPI-01.00-PR37 $
$Octasic_Revision: 22 $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#ifndef __RPC_PROTOCOL_H__
#define __RPC_PROTOCOL_H__
/***************************** INCLUDE FILES *******************************/
/***************************** DEFINES *************************************/
#define cOCTRPC_ENDIAN_DETECT 0x27182819
#define cOCTRPC_ENDIAN_DETECT_BYTE_W 0x19
#define cOCTRPC_ENDIAN_DETECT_BYTE_X 0x28
#define cOCTRPC_ENDIAN_DETECT_BYTE_Y 0x18
#define cOCTRPC_ENDIAN_DETECT_BYTE_Z 0x27
#define cOCTRPC_ECHO_PROTOCOL 0x00000000
#define cOCTRPC_MIN_PACKET_BYTE_LENGTH (sizeof( tOCTRPC_OGRDTP_HEADER ))
#define cOCTRPC_FIRST_COMMAND_BYTE_OFFSET (sizeof( tOCTRPC_OGRDTP_HEADER ) + sizeof( tOCTRPC_INTERFACE_HEADER ))
#define cOCTRPC_GENERIC_HEADERS_BYTE_SIZE (sizeof( tOCTRPC_OGRDTP_HEADER ) + sizeof( tOCTRPC_INTERFACE_HEADER ) + sizeof( tOCTRPC_COMMAND_HEADER ))
#define cOCTRPC_MAX_PACKET_BYTE_LENGTH 32768
/* Protocol versions */
#define cOCTRPC_PROTOCOL_V1_0 0x00010000
#define cOCTRPC_PROTOCOL_V1_1 0x00010001
#define cOCTRPC_PROTOCOL_V1_2 0x00010002
#define cOCTRPC_PROTOCOL_V1_3 0x00010003
#define cOCTRPC_OCTASIC_PROTOCOL_V1_0 0xFF010000
#define cOCTRPC_OCTASIC_PROTOCOL_V1_1 0xFF010001
#define cOCTRPC_OCTASIC_PROTOCOL_V1_2 0xFF010002
#define cOCTRPC_OCTASIC_PROTOCOL_V1_3 0xFF010003
/* Chips */
#define cOCTRPC_OCT8304_INTERFACE 0x00000000
#define cOCTRPC_OCT6100_INTERFACE 0x00000001
/* Timeout values. */
#define cOCTRPC_SESSION_TIMEOUT 30
/* Generic errors */
#define cOCTRPC_RDBGERR_OK 0x00000000
#define cOCTRPC_RDBGERR_NO_ANSWER 0xFFFF0000
#define cOCTRPC_RDBGERR_ALL_SESSIONS_OPEN 0xFFFF0001
#define cOCTRPC_RDBGERR_PROTOCOL_NUMBER 0xFFFF0002
#define cOCTRPC_RDBGERR_NO_COMMAND_HEADER 0xFFFF0003
#define cOCTRPC_RDBGERR_INTERFACE_TYPE 0xFFFF0004
#define cOCTRPC_RDBGERR_INTERFACE_VERSION 0xFFFF0005
#define cOCTRPC_RDBGERR_INVALID_PACKET_LENGTH 0xFFFF0006
#define cOCTRPC_RDBGERR_INVALID_COMMAND_LENGTH 0xFFFF0007
#define cOCTRPC_RDBGERR_INVALID_COMMAND_NUMBER 0xFFFF0008
#define cOCTRPC_RDBGERR_PACKET_TOO_LARGE 0xFFFF0009
#define cOCTRPC_RDBGERR_LIST_EMPTY 0xFFFF000A
#define cOCTRPC_RDBGERR_FATAL 0xFFFFFFFF
/***************************** TYPES ***************************************/
typedef struct _OCTRPC_OGRDTP_HEADER_
{
UINT32 IN ulEndianDetect;
UINT32 IN ulDebugSessionNum;
UINT32 IN ulTransactionNum;
UINT32 IN ulPktRetryNum;
UINT32 IN ulPktByteSize;
UINT32 IN ulChecksum;
UINT32 OUT ulParsingError;
UINT32 IN ulRpcProtocolNum;
} tOCTRPC_OGRDTP_HEADER, *tPOCTRPC_OGRDTP_HEADER;
typedef struct _OCTRPC_INTERFACE_HEADER_
{
UINT32 IN ulInterfaceType;
UINT32 IN ulInterfaceVersion;
} tOCTRPC_INTERFACE_HEADER, *tPOCTRPC_INTERFACE_HEADER;
typedef struct _OCTRPC_COMMAND_HEADER_
{
UINT32 IN ulCommandByteSize;
UINT32 IN OUT ulRpcCommandNum;
UINT32 OUT ulFunctionResult;
} tOCTRPC_COMMAND_HEADER, *tPOCTRPC_COMMAND_HEADER;
#endif /* __RPC_PROTOCOL_H__ */
|