blob: ea70f6e8153fe17bea547a850e40feeebfd592f1 (
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
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\
File: OCTVC1_HANDLE.h
Copyright (c) 2018 Octasic Inc. All rights reserved.
Description:
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 <http://www.gnu.org/licenses/>.
Release: OCTSDR Software Development Kit OCTSDR_GSM-02.10.00-B1837 (2018/02/21)
$Revision: $
\*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/
#ifndef __OCTVC1_HANDLE_H__
#define __OCTVC1_HANDLE_H__
/***************************** INCLUDE FILES *******************************/
#include "../octdev_types.h"
/************************ COMMON DEFINITIONS *******************************/
/*-------------------------------------------------------------------------------------
Handle Type Definitions
-------------------------------------------------------------------------------------*/
#define cOCTVC1_HANDLE_TYPE_OBJECT 0x00000000
#define cOCTVC1_HANDLE_TYPE_SPECIAL 0xC0000000
/*-------------------------------------------------------------------------------------
Special Object Handle.
These handle are used by setting
tOCTVC1_HANDLE.aulHandle[0] to the selected value.
-------------------------------------------------------------------------------------*/
#define cOCTVC1_HANDLE_INVALID 0xFFFFFFFF
#define cOCTVC1_HANDLE_TX_ETHERNET 0xFFFFFFFE
#define cOCTVC1_HANDLE_RX_ETHERNET 0xFFFFFFFD
/*-------------------------------------------------------------------------------------
Generic Definitions
-------------------------------------------------------------------------------------*/
#define cOCTVC1_DO_NOT_MODIFY 0xEEEEEEEE
#define cOCTVC1_INDEX_INVALID 0xFFFFFFFF
#define cOCTVC1_HANDLE_OBJECT_LIST_MAX_ENTRY 100
#define cOCTVC1_HANDLE_OBJECT32_NAME_LIST_MAX_ENTRY 25
#define cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH 31
#define cOCTVC1_HANDLE_OBJECT32_NAME128_LIST_MAX_ENTRY 10
#define cOCTVC1_HANDLE_OBJECT32_NAME128_MAX_LENGTH 127
/*-------------------------------------------------------------------------------------
Base Object Type, for MAIN API
-------------------------------------------------------------------------------------*/
#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_MAIN_MASK 0xFF00
#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_INVALID 0x0000
#define cOCTVC1_HANDLE_BASE_OBJ_TYPE_MAIN (cOCTVC1_MAIN_UID<<8)
/*-------------------------------------------------------------------------------------
Generic Vocallo Object Handle
-------------------------------------------------------------------------------------*/
/*-------------------------------------------------------------------------------------
tOCTVC1_HANDLE_OBJECT : Handle Object Definitions
bits[31:20] = Object Type
bits[19:0] = Object Instance bits
-------------------------------------------------------------------------------------*/
#define tOCTVC1_HANDLE_OBJECT tOCT_UINT32
/*-------------------------------------------------------------------------------------
tOCTVC1_OBJECT32_NAME
Members:
ulObject32
32 bits object identifier
May be tOCTVC1_HANDLE_OBJECT, tOCTVC1_SUB_OBJECT_ID, tOCTVC1_INDEX or any 32bits
szDisplayName
Name given to the object. Normally use for display name threw populate
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulObject32;
tOCT_INT8 szDisplayName[(cOCTVC1_HANDLE_OBJECT32_NAME_MAX_LENGTH+1)];
} tOCTVC1_OBJECT32_NAME;
/*-------------------------------------------------------------------------------------
tOCTVC1_SUB_OBJECT_ID : Identifier specific to a child.
Implementation is specific for every parent.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_SUB_OBJECT_ID tOCT_UINT32
/*-------------------------------------------------------------------------------------
tOCTVC1_INDEX : Index specific to an object.
Implementation is specific for every object.
-------------------------------------------------------------------------------------*/
#define tOCTVC1_INDEX tOCT_UINT32
/*-------------------------------------------------------------------------------------
tOCTVC1_OBJECT32_NAME128
Members:
ulObject32
32 bits file identifier
szDisplayName
Filename. Normally use for display name threw populate
-------------------------------------------------------------------------------------*/
typedef struct
{
tOCT_UINT32 ulObject32;
tOCT_INT8 szDisplayName[(cOCTVC1_HANDLE_OBJECT32_NAME128_MAX_LENGTH+1)];
} tOCTVC1_OBJECT32_NAME128;
#endif /* __OCTVC1_HANDLE_H__ */
|