1 /*
2 * Copyright (c) 2012-2015 Texas Instruments Incorporated - http://www.ti.com
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 _NameServer.h
34 *
35 * @brief HLOS-specific NameServer header
36 *
37 */
40 #ifndef NameServer_H_0XF414
41 #define NameServer_H_0XF414
43 /* Utilities headers */
44 #include <ti/ipc/NameServer.h>
46 #if defined (__cplusplus)
47 extern "C" {
48 #endif
51 /* =============================================================================
52 * Macros & Defines
53 * =============================================================================
54 */
56 /*
57 * This must match on BIOS side. This will occupy queueIndex 0 of the MessageQ
58 * module queues array, forcing MessageQ indicies to start from 1.
59 */
60 #define NAME_SERVER_RPMSG_ADDR 0
62 /* =============================================================================
63 * APIs
64 * =============================================================================
65 */
67 /* Internal variable to enable/disable tracing throughout NameServer */
68 extern Bool _NameServer_verbose;
70 /*!
71 * @brief Function to setup the nameserver module.
72 *
73 * @sa NameServer_destroy
74 */
75 Int NameServer_setup (Void);
77 /*!
78 * @brief Function to destroy the nameserver module.
79 *
80 * @sa NameServer_setup
81 */
82 Int NameServer_destroy (void);
84 /** @cond INTERNAL */
85 /*!
86 * @brief Establish connection to remote processor
87 */
88 /** @endcond INTERNAL */
89 Int NameServer_attach(UInt16 procId);
91 /** @cond INTERNAL */
92 /*!
93 * @brief Remove connection to remote processor
94 */
95 /** @endcond INTERNAL */
96 Int NameServer_detach(UInt16 procId);
98 #if defined (__cplusplus)
99 }
100 #endif
102 #endif