1 /* Copyright (c) 2014, 2020 The Linux Foundation. All rights reserved.
2 *
3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are
5 * met:
6 * * Redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer.
8 * * Redistributions in binary form must reproduce the above
9 * copyright notice, this list of conditions and the following
10 * disclaimer in the documentation and/or other materials provided
11 * with the distribution.
12 * * Neither the name of The Linux Foundation nor the names of its
13 * contributors may be used to endorse or promote products derived
14 * from this software without specific prior written permission.
15 *
16 * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
17 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
23 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
24 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
25 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26 * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29 #ifndef __LOC_PLA__
30 #define __LOC_PLA__
31
32 #ifdef __cplusplus
33 #include <utils/SystemClock.h>
34 #define uptimeMillis() android::uptimeMillis()
35 #define elapsedRealtime() android::elapsedRealtime()
36 #endif
37
38 #ifdef __cplusplus
39 extern "C" {
40 #endif
41
42 #include <cutils/properties.h>
43 #include <cutils/sched_policy.h>
44 #include <cutils/android_filesystem_config.h>
45 #include <string.h>
46 #include <stdlib.h>
47
48 #define UID_GPS (AID_GPS)
49 #define GID_GPS (AID_GPS)
50 #define UID_LOCCLIENT (4021)
51 #define GID_LOCCLIENT (4021)
52
53 #define LOC_PATH_GPS_CONF_STR "/vendor/etc/gps.conf"
54 #define LOC_PATH_IZAT_CONF_STR "/vendor/etc/izat.conf"
55 #define LOC_PATH_FLP_CONF_STR "/vendor/etc/flp.conf"
56 #define LOC_PATH_LOWI_CONF_STR "/vendor/etc/lowi.conf"
57 #define LOC_PATH_SAP_CONF_STR "/vendor/etc/sap.conf"
58 #define LOC_PATH_APDR_CONF_STR "/vendor/etc/apdr.conf"
59 #define LOC_PATH_XTWIFI_CONF_STR "/vendor/etc/xtwifi.conf"
60 #define LOC_PATH_QUIPC_CONF_STR "/vendor/etc/quipc.conf"
61 #define LOC_PATH_ANT_CORR_STR "/vendor/etc/gnss_antenna_info.conf"
62 #define LOC_PATH_SLIM_CONF_STR "/vendor/etc/slim.conf"
63 #define LOC_PATH_VPE_CONF_STR "/vendor/etc/vpeglue.conf"
64
65 /*!
66 * @brief Function for memory block copy
67 *
68 * @param[out] p_Dest Destination buffer.
69 * @param[in] q_DestSize Destination buffer size.
70 * @param[in] p_Src Source buffer.
71 * @param[in] q_SrcSize Source buffer size.
72 *
73 * @return Number of bytes copied.
74 */
memscpy(void * p_Dest,size_t q_DestSize,const void * p_Src,size_t q_SrcSize)75 static inline size_t memscpy (void *p_Dest, size_t q_DestSize, const void *p_Src, size_t q_SrcSize)
76 {
77 size_t res = (q_DestSize < q_SrcSize) ? q_DestSize : q_SrcSize;
78 if (p_Dest && p_Src && q_DestSize > 0 && q_SrcSize > 0) {
79 memcpy(p_Dest, p_Src, res);
80 } else {
81 res = 0;
82 }
83 return res;
84 }
85
86 /*API for boot kpi marker prints */
loc_boot_kpi_marker(const char * pFmt,...)87 inline int loc_boot_kpi_marker(const char * pFmt, ...)
88 {
89 return -1;
90 }
91
92 #ifdef __cplusplus
93 }
94 #endif /*__cplusplus */
95
96 #endif /* __LOC_PLA__ */
97