1 /*
2 * Copyright (c) 2013-2015, Texas Instruments Incorporated
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 *
9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 *
12 * * Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
15 *
16 * * Neither the name of Texas Instruments Incorporated nor the names of
17 * its contributors may be used to endorse or promote products derived
18 * from this software without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
30 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 */
32 /*!
33 * @file dcmd_syslink.h
34 *
35 * @brief DCMD definitions for ipc device
36 *
37 * @ver 0001
38 */
39 #ifndef DCMD_SYSLINK_H
40 #define DCMD_SYSLINK_H
42 #include <devctl.h>
44 #if defined (__cplusplus)
45 extern "C" {
46 #endif
48 #define _DCMD_IPC _DCMD_MISC
50 typedef enum {
51 _DCMD_IPC_NAMESERVER = 0x2A,
52 _DCMD_IPC_MESSAGEQ,
53 _DCMD_IPC_MULTIPROC,
54 _DCMD_IPC_GATEMP,
55 _DCMD_IPC_GATEHWSPINLOCK
56 } dcmd_class_t_val;
58 /* ----------------------------------------------------------------------------
59 * DEVCTL command IDs for Nameserver
60 * ----------------------------------------------------------------------------
61 */
62 /*!
63 * @brief Command for NameServer_setup
64 */
65 #define DCMD_NAMESERVER_SETUP __DIOTF(_DCMD_IPC_NAMESERVER,\
66 2,\
67 NameServerDrv_CmdArgs)
68 /*!
69 * @brief Command for NameServer_setup
70 */
71 #define DCMD_NAMESERVER_DESTROY __DIOTF(_DCMD_IPC_NAMESERVER,\
72 3,\
73 NameServerDrv_CmdArgs)
74 /*!
75 * @brief Command for NameServer_destroy
76 */
77 #define DCMD_NAMESERVER_PARAMS_INIT __DIOTF(_DCMD_IPC_NAMESERVER,\
78 4,\
79 NameServerDrv_CmdArgs)
80 /*!
81 * @brief Command for NameServer_create
82 */
83 #define DCMD_NAMESERVER_CREATE __DIOTF(_DCMD_IPC_NAMESERVER,\
84 5,\
85 NameServerDrv_CmdArgs)
86 /*!
87 * @brief Command for NameServer_delete
88 */
89 #define DCMD_NAMESERVER_DELETE __DIOTF(_DCMD_IPC_NAMESERVER,\
90 6,\
91 NameServerDrv_CmdArgs)
93 /*!
94 * @brief Command for NameServer_addUInt32
95 */
96 #define DCMD_NAMESERVER_ADDUINT32 __DIOTF(_DCMD_IPC_NAMESERVER,\
97 7,\
98 NameServerDrv_CmdArgs)
100 /*!
101 * @brief Command for NameServer_remove
102 */
103 #define DCMD_NAMESERVER_REMOVE __DIOTF(_DCMD_IPC_NAMESERVER,\
104 8,\
105 NameServerDrv_CmdArgs)
106 /*!
107 * @brief Command for NameServer_removeEntry
108 */
109 #define DCMD_NAMESERVER_REMOVEENTRY __DIOTF(_DCMD_IPC_NAMESERVER,\
110 9,\
111 NameServerDrv_CmdArgs)
112 /*!
113 * @brief Command for NameServer_getUInt32
114 */
115 #define DCMD_NAMESERVER_GETUINT32 __DIOTF(_DCMD_IPC_NAMESERVER,\
116 10, \
117 NameServerDrv_CmdArgs)
118 /*!
119 * @brief Command for NameServer_add
120 */
121 #define DCMD_NAMESERVER_ADD __DIOTF(_DCMD_IPC_NAMESERVER,\
122 11,\
123 NameServerDrv_CmdArgs)
124 /*!
125 * @brief Command for NameServer_get
126 */
127 #define DCMD_NAMESERVER_GET __DIOTF(_DCMD_IPC_NAMESERVER,\
128 12, \
129 NameServerDrv_CmdArgs)
132 /* ----------------------------------------------------------------------------
133 * IOCTL command IDs for MessageQ
134 * ----------------------------------------------------------------------------
135 */
137 /*!
138 * @brief Command for MessageQ_getConfig
139 */
140 #define DCMD_MESSAGEQ_GETCONFIG __DIOTF(_DCMD_IPC_MESSAGEQ,\
141 1,\
142 MessageQDrv_CmdArgs)
143 /*!
144 * @brief Command for MessageQ_setup
145 */
146 #define DCMD_MESSAGEQ_SETUP __DIOTF(_DCMD_IPC_MESSAGEQ,\
147 2,\
148 MessageQDrv_CmdArgs)
149 /*!
150 * @brief Command for MessageQ_setup
151 */
152 #define DCMD_MESSAGEQ_DESTROY __DIOTF(_DCMD_IPC_MESSAGEQ,\
153 3,\
154 MessageQDrv_CmdArgs)
155 /*!
156 * @brief Command for MessageQ_create
157 */
158 #define DCMD_MESSAGEQ_CREATE __DIOTF(_DCMD_IPC_MESSAGEQ,\
159 4,\
160 MessageQDrv_CmdArgs)
161 /*!
162 * @brief Command for MessageQ_delete
163 */
164 #define DCMD_MESSAGEQ_DELETE __DIOTF(_DCMD_IPC_MESSAGEQ,\
165 5,\
166 MessageQDrv_CmdArgs)
168 /* ----------------------------------------------------------------------------
169 * IOCTL command IDs for MultiProc
170 * ----------------------------------------------------------------------------
171 */
173 /*!
174 * @brief Command for MultiProc_getConfig
175 */
176 #define DCMD_MULTIPROC_GETCONFIG __DIOTF(_DCMD_IPC_MULTIPROC,\
177 1,\
178 MultiProcDrv_CmdArgs)
180 /* ----------------------------------------------------------------------------
181 * IOCTL command IDs for GateMP
182 * ----------------------------------------------------------------------------
183 */
185 /*!
186 * @brief Command for GateMP_getFreeResource
187 */
188 #define DCMD_GATEMP_GETFREERES __DIOTF(_DCMD_IPC_GATEMP,\
189 1,\
190 GateMPDrv_CmdArgs)
192 /*!
193 * @brief Command for GateMP_releaseResource
194 */
195 #define DCMD_GATEMP_RELRES __DIOTF(_DCMD_IPC_GATEMP,\
196 2,\
197 GateMPDrv_CmdArgs)
199 /*!
200 * @brief Command for GateMP_getNumResources
201 */
202 #define DCMD_GATEMP_GETNUMRES __DIOTF(_DCMD_IPC_GATEMP,\
203 3,\
204 GateMPDrv_CmdArgs)
206 /*!
207 * @brief Command for GateMP_start
208 */
209 #define DCMD_GATEMP_START __DIOTF(_DCMD_IPC_GATEMP,\
210 4,\
211 GateMPDrv_CmdArgs)
213 /*!
214 * @brief Command for GateMP_stop
215 */
216 #define DCMD_GATEMP_STOP __DIOTF(_DCMD_IPC_GATEMP,\
217 5,\
218 GateMPDrv_CmdArgs)
220 /*!
221 * @brief Command for GateMP_isSetup
222 */
223 #define DCMD_GATEMP_ISSETUP __DIOTF(_DCMD_IPC_GATEMP,\
224 6,\
225 GateMPDrv_CmdArgs)
227 /* ----------------------------------------------------------------------------
228 * IOCTL command IDs for GateHWSpinlock
229 * ----------------------------------------------------------------------------
230 */
232 /*!
233 * @brief Command for GateHWSpinlock_getConfig
234 */
235 #define DCMD_GATEHWSPINLOCK_GETCONFIG __DIOTF(_DCMD_IPC_GATEHWSPINLOCK,\
236 1,\
237 GateHWSpinlockDrv_CmdArgs)
239 #if defined (__cplusplus)
240 }
241 #endif
243 #endif