CHAILink SDK  Version 1.3
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
CLC_Types.h
Go to the documentation of this file.
1 //*********************************************************
2 // File: CLC_Types.h
3 // Project: CopperLan CHAILink Client SDK
4 // Version: 1.3
5 // Release Date: 2014/04/15
6 //*********************************************************
7 
8 /********************************************************************
9 Software License Agreement: CHAILink Client source code
10 
11 The software supplied herewith by Klavis Technology (the “Company”) is intended and
12 supplied to you, the Company’s customer, for use solely and exclusively on embedded
13 CopperLan products needing a CHAILink Client.
14  The software is owned by the Company and/or its supplier, and is protected
15  under applicable copyright laws. All rights are reserved. Any use in violation of the
16  foregoing restrictions may subject the user to criminal sanctions under applicable laws,
17 as well as to civil liability for the breach of the terms and conditions of this license.
18 
19 THIS SOFTWARE MUST REMAIN UNMODIFIED. NO WARRANTIES, WHETHER EXPRESS,
20  IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
21  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE
22 IN CASE OF SOURCE CODE CHANGE BY THE CUSTOMER. IN CASE OF SUCH CHANGE, THE
23 COMPANY SHALL NOT BE LIABLE FOR SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
24 OF ANY KIND.
25 ********************************************************************/
26 
27 #ifndef __CLC_TYPES_H__
28 #define __CLC_TYPES_H__
29 
30 #ifdef __cplusplus
31 extern "C" {
32 #endif
33 
34 //=========================================================================
35 // Complex types
36 //=========================================================================
37 
39 typedef struct
40 {
45 } CPDEVICEID;
46 
48 typedef struct
49 {
52 } CPENDPOINT;
53 
55 #define CPDEVICEID_Equals(a,b) (((a).wBrandID == (b).wBrandID) && ((a).wModelID == (b).wModelID) && ((a).dwDuplicateNumber == (b).dwDuplicateNumber) && ((a).wModuleID == (b).wModuleID) )
56 #define CPDEVICEID_IsEmpty(a) (((a).wBrandID == 0) && ((a).wModelID == 0) && ((a).dwDuplicateNumber == 0) && ((a).wModuleID == 0))
58 #define CPENDPOINT_Equals(a,b) (CPDEVICEID_Equals((a).deviceID, (b).deviceID) && ((a).wInOutID == (b).wInOutID))
60 #define CPENDPOINT_IsEmpty(a) (CPDEVICEID_IsEmpty((a).deviceID) && ((a).wInOutID == 0))
62 
63 
67 typedef struct
68 {
72 
76 typedef struct
77 {
83 
85 typedef struct
86 {
96 
98 typedef struct
99 {
104 
106 typedef struct
107 {
114 
117 typedef struct
118 {
121 
122  union
123  {
130 #ifdef ENABLE_FLOAT
133 #endif
134  CPUINT8 data[8];
135  }value;
136 } CPVALUE;
137 
139 typedef struct
140 {
145 } CPINPUTINFO;
146 
148 typedef struct
149 {
158 
160 typedef struct
161 {
169 
171 typedef struct
172 {
175  CPBOOLEAN fIsSynapse;
176 } CPPIPEINFO;
177 
179 typedef struct
180 {
192 
194 typedef struct
195 {
211 
213 typedef struct
214 {
219 
220 #ifdef __cplusplus
221 }
222 #endif
223 
224 #endif // __CLC_TYPES_H__
CPUINT16 wInstanceCount
Number of instances.
Definition: CLC_Types.h:102
CPENDPOINT endpoint
The corresponding endpoint.
Definition: CLC_Types.h:152
CPUINT16 u16
Definition: CLC_Types.h:124
CPUINT16 wValueUp
The value to be sent on button up event. Usually used with Selectors assigned to PushButton controlle...
Definition: CLC_Types.h:93
CPUINT16 wPreferredMsgNum
Preferred message number.
Definition: CLC_Types.h:111
CPSECTIONID sectionID
The sectionID (see SECT_xxx section types)
Definition: CLC_Types.h:151
CPUINT16 wInputID
Related input ID.
Definition: CLC_Types.h:78
Additional informations data structure.
Definition: CLC_Types.h:213
CPUINT16 wMsgType
The controller's preferred message type.
Definition: CLC_Types.h:164
CPDEVICEID DevID
Source device ID. Can be a sub-device of the requested device.
Definition: CLC_Types.h:101
CPUINT16 wDestinationCount
The number of destinations. Valid only for outputs (wObjectType == OT_Controller).
Definition: CLC_Types.h:154
Container structure for Section ID Each Input is associated to a SectionID giving information about i...
Definition: CLC_Types.h:67
SongPosition songPosition
TimeStamp song position.
Definition: CLC_Types.h:216
CPUINT64 u64
Definition: CLC_Types.h:126
SmartConnect Section Item structure.
Definition: CLC_Types.h:98
This structure contains information for a specific output or controller.
Definition: CLC_Types.h:148
CPUINT32 u32
Definition: CLC_Types.h:125
CPUINT16 wValueDown
The value to be sent on button down event. Usually used with Selectors assigned to PushButton control...
Definition: CLC_Types.h:92
CPUINT32 SongPosition
Song Position definition as unsigned 32 bit integer.
Definition: CLCm_Types.h:61
CPUINT32 dwOutputCapabilities
The consolidated output capabilities including child capabilities (see InOutCapabilities enumeration)...
Definition: CLC_Types.h:197
CPUINT16 wPreferredMsgNumber
The controller's preferred message number.
Definition: CLC_Types.h:165
CPCONTROLLERASSIGNMENT CurrentAssignment
The current controller's assignment.
Definition: CLC_Types.h:166
CPUINT16 wMsgType
Message type, matching MessageTypes.
Definition: CLC_Types.h:79
CPUINT32 dwOutCaps
Output capababilities (see InOutCapabilities enumeration)
Definition: CLC_Types.h:150
CPUINT32 dwOwnOutputCapabilities
The output capabilities (see InOutCapabilities enumeration)
Definition: CLC_Types.h:200
CPUINT16 wControllerCount
The number of controllers.
Definition: CLC_Types.h:205
signed long CPINT32
Long Integer (32 bit signed)
Definition: PlatformTypes.h:32
CPDEVICEID parentID
The parent DeviceID or Null DeviceID.
Definition: CLC_Types.h:208
This structure contains information for a specific remote device.
Definition: CLC_Types.h:179
CPFLOAT32 f32
Definition: CLC_Types.h:131
CPUINT32 dwOwnOutputCapabilities
The output capabilities (see InOutCapabilities enumeration)
Definition: CLC_Types.h:187
CPUINT16 wPipeCount
The number of pipes.
Definition: CLC_Types.h:206
CPSECTIONID sectionID
The sectionID (see SECT_xxx section types)
Definition: CLC_Types.h:142
CPUINT32 dwOwnDeviceCapabilities
The Device capabalities (see DeviceCapabilities enumeration)
Definition: CLC_Types.h:186
CPUINT16 wInstance
Section instance. The value 0xFFFF is a 'any' wildcard for section searching.
Definition: CLC_Types.h:70
CPUINT32 dwOwnDeviceCapabilities
The Device capabalities (see DeviceCapabilities enumeration)
Definition: CLC_Types.h:199
CPUINT16 wRecordingDestinationCount
The number of recording destinations. Valid only for outputs (wObjectType == OT_Controller).
Definition: CLC_Types.h:155
CPUINT16 wMsgNum
Message Number.
Definition: CLC_Types.h:89
CPUINT64 SystemTime
System Time definition as unsigned 64 bit integer.
Definition: CLCm_Types.h:62
SmartConnect Controller Item structure.
Definition: CLC_Types.h:106
unsigned char CPUINT8
Byte Integer (8 bit unsigned)
Definition: PlatformTypes.h:42
CPUINT32 dwDeviceCapabilities
The consolidated Device capabalities including child capabilities (see DeviceCapabilities enumeration...
Definition: CLC_Types.h:196
CPENDPOINT endpoint
The corresponding endpoint.
Definition: CLC_Types.h:143
CPUINT64 qwSectionType
Instance type flags. See SECT_xxx constant.
Definition: CLC_Types.h:100
CPUINT16 wModuleID
Device's Module ID.
Definition: CLC_Types.h:44
CPUINT32 dwInputCapabilities
The consolidated input capabilities including child capabilities (see InOutCapabilities enumeration) ...
Definition: CLC_Types.h:198
CPUINT32 dwDeviceCapabilities
The consolidated Device capabalities including child capabilities (see DeviceCapabilities enumeration...
Definition: CLC_Types.h:183
CPUINT32 dwInCaps
Input capababilities (see InOutCapabilities enumeration)
Definition: CLC_Types.h:141
CPUINT32 dwDuplicateNumber
Device's Duplicate Number.
Definition: CLC_Types.h:43
This structure contains information for a specific pipe.
Definition: CLC_Types.h:171
unsigned short CPUINT16
Word Integer (16 bit unsigned)
Definition: PlatformTypes.h:45
CPUINT16 wNumSources
The number of sources.
Definition: CLC_Types.h:144
CPUINT8 bDataConsumeMode
The Data Consume mode of the destination (See DataConsumeModes enumeration). Valid only for outputs (...
Definition: CLC_Types.h:156
CPDEVICEID deviceID
The Device ID part of the endpoint address.
Definition: CLC_Types.h:50
CPINT32 i32
Definition: CLC_Types.h:128
CPBOOLEAN fIsSynapse
Is synapse ?
Definition: CLC_Types.h:175
CPUINT16 wObjectType
The obect type: OT_Output or OT_Controller.
Definition: CLC_Types.h:153
CPUINT64 qwSectionType
Section type, combination of SectionTypes.
Definition: CLC_Types.h:69
CPUINT16 wConnectionCount
The number of connections.
Definition: CLC_Types.h:174
CPUINT16 wInOutID
The Inpout ID or Output ID of the endpoint address.
Definition: CLC_Types.h:51
This structure contains information for a specific local device.
Definition: CLC_Types.h:194
CPUINT16 wBrandID
Device's Manufacturer ID.
Definition: CLC_Types.h:41
CPBOOLEAN fIsDefaultAssignment
Check if the controller is currently configured with its default assignment.
Definition: CLC_Types.h:167
unsigned long CPUINT32
Double Word Integer (32 bit unsigned)
Definition: PlatformTypes.h:48
signed short CPINT16
Short Integer (16 bit signed)
Definition: PlatformTypes.h:29
Container structure for Parameter ID. Knowing a ParameterID and its owning Device gives enough inform...
Definition: CLC_Types.h:76
CPINT64 i64
Definition: CLC_Types.h:129
CPUINT16 wMsgIndex
Message Index.
Definition: CLC_Types.h:81
CPUINT16 wControllerTypes
Controller type see ControllerTypes.
Definition: CLC_Types.h:109
CPUINT16 wInformationProfile
Information profile related to the message type.
Definition: CLC_Types.h:91
CPUINT32 dwCHAIGroups
The CHAI group.
Definition: CLC_Types.h:189
Container structure for Endpoint.
Definition: CLC_Types.h:48
signed long long CPINT64
Long Long Interger (64 bit signed)
Definition: PlatformTypes.h:35
CPUINT16 wControllerID
Controller ID.
Definition: CLC_Types.h:108
CPUINT16 wMsgNum
Message Number.
Definition: CLC_Types.h:80
CPUINT16 wDataType
This field contains the data type. see DataTypes enumeration.
Definition: CLC_Types.h:120
CPUINT32 dwExtendedCapabilities
The device extended capabilities (see ExtendedDeviceCapabilities enumeration)
Definition: CLC_Types.h:190
CPUINT16 wPreferredMsgType
Preferred message type see MessageTypes.
Definition: CLC_Types.h:110
CPENDPOINT target
The target endpoint (input)
Definition: CLC_Types.h:87
CPUINT32 dwOwnInputCapabilities
The input capabilities (see InOutCapabilities enumeration)
Definition: CLC_Types.h:188
CPUINT16 wInputCount
The number of inputs.
Definition: CLC_Types.h:203
SystemTime systemTime
TimeStamp system time.
Definition: CLC_Types.h:217
CPUINT32 dwOwnInputCapabilities
The input capabilities (see InOutCapabilities enumeration)
Definition: CLC_Types.h:201
CPDEVICEID parentDeviceID
The parent DeviceID or Null DeviceID.
Definition: CLC_Types.h:182
CPENDPOINT endpoint
The corresponding endpoint.
Definition: CLC_Types.h:173
Container structure for Device ID.
Definition: CLC_Types.h:39
CPUINT8 bDuplicateMode
The duplicate mode (only for root devices)
Definition: CLC_Types.h:209
CPUINT16 wTimeStampFlags
TimeStamp information available. (Combination of TimeStampFlags values, TSF_*)
Definition: CLC_Types.h:215
CPINT16 i16
Definition: CLC_Types.h:127
Controller assignment structure.
Definition: CLC_Types.h:85
The container structure for Value. Use CPValue Functions CPVALUE_xxx functions to handle this structu...
Definition: CLC_Types.h:117
CPUINT16 wOutputCount
The number of outputs.
Definition: CLC_Types.h:204
CPUINT16 wMsgType
Message type, matching CPNS::Enums::MessageTypes.
Definition: CLC_Types.h:88
This structure contains information for a specific controller.
Definition: CLC_Types.h:160
double CPFLOAT64
A standard 64 bit float value as defined in the IEEE754r revision of the ANSI/IEEE Std 754-1985 docum...
Definition: PlatformTypes.h:60
CPDEVICEID deviceID
The DeviceID.
Definition: CLC_Types.h:181
CPFLOAT64 f64
Definition: CLC_Types.h:132
CPUINT32 dwInputCapabilities
The consolidated input capabilities including child capabilities (see InOutCapabilities enumeration) ...
Definition: CLC_Types.h:185
CPUINT32 dwOutputCapabilities
The consolidated output capabilities including child capabilities (see InOutCapabilities enumeration)...
Definition: CLC_Types.h:184
CPUINT16 wGroup
Group (related to the section)
Definition: CLC_Types.h:112
CPUINT16 wGroup
The group can be used to identify controllers sharing the same physical controller.
Definition: CLC_Types.h:163
CPUINT8 bAvailableValues
tells which of the following optional values are valid (if it makes sense for the assigned message)...
Definition: CLC_Types.h:94
float CPFLOAT32
A standard 32 bit float value as defined in the IEEE754r revision of the ANSI/IEEE Std 754-1985 docum...
Definition: PlatformTypes.h:57
CPDEVICEID deviceID
The device ID.
Definition: CLC_Types.h:207
unsigned long long CPUINT64
Quad Word Integer (64 bit unsigned)
Definition: PlatformTypes.h:51
This structure contains information for a specific input.
Definition: CLC_Types.h:139
CPUINT16 wModelID
Device's Model ID.
Definition: CLC_Types.h:42
CPUINT32 dwExtendedCapabilities
The device extended capabilities (see ExtendedDeviceCapabilities enumeration)
Definition: CLC_Types.h:202
CPUINT16 wControllerTypes
A combination of ControllerTypes enumeration.
Definition: CLC_Types.h:162
CPUINT16 wMsgIndex
Message index. CAUTION: first item is related to message index 1!
Definition: CLC_Types.h:90
CPUINT16 wRawValue
This field contains the raw value.
Definition: CLC_Types.h:119