* Extended interface for AGNSS support.
*/
interface IAGnss {
+ @export(name="", value_prefix="APN_IP_")
enum ApnIpType : uint8_t {
INVALID = 0,
IPV4 = 1,
/** Callback structure for the AGNSS interface. */
interface IAGnssCallback {
/** AGNSS type **/
+ @export(name="", value_prefix="AGPS_")
enum AGnssType : uint8_t {
TYPE_SUPL = 1,
TYPE_C2K = 2
};
+ @export(name="", value_prefix="GNSS_")
enum AGnssStatusValue : uint8_t {
/** GNSS requests data connection for AGNSS. */
REQUEST_AGNSS_DATA_CONN = 1,
/*
* Represents the status of AGNSS augmented to support IPv4.
*/
+ @export(name="", value_prefix="GPS_")
struct AGnssStatusIpV4 {
AGnssType type;
AGnssStatusValue status;
* location, unique subscriber ID, phone number string and network availability changes.
*/
interface IAGnssRil {
+ @export(name="", value_prefix="AGPS_SETID_TYPE_")
enum SetIDType : uint8_t {
NONE = 0,
IMSI = 1,
MSISDM = 2
};
+ @export(name="", value_prefix="AGPS_RIL_NETWORK_TYPE_")
enum NetworkType : uint8_t {
MOBILE = 0,
WIFI = 1,
WIMAX = 6,
};
+ @export(name="", value_prefix="AGPS_REF_LOCATION_TYPE_")
enum AGnssRefLocationType : uint8_t {
GSM_CELLID = 1,
UMTS_CELLID = 2,
*/
interface IAGnssRilCallback {
/* Kinds of SET ID that can be requested */
+ @export(name="", value_prefix="AGPS_RIL_REQUEST_SETID_")
enum ID : uint32_t {
IMSI = 1 << 0L,
MSISDN = 1 << 1L,
import IGnssNi;
import IGnssXtra;
-/* Represents the standard GNSS interface. */
+/* Represents the standard GNSS (Global Navigation Satellite System) interface. */
interface IGnss {
/* Requested operational mode for GNSS operation. */
+ @export(name="", value_prefix="GPS_POSITION_MODE_")
enum GnssPositionMode : uint8_t {
/** Mode for running GNSS standalone (no assistance). */
STANDALONE = 0,
};
/* Requested recurrence mode for GNSS operation. */
+ @export(name="", value_prefix="GPS_POSITION_")
enum GnssPositionRecurrence : uint32_t {
/** Receive GNSS fixes on a recurring basis at a specified period. */
RECURRENCE_PERIODIC = 0,
* Flags used to specify which aiding data to delete when calling
* deleteAidingData().
*/
+ @export(name="", value_prefix="GPS_")
enum GnssAidingData : uint16_t {
DELETE_EPHEMERIS = 0x0001,
DELETE_ALMANAC = 0x0002,
/*
* Enum which holds the bit masks for batching control.
*/
+ @export(name="", value_prefix="FLP_BATCH_")
enum Flag : uint8_t {
/*
* If this flag is set, the hardware implementation
*/
interface IGnssCallback {
/* Flags for the gnssSetCapabilities callback. */
+ @export(name="", value_prefix="GPS_CAPABILITY_")
enum Capabilities : uint32_t {
/*
* GNSS HAL schedules fixes for RECURRENCE_PERIODIC mode.
};
/* GNSS status event values. */
+ @export(name="", value_prefix="GPS_STATUS_")
enum GnssStatusValue : uint8_t {
/** GNSS status unknown. */
NONE = 0,
/*
* Flags that indicate information about the satellite
*/
+ @export(name="", value_prefix="GNSS_SV_FLAGS_")
enum GnssSvFlags : uint8_t {
NONE = 0,
HAS_EPHEMERIS_DATA = 1 << 0,
*/
interface IGnssGeofenceCallback {
+ @export(name="", value_prefix="GPS_GEOFENCE_")
enum GeofenceTransition : int32_t {
ENTERED = (1 << 0L),
EXITED = (1 << 1L),
UNCERTAIN = (1 << 2L),
};
+ @export(name="", value_prefix="GPS_GEOFENCE_")
enum GeofenceAvailability : int32_t {
UNAVAILABLE = (1 << 0L),
AVAILABLE = (1 << 1L),
};
+ @export(name="", value_prefix="GPS_GEOFENCE_")
enum GeofenceStatus : int32_t {
OPERATION_SUCCESS = 0,
ERROR_TOO_MANY_GEOFENCES = -100,
* Extended interface for GNSS Measurements support.
*/
interface IGnssMeasurement {
+ @export(name="", value_prefix="GPS_MEASUREMENT_")
enum GnssMeasurementStatus : int32_t {
SUCCESS = 0,
ERROR_ALREADY_INIT = -100,
/*
* Flags to indicate what fields in GnssClock are valid.
*/
+ @export(name="", value_prefix="GNSS_CLOCK_")
enum GnssClockFlags : uint16_t {
/** A valid 'leap second' is stored in the data structure. */
HAS_LEAP_SECOND = 1 << 0,
/*
* Flags to indicate what fields in GnssMeasurement are valid.
*/
+ @export(name="", value_prefix="GNSS_MEASUREMENT_")
enum GnssMeasurementFlags : uint32_t {
/** A valid 'snr' is stored in the data structure. */
HAS_SNR = 1 << 0,
* Enumeration of available values for the GNSS Measurement's multipath
* indicator.
*/
+ @export(name="", value_prefix="GNSS_MULTIPATH_")
enum GnssMultipathIndicator : uint8_t {
/** The indicator is not available or unknown. */
INDICATOR_UNKNOWN = 0,
* If GNSS is still searching for a satellite, the corresponding state must be
* set to STATE_UNKNOWN(0).
*/
+ @export(name="", value_prefix="GNSS_MEASUREMENT_")
enum GnssMeasurementState : uint32_t {
STATE_UNKNOWN = 0,
STATE_CODE_LOCK = 1 << 0,
/*
* Flags indicating the Accumulated Delta Range's states.
*/
+ @export(name="", value_prefix="GNSS_")
enum GnssAccumulatedDeltaRangeState : uint16_t {
ADR_STATE_UNKNOWN = 0,
ADR_STATE_VALID = 1 << 0,
* Extended interface for GNSS navigation message reporting support.
*/
interface IGnssNavigationMessage {
+ @export(name="", value_prefix="GPS_NAVIGATION_MESSAGE_")
enum GnssNavigationMessageStatus : int32_t {
SUCCESS = 0,
ERROR_ALREADY_INIT = -100,
* For convenience, first byte is the GnssConstellationType on which that signal
* is typically transmitted.
*/
+ @export(name="", value_prefix="GNSS_NAVIGATION_MESSAGE_TYPE_")
enum GnssNavigationMessageType : int16_t {
UNKNOWN = 0,
/** GNSS L1 C/A message contained in the structure. */
* No need to send any navigation message that contains words with parity error
* and cannot be corrected.
*/
+ @export(name="navigation_message_status", value_prefix="NAV_MESSAGE_STATUS_")
enum NavigationMessageStatus : uint16_t {
PARITY_PASSED = (1 << 0),
PARITY_REBUILT = (1 << 1),
/*
* GnssNiType constants
*/
+ @export(name="", value_prefix="GPS_NI_TYPE_")
enum GnssNiType : uint8_t {
VOICE = 1,
UMTS_SUPL = 2,
/*
* GnssNiNotifyFlags constants
*/
+ @export(name="", value_prefix="GPS_NI_")
enum GnssNiNotifyFlags : uint32_t {
/** NI requires notification */
NEED_NOTIFY = 0x0001,
* GNSS NI responses, used to define the response in
* NI structures
*/
+ @export(name="", value_prefix="GPS_NI_")
enum GnssUserResponseType : uint8_t {
RESPONSE_ACCEPT = 1,
RESPONSE_DENY = 2,
/*
* NI data encoding scheme
*/
+ @export(name="", value_prefix="GPS_")
enum GnssNiEncodingType : int32_t {
ENC_NONE = 0,
ENC_SUPL_GSM_DEFAULT = 1,
package android.hardware.gnss@1.0;
+@export(name="", value_prefix="GNSS_MAX_")
enum GnssMax : uint32_t {
/** Maximum number of SVs for gnssSvStatusCb(). */
SVS_COUNT = 64,
/*
* Constellation type of GnssSvInfo
*/
+
+@export(name="", value_prefix="GNSS_CONSTELLATION_")
enum GnssConstellationType : uint8_t {
UNKNOWN = 0,
GPS = 1,
};
/** Bit mask to indicate which values are valid in a GnssLocation object. */
+@export(name="", value_prefix="GPS_LOCATION_")
enum GnssLocationFlags : uint16_t {
/** GnssLocation has valid latitude and longitude. */
HAS_LAT_LONG = 0x0001,
hidl-gen $options \
-o hardware/libhardware/include/hardware/nfc-base.h \
android.hardware.nfc@1.0
+hidl-gen $options \
+ -o hardware/libhardware/include/hardware/gnss-base.h \
+ android.hardware.gnss@1.0
# system/core
hidl-gen $options \