]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - ipc/ipcdev.git/blob - packages/ti/ipc/tests/MxServer.h
DRA7XX: Consolidate DSP1/2 config scripts
[ipc/ipcdev.git] / packages / ti / ipc / tests / MxServer.h
1 /*
2  * Copyright (c) 2012-2013, 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  */
33 /** ============================================================================
34  *  @file       MxServer.h
35  *
36  *  @brief      Example of a slave-side module which implements the Mx
37  *              module functions. The functions in MxServer are invoked
38  *              remotely by the Mx module running on the host processor.
39  *
40  *  ============================================================================
41  */
43 #ifndef MxServer__include
44 #define MxServer__include
46 #include <stddef.h>
47 #include <stdint.h>
49 #if defined(__cplusplus)
50 extern "C" {
51 #endif
53 /*!
54  *  @brief      Operation is successful
55  */
56 #define MxServer_S_SUCCESS (0)
58 /*!
59  *  @brief      Operation failed
60  */
61 #define MxServer_E_FAIL (-1)
63 /*!
64  *  @brief      Compute structure
65  */
66 typedef struct {
67     uint32_t    coef;
68     int         key;
69     int         size;
70     uint32_t *  inBuf;
71     uint32_t *  outBuf;
72 } MxServer_Compute;
74 /*!
75  *  @brief      Sample function which multiplies argument by three
76  */
77 int32_t MxServer_triple(uint32_t a);
79 /*!
80  *  @brief      Sample function which addes two arguments
81  */
82 int32_t MxServer_add(int32_t a, int32_t b);
84 /*!
85  *  @brief      Sample function which has pointer parameter to
86  *              a structure with two embedded pointers.
87  */
88 int32_t MxServer_compute(MxServer_Compute *compute);
91 #if defined(__cplusplus)
92 }
93 #endif
94 #endif /* MxServer__include */