Prevent responses to timed-out NameServer requests from disrupting later reqs
[ipc/ipcdev.git] / hlos_common / include / _NameServerRemoteRpmsg.h
1 /*
2  * Copyright (c) 2012-2014, 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 #define NAMESERVER_REQUEST    0
34 #define NAMESERVER_RESPONSE   1
36 #define NAME_SERVER_RPMSG_ADDR  0
38 #define MAXNAMEINCHAR 80
39 #define NAMEARRAYSZIE   (((MAXNAMEINCHAR - 1) / sizeof(Bits32)) + 1)
40 #define MAXVALUELEN   75
42 #define NAMESERVER_GET_TIMEOUT  40000 /* microseconds */
44 #define NAMESERVER_MSG_TOKEN   0x5678abcd
46 /* message sent to remote procId */
47 typedef struct NameServerMsg {
48     Bits32  reserved;           /* reserved field: must be first!   */
49     Bits32  value;              /* holds value                      */
50     Bits32  request;            /* whether its a request/response   */
51     Bits32  requestStatus;      /* status of request                */
52     Bits32  seqNum;             /* NameServer request sequence #    */
53                                 /* name of NameServer instance      */
54     Bits32  instanceName[NAMEARRAYSZIE];
55                                 /* name of NameServer entry         */
56     Bits32  name[NAMEARRAYSZIE];
57     Bits32  valueLen;              /* len of value                  */
58     Bits32  valueBuf[MAXVALUELEN]; /* value buffer                  */
59 } NameServerMsg;