18c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* Copyright (c) 2011, The Linux Foundation. All rights reserved.
28c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *
38c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * Redistribution and use in source and binary forms, with or without
48c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * modification, are permitted provided that the following conditions are
58c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * met:
68c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *     * Redistributions of source code must retain the above copyright
78c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *       notice, this list of conditions and the following disclaimer.
88c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *     * Redistributions in binary form must reproduce the above
98c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *       copyright notice, this list of conditions and the following
108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *       disclaimer in the documentation and/or other materials provided
118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *       with the distribution.
128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *     * Neither the name of The Linux Foundation nor the names of its
138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *       contributors may be used to endorse or promote products derived
148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *       from this software without specific prior written permission.
158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam *
168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam */
288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifndef  LOC_API_FIXUP_H
308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_API_FIXUP_H
318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef __cplusplus
338c2d3d5afc51d3f35150f748f263870367771b6fEd Tamextern "C"
348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam{
358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif
368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifndef NULLPROC
388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define NULLPROC 0
398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* NULLPROC */
408c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef ADD_XDR_FLOAT
428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
438c2d3d5afc51d3f35150f748f263870367771b6fEd Tamextern bool_t xdr_float (XDR *__xdrs, float *__fp);
448c2d3d5afc51d3f35150f748f263870367771b6fEd Tamextern bool_t xdr_double (XDR *__xdrs, double *__dp);
458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
468c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* ADD_XDR_FLOAT */
478c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef ADD_XDR_BOOL
498c2d3d5afc51d3f35150f748f263870367771b6fEd Tamextern bool_t xdr_bool(XDR *__xdrs, int *__bp);
508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* ADD_XDR_BOOL */
518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MAJOR_VERSION_NUMBER   1
538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MINOR_VERSION_NUMBER   0
548c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
558c2d3d5afc51d3f35150f748f263870367771b6fEd Tam// Return value for loc_open in case of failure.
568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_CLIENT_HANDLE_INVALID     -1
578c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam// Return value of loc api calls for loc_close, loc_start_fix, loc_stop_fix and loc_ioctl
598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam// These are also the status for the ioctl callback
608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_SUCCESS           0
618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_GENERAL_FAILURE   1
628c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_UNSUPPORTED       2
638c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_INVALID_HANDLE    4
648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_INVALID_PARAMETER 5
658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_ENGINE_BUSY       6
668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_PHONE_OFFLINE     7
678c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_TIMEOUT           8
688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
698c2d3d5afc51d3f35150f748f263870367771b6fEd Tam// Special return value for loc api calls in case of RPC failure
708c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_RPC_FAILURE       (-1234)
718c2d3d5afc51d3f35150f748f263870367771b6fEd Tam// Special return value for modem restart incurred RPC failure
728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_RPC_MODEM_RESTART       (-1235)
738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MAX_SV_COUNT                      80
758c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MAX_NMEA_STRING_LENGTH            1200
768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
778c2d3d5afc51d3f35150f748f263870367771b6fEd Tam// Maximum server address that will be used in location API
788c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MAX_SERVER_ADDR_LENGTH            256
798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MAX_NUM_PREDICTED_ORBITS_SERVERS  3
808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_API_MAX_NUM_NTP_SERVERS               3
818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
828c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_PARSED_POSITION_REPORT             0x00000001 // Position report comes in loc_parsed_position_s_type
838c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_SATELLITE_REPORT                   0x00000002 // Satellite in view report
848c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_NMEA_1HZ_REPORT                    0x00000004 // NMEA report at 1HZ rate
858c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_NMEA_POSITION_REPORT               0x00000008 // NMEA report at position report rate
868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_NI_NOTIFY_VERIFY_REQUEST           0x00000010 // NI notification/verification request
878c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_ASSISTANCE_DATA_REQUEST            0x00000020 // Assistance data, eg: time, predicted orbits request
888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_LOCATION_SERVER_REQUEST            0x00000040 // Request for location server
898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_IOCTL_REPORT                       0x00000080 // Callback report for loc_ioctl
908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EVENT_STATUS_REPORT                      0x00000100 // Misc status report: eg, engine state
918c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
928c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_SESSION_STATUS                 0x00000001
938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_TIMESTAMP_CALENDAR             0x00000002
948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_TIMESTAMP_UTC                  0x00000004
958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_LEAP_SECONDS                   0x00000008
968c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_TIME_UNC                       0x00000010
978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_LATITUDE                       0x00000020
988c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_LONGITUDE                      0x00000040
998c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_ALTITUDE_WRT_ELLIPSOID         0x00000080
1008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_ALTITUDE_WRT_MEAN_SEA_LEVEL    0x00000100
1018c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_SPEED_HORIZONTAL               0x00000200
1028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_SPEED_VERTICAL                 0x00000400
1038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_HEADING                        0x00000800
1048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_HOR_UNC_CIRCULAR               0x00001000
1058c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_HOR_UNC_ELLI_SEMI_MAJ          0x00002000
1068c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_HOR_UNC_ELLI_SEMI_MIN          0x00004000
1078c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_HOR_UNC_ELLI_ORIENT_AZIMUTH    0x00008000
1088c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_VERTICAL_UNC                   0x00010000
1098c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_SPEED_UNC                      0x00020000
1108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_HEADING_UNC                    0x00040000
1118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_CONFIDENCE_HORIZONTAL          0x00080000
1128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_CONFIDENCE_VERTICAL            0x00100000
1138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_MAGNETIC_VARIATION             0x00200000
1148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_VALID_TECHNOLOGY_MASK                0x00400000
1158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_TECH_SATELLITE 0x00000001
1178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_TECH_CELLID    0x00000002
1188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_POS_TECH_WIFI      0x00000004
1198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_SYSTEM         0x00000001
1218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_PRN            0x00000002
1228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_HEALTH_STATUS  0x00000004
1238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_PROCESS_STATUS 0x00000008
1248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_HAS_EPH        0x00000010
1258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_HAS_ALM        0x00000020
1268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_ELEVATION      0x00000040
1278c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_AZIMUTH        0x00000080
1288c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_SV_INFO_VALID_SNR            0x00000100
1298c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1308c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_GNSS_INFO_VALID_POS_DOP           0x00000001
1318c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_GNSS_INFO_VALID_HOR_DOP           0x00000002
1328c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_GNSS_INFO_VALID_VERT_DOP          0x00000004
1338c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_GNSS_INFO_VALID_ALTITUDE_ASSUMED  0x00000008
1348c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_GNSS_INFO_VALID_SV_COUNT          0x00000010
1358c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_GNSS_INFO_VALID_SV_LIST           0x00000020
1368c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1378c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_MAX_REQUESTOR_ID_LENGTH          200
1388c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_SUPL_HASH_LENGTH                 8
1398c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_SUPL_SLP_SESSION_ID_BYTE_LENGTH  4
1408c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_MAX_CLIENT_NAME_LENGTH           64
1418c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_MAX_EXT_CLIENT_ADDRESS           20
1428c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_CODEWORD_LENGTH                  20
1438c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1448c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_SUPL_QOP_VALID         0x01
1458c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_SUPL_QOP_VERACC_VALID  0x02
1468c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_SUPL_QOP_MAXAGE_VALID  0x04
1478c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NI_SUPL_QOP_DELAY_VALID   0x08
1488c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1498c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_RECURRENCE_TYPE                  0x00000001
1508c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_PREFERRED_OPERATION_MODE         0x00000002
1518c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_PREFERRED_ACCURACY               0x00000004
1528c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_PREFERRED_RESPONSE_TIME          0x00000008
1538c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_INTERMEDIATE_POS_REPORT_ENABLED  0x00000010
1548c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_NOTIFY_TYPE                      0x00000020
1558c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_MIN_INTERVAL                     0x00000040
1568c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_MIN_DISTANCE                     0x00000080
1578c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_FIX_CRIT_VALID_MIN_DIST_SAMPLE_INTERVAL         0x00000100
1588c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1598c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_TIMESTAMP_UTC                0x00000001
1608c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_LATITUDE                     0x00000002
1618c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_LONGITUDE                    0x00000004
1628c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_ALTITUDE_WRT_ELLIPSOID       0x00000008
1638c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_ALTITUDE_WRT_MEAN_SEA_LEVEL  0x00000010
1648c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_HOR_UNC_CIRCULAR             0x00000020
1658c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_VERT_UNC                     0x00000040
1668c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_CONFIDENCE_HORIZONTAL        0x00000080
1678c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_CONFIDENCE_VERTICAL          0x00000100
1688c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_POS_VALID_TIMESTAMP_AGE                0x00000200
1698c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1708c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_ASSIST_DATA_ALL         0xFFFFFFFF
1718c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1728c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NMEA_MASK_ALL    0xffff
1738c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NMEA_MASK_GGA    0x0001
1748c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NMEA_MASK_RMC    0x0002
1758c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NMEA_MASK_GSV    0x0004
1768c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NMEA_MASK_GSA    0x0008
1778c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_NMEA_MASK_VTG    0x0010
1788c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1798c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* EFS data access */
1808c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EFS_MAX_PATH_LEN_BYTES  64     /* Max file name length in bytes that can be written*/
1818c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_EFS_MAX_FILE_LEN_BYTES  2000   /* Max file size in bytes that can be written */
1828c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1838c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* WIPER valid information flag in log report */
1848c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_LOG_TIME_VALID 0x01
1858c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_LOG_POS_VALID 0x02
1868c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_LOG_AP_SET_VALID 0x04
1878c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1888c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* General WIPER defines */
1898c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_MAC_ADDR_LENGTH  6              // Do not change this number since it affects RPC and log packet sizes
1908c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_MAX_REPORTED_APS_PER_LOG_MSG 50 // Do not change this number since it affects RPC and log packet sizes
1918c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1928c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* WIPER AP Qualifier */
1938c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_AP_QUALIFIER_BEING_USED 0x1  /* AP is being used by WPS */
1948c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_AP_QUALIFIER_HIDDEN_SSID 0x2 /* AP does not broadcast SSID */
1958c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_AP_QUALIFIER_PRIVATE 0x4     /* AP has encryption turned on */
1968c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define RPC_LOC_WIPER_AP_QUALIFIER_INFRASTRUCTURE_MODE 0x8     /* AP is in infrastructure mode and not in ad-hoc/unknown mode */
1978c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
1988c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* flags for notification */
1998c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_CLIENT_NAME_PRESENT             0x0001
2008c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_CLIENT_EXTADDR_PRESENT          0x0002
2018c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_DEF_LOCATION_TYPE_PRESENT       0x0010
2028c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_REQUESTOR_ID_PRESENT            0x0020
2038c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_CODEWORD_PRESENT                0x0040
2048c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_SERVICE_TYPE_ID_PRESENT         0x0080
2058c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define  RPC_LOC_NI_ENCODING_TYPE_PRESENT           0x0100
2068c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
2078c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* below are for RPC_LOC_IOCTL_SET_LBS_APN_PROFILE data */
2088c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* values for apn_profiles[0].srv_system_type */
2098c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_SRV_SYS_CDMA  0x01
2108c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_SRV_SYS_HDR   0x02
2118c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_SRV_SYS_GSM   0x04
2128c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_SRV_SYS_WCDMA 0x08
2138c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_SRV_SYS_LTE   0x10
2148c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_SRV_SYS_MAX   0x1F
2158c2d3d5afc51d3f35150f748f263870367771b6fEd Tam/* values for apn_profiles[0].pdp_type */
2168c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_PDN_TYPE_IPV4    0x01
2178c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_PDN_TYPE_IPV6    0x02
2188c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_PDN_TYPE_IPV4V6  0x03
2198c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_PDN_TYPE_PPP     0x04
2208c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#define LOC_APN_PROFILE_PDN_TYPE_MAX     0x04
2218c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
2228c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#ifdef __cplusplus
2238c2d3d5afc51d3f35150f748f263870367771b6fEd Tam}
2248c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif
2258c2d3d5afc51d3f35150f748f263870367771b6fEd Tam
2268c2d3d5afc51d3f35150f748f263870367771b6fEd Tam#endif /* LOC_API_FIXUP_H */
227