00001 /** 00002 * @file IpcHost.h 00003 * 00004 * @brief This file contains APIs and defines that are used by applications 00005 * only on the host-side of the device. 00006 * 00007 * 00008 * @ver 02.00.00.68_beta1 00009 * 00010 * ============================================================================ 00011 * 00012 * Copyright (c) 2008-2009, Texas Instruments Incorporated 00013 * 00014 * Redistribution and use in source and binary forms, with or without 00015 * modification, are permitted provided that the following conditions 00016 * are met: 00017 * 00018 * * Redistributions of source code must retain the above copyright 00019 * notice, this list of conditions and the following disclaimer. 00020 * 00021 * * Redistributions in binary form must reproduce the above copyright 00022 * notice, this list of conditions and the following disclaimer in the 00023 * documentation and/or other materials provided with the distribution. 00024 * 00025 * * Neither the name of Texas Instruments Incorporated nor the names of 00026 * its contributors may be used to endorse or promote products derived 00027 * from this software without specific prior written permission. 00028 * 00029 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00030 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 00031 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 00032 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR 00033 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 00034 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 00035 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 00036 * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 00037 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 00038 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 00039 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00040 * Contact information for paper mail: 00041 * Texas Instruments 00042 * Post Office Box 655303 00043 * Dallas, Texas 75265 00044 * Contact information: 00045 * http://www-k.ext.ti.com/sc/technical-support/product-information-centers.htm? 00046 * DCMP=TIHomeTracking&HQS=Other+OT+home_d_contact 00047 * ============================================================================ 00048 * 00049 */ 00050 00051 00052 #ifndef _IPCHOST_H__ 00053 #define _IPCHOST_H__ 00054 00055 00056 #if defined (__cplusplus) 00057 extern "C" { 00058 #endif 00059 00060 00061 /* ============================================================================= 00062 * Macros 00063 * ============================================================================= 00064 */ 00065 /*! 00066 * @brief Control command ID for load callback. This command should be used 00067 * with #Ipc_control function before using IPC with the slave, and 00068 * after loading the slave with the slave executable. When ProcMgr is 00069 * used, this command should be used after loading the slave execution. 00070 * 00071 * @sa Ipc_control 00072 */ 00073 #define Ipc_CONTROLCMD_LOADCALLBACK (0xBABE0000) 00074 00075 /*! 00076 * @brief Control command ID for start callback. This command should be used 00077 * with #Ipc_control function before using IPC with the slave, and 00078 * when the slave is in running state. When ProcMgr is used, this 00079 * command should be used after starting the slave execution. 00080 * 00081 * @sa Ipc_control 00082 */ 00083 #define Ipc_CONTROLCMD_STARTCALLBACK (0xBABE0001) 00084 00085 /*! 00086 * @brief Control command ID for stop callback. This command should be used 00087 * with #Ipc_control function when IPC no longer needs to be performed 00088 * with the specific slave. When ProcMgr is used, this command should 00089 * be used just before stopping the slave execution. 00090 * 00091 * @sa Ipc_control 00092 */ 00093 #define Ipc_CONTROLCMD_STOPCALLBACK (0xBABE0002) 00094 00095 00096 /* ============================================================================= 00097 * APIs 00098 * ============================================================================= 00099 */ 00100 /*! 00101 * @brief Function to perform control operations for IPC with a specific 00102 * slave. 00103 * 00104 * @param procId Remote processor ID 00105 * @param cmdId Command ID 00106 * @param arg Argument 00107 */ 00108 Int Ipc_control (UInt16 procId, Int32 cmdId, Ptr arg); 00109 00110 00111 #if defined (__cplusplus) 00112 } 00113 #endif /* defined (__cplusplus) */ 00114 00115 00116 #endif /* _IPCHOST_H__ */
1.4.4