14e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @addtogroup MCD_MCDIMPL_DAEMON 24e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @{ 34e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * @file 44e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 54e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * <!-- Copyright Giesecke & Devrient GmbH 2009 - 2012 --> 67b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim * 74e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * Redistribution and use in source and binary forms, with or without 84e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * modification, are permitted provided that the following conditions 94e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * are met: 104e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 1. Redistributions of source code must retain the above copyright 114e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * notice, this list of conditions and the following disclaimer. 124e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 2. Redistributions in binary form must reproduce the above copyright 134e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * notice, this list of conditions and the following disclaimer in the 144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * documentation and/or other materials provided with the distribution. 154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 3. The name of the author may not be used to endorse or promote 164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * products derived from this software without specific prior 174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * written permission. 184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * 194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE 254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park */ 314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#ifndef MCDAEMON_H_ 324e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define MCDAEMON_H_ 334e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 344e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include <inttypes.h> // ANSI C99 354e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 364e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 374e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define SOCK_PATH "#mcdaemon" 384e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include "mcUuid.h" 394e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#include "mcVersionInfo.h" 404e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef enum { 424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_PING = 0, 434e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_GET_INFO = 1, 444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_OPEN_DEVICE = 2, 454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_CLOSE_DEVICE = 3, 464e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_NQ_CONNECT = 4, 477b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_OPEN_SESSION = 5, 487b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_CLOSE_SESSION = 6, 494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_NOTIFY = 7, 507b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_MAP_BULK_BUF = 8, 517b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_UNMAP_BULK_BUF = 9, 524e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_GET_VERSION = 10, 534e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park MC_DRV_CMD_GET_MOBICORE_VERSION = 11, 544e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} mcDrvCmd_t; 554e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 564e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct { 574e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park uint32_t commandId; 589081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvCommandHeader_t; 594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 604e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct { 617b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim /* MobiCore Daemon uses Client API return codes also in commands between Daemon and Client Library. */ 624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park uint32_t responseId; 639081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvResponseHeader_t; 644e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 654e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#define MC_DEVICE_ID_DEFAULT 0 /**< The default device ID */ 664e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 674e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 684e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 699081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_OPEN_DEVICE_struct { 709081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 719081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t deviceId; 729081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 739081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 747b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 769081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspOpenDevice_t; 774e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 784e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 799081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_CLOSE_DEVICE_struct { 809081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 819081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 829081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 837b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 844e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 859081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspCloseDevice_t; 864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 874e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 889081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_OPEN_SESSION_struct { 899081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 909081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t deviceId; 919081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim mcUuid_t uuid; 929081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t tci; 937b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t handle; 949081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t len; 959081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 969081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 977b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 987b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t sessionId; 997b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t deviceSessionId; 1007b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t sessionMagic; 1014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} mcDrvRspOpenSessionPayload_t, *mcDrvRspOpenSessionPayload_ptr; 1024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1037b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 1044e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 1054e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspOpenSessionPayload_t payload; 1069081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspOpenSession_t; 1074e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1084e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1094e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1109081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_CLOSE_SESSION_struct { 1119081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 1129081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t sessionId; 1139081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1149081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1157b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 1164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 1179081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspCloseSession_t; 1184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1219081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_NOTIFY_struct { 1229081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 1239081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t sessionId; 1249081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1259081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1267b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim// Notify does not have a response 1274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1299081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_MAP_BULK_BUF_struct { 1309081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 1319081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t sessionId; 1327b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t handle; 1339081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t pAddrL2; 1349081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t offsetPayload; 1359081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t lenBulkMem; 1369081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1379081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1387b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 1397b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t sessionId; 1407b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t secureVirtualAdr; 1414e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} mcDrvRspMapBulkMemPayload_t, *mcDrvRspMapBulkMemPayload_ptr; 1424e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1437b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 1444e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 1454e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspMapBulkMemPayload_t payload; 1469081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspMapBulkMem_t; 1474e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1484e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1494e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1509081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_UNMAP_BULK_BUF_struct { 1519081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 1529081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t sessionId; 1537b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t handle; 1549081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t secureVirtualAdr; 1559081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t lenBulkMem; 1569081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1579081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1587b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 1594e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 1609081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspUnmapBulkMem_t; 1614e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1624e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1634e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1649081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_NQ_CONNECT_struct { 1659081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 1669081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t deviceId; 1679081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t sessionId; 1689081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t deviceSessionId; 1699081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t sessionMagic; //Random data 1709081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1719081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1724e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct { 1734e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 1749081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspNqConnect_t; 1754e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1764e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1779081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_GET_VERSION_struct { 1787b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t commandId; 1799081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1809081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1814e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct { 1827b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim uint32_t responseId; 1834e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park uint32_t version; 1849081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspGetVersion_t; 1854e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1864e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 1879081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kimstruct MC_DRV_CMD_GET_MOBICORE_VERSION_struct { 1889081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim uint32_t commandId; 1899081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim}; 1909081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim 1914e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1924e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef struct { 1934e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcVersionInfo_t versionInfo; 1944e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} mcDrvRspGetMobiCoreVersionPayload_t, *mcDrvRspGetMobiCoreVersionPayload_ptr; 1954e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 1967b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kimtypedef struct { 1974e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 1984e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspGetMobiCoreVersionPayload_t payload; 1999081ca65cb7959b6a06ba44823f84a6afa8bca2fJihyun Kim} mcDrvRspGetMobiCoreVersion_t; 2004e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 2014e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park//-------------------------------------------------------------- 2024e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef union { 2037b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim mcDrvCommandHeader_t header; 2047b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_OPEN_DEVICE_struct mcDrvCmdOpenDevice; 2057b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_CLOSE_DEVICE_struct mcDrvCmdCloseDevice; 2067b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_OPEN_SESSION_struct mcDrvCmdOpenSession; 2077b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_CLOSE_SESSION_struct mcDrvCmdCloseSession; 2087b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_NQ_CONNECT_struct mcDrvCmdNqConnect; 2097b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_NOTIFY_struct mcDrvCmdNotify; 2107b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_MAP_BULK_BUF_struct mcDrvCmdMapBulkMem; 2117b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_UNMAP_BULK_BUF_struct mcDrvCmdUnmapBulkMem; 2127b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_GET_VERSION_struct mcDrvCmdGetVersion; 2137b143edf281bed18c8ebd0733465f3af5af327ebJungtae Kim MC_DRV_CMD_GET_MOBICORE_VERSION_struct mcDrvCmdGetMobiCoreVersion; 2144e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} mcDrvCommand_t, *mcDrvCommand_ptr; 2154e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 2164e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Parktypedef union { 2174e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvResponseHeader_t header; 2184e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspOpenDevice_t mcDrvRspOpenDevice; 2194e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspCloseDevice_t mcDrvRspCloseDevice; 2204e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspOpenSession_t mcDrvRspOpenSession; 2214e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspCloseSession_t mcDrvRspCloseSession; 2224e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspNqConnect_t mcDrvRspNqConnect; 2234e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspMapBulkMem_t mcDrvRspMapBulkMem; 2244e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspUnmapBulkMem_t mcDrvRspUnmapBulkMem; 2254e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspGetVersion_t mcDrvRspGetVersion; 2264e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park mcDrvRspGetMobiCoreVersion_t mcDrvRspGetMobiCoreVersion; 2274e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park} mcDrvResponse_t, *mcDrvResponse_ptr; 2284e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 2294e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park#endif /* MCDAEMON_H_ */ 2304e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park 2314e9e8c9c0169b40318386436d762c3d73cf4c328DongJin Park/** @} */ 232