[PATCH v2 5/5] loc: add definitions for more messages
Thomas Weißschuh
thomas at t-8ch.de
Sun Feb 11 18:03:19 UTC 2018
Hi Aleksander,
On Sun, 2018-02-11T15:28+0100, Aleksander Morgado wrote:
> One comment regarding versions:
>
> The new methods in API should refer to the next stable version, i.e.
> "Since: 1.22"
> In the JSON database:
> * the "since" entries in the new messages and TLVs should say 1.22
> (our version)
> * the "version" entries in the new messages should refer to the QMI
> version where these were introduced. If unknown, ignore the field.
>
> More comments inline
Will do.
I was not aware of the rule that TLV < 0x10 should be mandatory.
Maybe we could express the default logic in the code generator?
Thomas
>
> On Fri, Feb 9, 2018 at 10:07 PM, Thomas Weißschuh <thomas at t-8ch.de> wrote:
> > ---
> > build-aux/qmi-codegen/utils.py | 4 +-
> > data/qmi-common.json | 20 +-
> > data/qmi-service-loc.json | 335 +++++++++++++++++-
> > .../libqmi-glib/libqmi-glib-common.sections | 74 ++++
> > docs/reference/libqmi-glib/libqmi-glib-docs.xml | 8 +
> > src/libqmi-glib/Makefile.am | 4 +-
> > src/libqmi-glib/generated/Makefile.am | 4 +-
> > src/libqmi-glib/libqmi-glib.h | 1 +
> > src/libqmi-glib/qmi-enums-loc.h | 376 +++++++++++++++++++++
> > src/libqmi-glib/qmi-flags64-loc.h | 103 ++++++
> > 10 files changed, 918 insertions(+), 11 deletions(-)
> > create mode 100644 src/libqmi-glib/qmi-flags64-loc.h
> >
> > diff --git a/build-aux/qmi-codegen/utils.py b/build-aux/qmi-codegen/utils.py
> > index 5e6fee7..52cf615 100644
> > --- a/build-aux/qmi-codegen/utils.py
> > +++ b/build-aux/qmi-codegen/utils.py
> > @@ -78,8 +78,8 @@ def add_header_start(f, output_name, service):
> > else:
> > template += (
> > "#include \"qmi-enums-private.h\"\n")
> > - # DMS and NAS have flags64
> > - if service == 'DMS' or service == 'NAS':
> > + # DMS, NAS and LOC have flags64
> > + if service in ('DMS', 'NAS', 'LOC'):
> > template += (
> > "#include \"qmi-flags64-${service}.h\"\n")
> > template += (
> > diff --git a/data/qmi-common.json b/data/qmi-common.json
> > index 7b81360..3f6079c 100644
> > --- a/data/qmi-common.json
> > +++ b/data/qmi-common.json
> > @@ -503,6 +503,24 @@
> > { "name" : "Long Name",
> > "format" : "string" },
> > { "name" : "Short Name",
> > - "format" : "string" } ] }
> > + "format" : "string" } ] },
> > +
> > + { "common-ref" : "LOC Indication Status",
> > + "name" : "Indication Status",
> > + "fullname" : "Qmi LOC Message Status",
> > + "id" : "0x01",
> > + "mandatory" : "yes",
> > + "type" : "TLV",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocIndicationStatus"
> > + },
> > + { "common-ref" : "LOC Fix Recurrence Type",
> > + "name" : "Fix Recurrence Type",
> > + "id" : "0x10",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocFixRecurrenceType" }
> >
>
> I see that LOC Indication Status is being used only in one message?
> Don't think we should define it in the common file.
LOC Indication type is used by all the indications triggered by dedicated
requests.
Docs in gobi-api:
Structure to describe TLV 0x01 for QMI LOC, the status
It is common for QMI LOC indications above 0x0032
> > ]
> > diff --git a/data/qmi-service-loc.json b/data/qmi-service-loc.json
> > index 235e82f..c5b6cda 100644
> > --- a/data/qmi-service-loc.json
> > +++ b/data/qmi-service-loc.json
> > @@ -17,6 +17,22 @@
> > { "name" : "QMI Indication LOC",
> > "type" : "Indication-ID-Enum" },
> >
> > + { "name" : "Register Events",
> > + "type" : "Message",
> > + "service" : "LOC",
> > + "id" : "0x0021",
> > + "version" : "1.0",
> > + "since" : "1.20",
> > + "input" : [ { "name" : "Event Registration Mask",
> > + "id" : "0x01",
> > + "mandatory" : "yes",
> > + "type" : "TLV",
> > + "since" : "1.20",
> > + "format" : "guint64",
> > + "public-format" : "QmiLocEventRegistrationFlag"
> > + } ],
> > + "output" : [ { "common-ref" : "Operation Result" } ] },
> > +
> > // *********************************************************************************
> > { "name" : "Start",
> > "type" : "Message",
> > @@ -26,17 +42,24 @@
> > "since" : "1.20",
> > "input" : [ { "name" : "Session ID",
> > "id" : "0x01",
> > - "mandatory" : "no",
> > + "mandatory" : "yes",
> > "type" : "TLV",
> > "since" : "1.20",
> > "format" : "guint8" },
> > + { "common-ref" : "LOC Fix Recurrence Type" },
> > { "name" : "Intermediate Report State",
> > "id" : "0x12",
> > "mandatory" : "no",
> > "type" : "TLV",
> > "since" : "1.0",
> > "format" : "guint32",
> > - "public-format" : "QmiLocIntermediateReportState" } ],
> > + "public-format" : "QmiLocIntermediateReportState" },
> > + { "name" : "Minimum Interval between Position Reports",
> > + "id" : "0x13",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32" } ],
> > "output" : [ { "common-ref" : "Operation Result" } ] },
> >
> > // *********************************************************************************
> > @@ -62,11 +85,315 @@
> > "id" : "0x0024",
> > "since" : "1.0",
> > "version" : "1.20",
> > - "output" : [ { "name" : "Session ID",
> > + "output" : [ { "name" : "Session Status",
> > + "id" : "0x01",
> > + "mandatory" : "yes",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocSessionStatus" },
> > + { "name" : "Session ID",
> > "id" : "0x02",
> > "mandatory" : "no",
>
> Oh, not part of the patch, but this one shouldn't be mandatory (<0x10)?
>
> > "type" : "TLV",
> > "since" : "1.0",
> > - "format" : "guint8" } ] }
> > + "format" : "guint8" },
> > + { "name" : "Latitude",
> > + "id" : "0x10",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gdouble" },
> > + { "name" : "Longitude",
> > + "id" : "0x11",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gdouble" },
> > + { "name" : "Horizontal Uncertainty Circular",
> > + "id" : "0x12",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Horizontal Uncertainty Elliptical Minor",
> > + "id" : "0x13",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Horizontal Uncertainty Elliptical Major",
> > + "id" : "0x14",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Horizontal Uncertainty Elliptical Azimuth",
> > + "id" : "0x15",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Horizontal Confidence",
> > + "id" : "0x16",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint8" },
> > + { "name" : "Horizontal Reliability",
> > + "id" : "0x17",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocReliability" },
> > + { "name" : "Horizontal Speed",
> > + "id" : "0x18",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Speed Uncertainty",
> > + "id" : "0x19",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Altitude from Ellipsoid",
> > + "id" : "0x1A",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Altitude from Sealevel",
> > + "id" : "0x1B",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Vertical Uncertainty",
> > + "id" : "0x1C",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Vertical Confidence",
> > + "id" : "0x1D",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint8" },
> > + { "name" : "Vertical Reliability",
> > + "id" : "0x1E",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32" },
> > + { "name" : "Vertical Speed",
> > + "id" : "0x20",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Magnetic Deviation",
> > + "id" : "0x22",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gfloat" },
> > + { "name" : "Technology Used",
> > + "id" : "0x23",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocTechnologyUsed" },
> > + { "name" : "Dilution of Precision",
> > + "id" : "0x24",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "struct",
> > + "contents" : [
> > + { "name" : "Position Dilution of Precision",
> > + "format" : "gfloat" },
> > + { "name" : "Horizontal Dilution of Precision",
> > + "format" : "gfloat" },
> > + { "name" : "Vertical Dilution of Precision",
> > + "format" : "gfloat" } ] },
> > + { "name" : "UTC Timestamp",
> > + "id" : "0x25",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint64" },
> > + { "name" : "Leap Seconds",
> > + "id" : "0x26",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint8" },
> > + { "name" : "GPS Time",
> > + "id" : "0x27",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "struct",
> > + "contents" : [
> > + { "name" : "GPS Weeks",
> > + "format" : "guint16" },
> > + { "name" : "GPS Time of Week Milliseconds",
> > + "format" : "guint32" } ] },
> > + { "name" : "Time Source",
> > + "id" : "0x29",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocTimeSource" },
> > + { "name" : "Sensor Data Usage",
> > + "id" : "0x2A",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint64",
> > + "public-format" : "QmiLocSensorDataUsage" },
> > + { "name" : "Session Fix Count",
> > + "id" : "0x2B",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "guint32" },
> > + { "name" : "Satellites Used",
> > + "id" : "0x2C",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "struct",
> > + "format" : "array",
> > + "array-element": { "format" : "guint16" } },
> > + { "name" : "Altitude Assumed",
> > + "id" : "0x2D",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gint8" }
> > + ] },
> > + { "name" : "NMEA Indication",
> > + "type" : "Indication",
> > + "service" : "LOC",
> > + "id" : "0x0026",
> > + "since" : "1.0",
> > + "version" : "1.20",
> > + "output" : [ { "name": "NMEA String",
> > + "id" : "0x01",
> > + "mandatory" : "no",
>
> I believe this one should be mandatory (<0x10)
>
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "string" } ] },
> > + { "name" : "Engine State",
> > + "type" : "Indication",
> > + "service" : "LOC",
> > + "id" : "0x002B",
> > + "since" : "1.0",
> > + "version" : "1.20",
> > + "output" : [ { "name": "Engine State",
> > + "id" : "0x01",
> > + "mandatory" : "no",
>
> I believe this one should be mandatory (<0x10)
>
>
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "gint32",
> > + "public-format" : "QmiLocEngineState" } ] },
> > + { "name" : "Fix Recurrence Type",
> > + "type" : "Indication",
> > + "service" : "LOC",
> > + "id" : "0x002C",
> > + "since" : "1.0",
> > + "version" : "1.20",
> > + "output" : [{ "common-ref" : "LOC Fix Recurrence Type" } ] },
> > + { "name" : "GNSS Satellite Info",
> > + "type" : "Indication",
> > + "service" : "LOC",
> > + "id" : "0x0025",
> > + "since" : "1.0",
> > + "version" : "1.20",
> > + "output" : [ {
> > + "name": "Altitude Source",
> > + "id" : "0x01",
> > + "mandatory" : "no",
>
> I believe this one should be mandatory (<0x10)
>
>
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format": "guint8",
> > + "public-format": "QmiLocAltitudeAssumed" },
> > + { "name" : "Satellite Info",
> > + "id" : "0x10",
> > + "mandatory" : "no",
> > + "type" : "TLV",
> > + "since" : "1.0",
> > + "format" : "array",
> > + "array-element" : {
> > + "name": "Element",
> > + "format": "struct",
> > + "contents": [
> > + { "name" : "Valid Information",
> > + "format" : "guint32",
> > + "public-format": "QmiLocSatelliteValidInformation" },
> > + { "name" : "System",
> > + "format" : "guint32",
> > + "public-format": "QmiLocSystem" },
> > + { "name" : "GNSS Satellite ID",
> > + "format" : "guint16" },
> > + { "name" : "Health Status",
> > + "format" : "guint8",
> > + "public-format" : "QmiLocHealthStatus" },
> > + { "name" : "Satellite Status",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocSatelliteStatus" },
> > + { "name" : "Navigation Data",
> > + "format" : "guint8",
> > + "public-format": "QmiLocNavigationData"},
> > + { "name" : "Elevation Degrees",
> > + "format" : "gfloat" },
> > + { "name" : "Azimuth Degrees",
> > + "format" : "gfloat" },
> > + { "name" : "Signal to Noise Ratio BHz",
> > + "format" : "gfloat" } ] } } ] },
> > + { "name" : "Set Operation Mode",
> > + "type" : "Message",
> > + "service" : "LOC",
> > + "id" : "0x004A",
> > + "version" : "1.0",
> > + "since" : "1.20",
> > + "input" : [ { "name" : "Operation Mode",
> > + "id" : "0x01",
> > + "mandatory" : "yes",
> > + "type" : "TLV",
> > + "since" : "1.20",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocOperationMode"
> > + } ],
> > + "output" : [ { "common-ref" : "Operation Result" } ] },
> > + { "name" : "Get Operation Mode",
> > + "type" : "Message",
> > + "service" : "LOC",
> > + "id" : "0x004B",
> > + "version" : "1.0",
> > + "since" : "1.20",
> > + "input" : [],
> > + "output" : [ { "common-ref" : "Operation Result" } ] },
> >
> > + { "name" : "Get Operation Mode",
> > + "type" : "Indication",
> > + "service" : "LOC",
> > + "id" : "0x004B",
> > + "version" : "1.0",
> > + "since" : "1.20",
> > + "output" : [ { "common-ref" : "LOC Indication Status" },
> > + { "name" : "Operation Mode",
> > + "id" : "0x10",
> > + "mandatory" : "yes",
>
> I believe this one should be optional (>=0x10)
>
> > + "type" : "TLV",
> > + "since" : "1.20",
> > + "format" : "guint32",
> > + "public-format" : "QmiLocOperationMode" } ] }
> > ]
> > diff --git a/docs/reference/libqmi-glib/libqmi-glib-common.sections b/docs/reference/libqmi-glib/libqmi-glib-common.sections
> > index 56f8313..719ce82 100644
> > --- a/docs/reference/libqmi-glib/libqmi-glib-common.sections
> > +++ b/docs/reference/libqmi-glib/libqmi-glib-common.sections
> > @@ -1070,13 +1070,87 @@ qmi_voice_wcdma_amr_status_get_type
> > <SECTION>
> > <FILE>qmi-enums-loc</FILE>
> > QmiLocIntermediateReportState
> > +QmiLocEventRegistrationFlag
> > +QmiLocFixRecurrenceType
> > +QmiLocOperationMode
> > +QmiLocEngineState
> > +QmiLocAltitudeAssumed
> > +QmiLocSatelliteValidInformation
> > +QmiLocSystem
> > +QmiLocHealthStatus
> > +QmiLocSatelliteStatus
> > +QmiLocNavigationData
> > +QmiLocIndicationStatus
> > +QmiLocSensorDataUsage
> > +QmiLocTimeSource
> > +QmiLocTechnologyUsed
> > +QmiLocReliability
> > +QmiLocSessionStatus
> > <SUBSECTION Methods>
> > qmi_loc_intermediate_report_state_get_string
> > +qmi_loc_fix_recurrence_type_get_string
> > +qmi_loc_operation_mode_get_string
> > +qmi_loc_altitude_assumed_get_string
> > +qmi_loc_engine_state_get_string
> > +qmi_loc_health_status_get_string
> > +qmi_loc_indication_status_get_string
> > +qmi_loc_navigation_data_get_string
> > +qmi_loc_reliability_get_string
> > +qmi_loc_satellite_status_get_string
> > +qmi_loc_satellite_valid_information_get_string
> > +qmi_loc_session_status_get_string
> > +qmi_loc_system_get_string
> > +qmi_loc_technology_used_get_string
> > +qmi_loc_time_source_get_string
> > <SUBSECTION Private>
> > qmi_loc_intermediate_report_state_build_string_from_mask
> > +qmi_loc_operation_mode_build_string_from_mask
> > +qmi_loc_fix_recurrence_type_build_string_from_mask
> > +qmi_loc_event_registration_flag_build_string_from_mask
> > +qmi_loc_altitude_assumed_build_string_from_mask
> > +qmi_loc_engine_state_build_string_from_mask
> > +qmi_loc_health_status_build_string_from_mask
> > +qmi_loc_indication_status_build_string_from_mask
> > +qmi_loc_navigation_data_build_string_from_mask
> > +qmi_loc_reliability_build_string_from_mask
> > +qmi_loc_satellite_status_build_string_from_mask
> > +qmi_loc_satellite_valid_information_build_string_from_mask
> > +qmi_loc_sensor_data_usage_build_string_from_mask
> > +qmi_loc_session_status_build_string_from_mask
> > +qmi_loc_system_build_string_from_mask
> > +qmi_loc_technology_used_build_string_from_mask
> > +qmi_loc_time_source_build_string_from_mask
> > <SUBSECTION Standard>
> > QMI_TYPE_LOC_INTERMEDIATE_REPORT_STATE
> > +QMI_TYPE_LOC_FIX_RECURRENCE_TYPE
> > +QMI_TYPE_LOC_OPERATION_MODE
> > +QMI_TYPE_LOC_ALTITUDE_ASSUMED
> > +QMI_TYPE_LOC_ENGINE_STATE
> > +QMI_TYPE_LOC_HEALTH_STATUS
> > +QMI_TYPE_LOC_INDICATION_STATUS
> > +QMI_TYPE_LOC_NAVIGATION_DATA
> > +QMI_TYPE_LOC_RELIABILITY
> > +QMI_TYPE_LOC_SATELLITE_STATUS
> > +QMI_TYPE_LOC_SATELLITE_VALID_INFORMATION
> > +QMI_TYPE_LOC_SESSION_STATUS
> > +QMI_TYPE_LOC_SYSTEM
> > +QMI_TYPE_LOC_TECHNOLOGY_USED
> > +QMI_TYPE_LOC_TIME_SOURCE
> > qmi_loc_intermediate_report_state_get_type
> > +qmi_loc_fix_recurrence_type_get_type
> > +qmi_loc_operation_mode_get_type
> > +qmi_loc_altitude_assumed_get_type
> > +qmi_loc_engine_state_get_type
> > +qmi_loc_health_status_get_type
> > +qmi_loc_indication_status_get_type
> > +qmi_loc_navigation_data_get_type
> > +qmi_loc_reliability_get_type
> > +qmi_loc_satellite_status_get_type
> > +qmi_loc_satellite_valid_information_get_type
> > +qmi_loc_session_status_get_type
> > +qmi_loc_system_get_type
> > +qmi_loc_technology_used_get_type
> > +qmi_loc_time_source_get_type
> > </SECTION>
> >
> > <SECTION>
> > diff --git a/docs/reference/libqmi-glib/libqmi-glib-docs.xml b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
> > index b6ee813..93187ea 100644
> > --- a/docs/reference/libqmi-glib/libqmi-glib-docs.xml
> > +++ b/docs/reference/libqmi-glib/libqmi-glib-docs.xml
> > @@ -380,11 +380,19 @@
> > <section>
> > <title>LOC Indications</title>
> > <xi:include href="xml/qmi-indication-loc-position-report.xml"/>
> > + <xi:include href="xml/qmi-indication-loc-nmea-indication.xml"/>
> > + <xi:include href="xml/qmi-indication-loc-gnss-satellite-info.xml"/>
> > + <xi:include href="xml/qmi-indication-loc-engine-state.xml"/>
> > + <xi:include href="xml/qmi-indication-loc-fix-recurrence-type.xml"/>
> > + <xi:include href="xml/qmi-indication-loc-get-operation-mode.xml"/>
> > </section>
> > <section>
> > <title>LOC Requests</title>
> > <xi:include href="xml/qmi-message-loc-start.xml"/>
> > <xi:include href="xml/qmi-message-loc-stop.xml"/>
> > + <xi:include href="xml/qmi-message-loc-register-events.xml"/>
> > + <xi:include href="xml/qmi-message-loc-get-operation-mode.xml"/>
> > + <xi:include href="xml/qmi-message-loc-set-operation-mode.xml"/>
> > </section>
> > </chapter>
> >
> > diff --git a/src/libqmi-glib/Makefile.am b/src/libqmi-glib/Makefile.am
> > index 63723b0..0678216 100644
> > --- a/src/libqmi-glib/Makefile.am
> > +++ b/src/libqmi-glib/Makefile.am
> > @@ -31,7 +31,7 @@ libqmi_glib_la_SOURCES = \
> > qmi-enums-oma.h \
> > qmi-enums-wda.h \
> > qmi-enums-voice.h \
> > - qmi-enums-loc.h \
> > + qmi-enums-loc.h qmi-flags64-loc.h \
> > qmi-enums.h qmi-enums-private.h \
> > qmi-utils.h qmi-utils.c \
> > qmi-compat.h qmi-compat.c \
> > @@ -68,7 +68,7 @@ include_HEADERS = \
> > qmi-enums-oma.h \
> > qmi-enums-wda.h \
> > qmi-enums-voice.h \
> > - qmi-enums-loc.h \
> > + qmi-enums-loc.h qmi-flags64-loc.h \
> > qmi-utils.h \
> > qmi-message.h \
> > qmi-message-context.h \
> > diff --git a/src/libqmi-glib/generated/Makefile.am b/src/libqmi-glib/generated/Makefile.am
> > index 5b4ca02..f9bd365 100644
> > --- a/src/libqmi-glib/generated/Makefile.am
> > +++ b/src/libqmi-glib/generated/Makefile.am
> > @@ -121,10 +121,10 @@ qmi-enum-types-private.c: $(PRIVATE_ENUMS) qmi-enum-types-private.h $(top_srcdir
> > $(PRIVATE_ENUMS) > $@
> >
> > # 64bit flag types
> > -FLAGS64 = $(top_srcdir)/src/libqmi-glib/qmi-flags64-dms.h $(top_srcdir)/src/libqmi-glib/qmi-flags64-nas.h
> > +FLAGS64 = $(top_srcdir)/src/libqmi-glib/qmi-flags64-dms.h $(top_srcdir)/src/libqmi-glib/qmi-flags64-nas.h $(top_srcdir)/src/libqmi-glib/qmi-flags64-loc.h
> > qmi-flags64-types.h: $(FLAGS64) $(top_srcdir)/build-aux/templates/qmi-flags64-types-template.h
> > $(AM_V_GEN) $(GLIB_MKENUMS) \
> > - --fhead "#ifndef __LIBQMI_GLIB_FLAGS64_TYPES_H__\n#define __LIBQMI_GLIB_FLAGS64_TYPES_H__\n#include \"qmi-flags64-dms.h\"\n#include \"qmi-flags64-nas.h\"\n" \
> > + --fhead "#ifndef __LIBQMI_GLIB_FLAGS64_TYPES_H__\n#define __LIBQMI_GLIB_FLAGS64_TYPES_H__\n#include \"qmi-flags64-dms.h\"\n#include \"qmi-flags64-nas.h\"\n#include \"qmi-flags64-loc.h\"\n" \
> > --template $(top_srcdir)/build-aux/templates/qmi-flags64-types-template.h \
> > --ftail "#endif /* __LIBQMI_GLIB_FLAGS64_TYPES_H__ */\n" \
> > $(FLAGS64) > $@
> > diff --git a/src/libqmi-glib/libqmi-glib.h b/src/libqmi-glib/libqmi-glib.h
> > index 2ec1d3a..f28975a 100644
> > --- a/src/libqmi-glib/libqmi-glib.h
> > +++ b/src/libqmi-glib/libqmi-glib.h
> > @@ -74,6 +74,7 @@
> > #include "qmi-enums-voice.h"
> > #include "qmi-voice.h"
> >
> > +#include "qmi-flags64-loc.h"
> > #include "qmi-enums-loc.h"
> > #include "qmi-loc.h"
> >
> > diff --git a/src/libqmi-glib/qmi-enums-loc.h b/src/libqmi-glib/qmi-enums-loc.h
> > index d6e4f5a..0b5e7ac 100644
> > --- a/src/libqmi-glib/qmi-enums-loc.h
> > +++ b/src/libqmi-glib/qmi-enums-loc.h
> > @@ -55,10 +55,386 @@ typedef enum {
> > QMI_LOC_INTERMEDIATE_REPORT_STATE_DISABLE = 2,
> > } QmiLocIntermediateReportState;
> >
> > +/**
> > + * QmiLocIndicationStatus:
> > + * @QMI_LOC_INDICATION_STATUS_SUCCESS: Success.
> > + * @QMI_LOC_INDICATION_STATUS_GENERAL_FAILURE: General Failure.
> > + * @QMI_LOC_INDICATION_STATUS_UNSUPPORTED: Unsupported.
> > + * @QMI_LOC_INDICATION_STATUS_INVALID_PARAMETER: Invalid Parameter.
> > + * @QMI_LOC_INDICATION_STATUS_ENGINE_BUSY: Engine is busy.
> > + * @QMI_LOC_INDICATION_STATUS_PHONE_OFFLINE: Phone is offline.
> > + * @QMI_LOC_INDICATION_STATUS_TIMEOUT: Timeout.
> > + *
> > + * General result of a received indication.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_INDICATION_STATUS_SUCCESS = 0,
> > + QMI_LOC_INDICATION_STATUS_GENERAL_FAILURE = 1,
> > + QMI_LOC_INDICATION_STATUS_UNSUPPORTED = 2,
> > + QMI_LOC_INDICATION_STATUS_INVALID_PARAMETER = 3,
> > + QMI_LOC_INDICATION_STATUS_ENGINE_BUSY = 4,
> > + QMI_LOC_INDICATION_STATUS_PHONE_OFFLINE = 5,
> > + QMI_LOC_INDICATION_STATUS_TIMEOUT = 6,
> > +} QmiLocIndicationStatus;
> > +
> > +/**
> > + * QmiLocSessionStatus:
> > + * @QMI_LOC_SESSION_STATUS_SUCCESS: Success
> > + * @QMI_LOC_SESSION_STATUS_IN_PROGRESS: Operation in Progress.
> > + * @QMI_LOC_SESSION_STATUS_GENERAL_FAILURE: General Failure.
> > + * @QMI_LOC_SESSION_STATUS_TIMEOUT: Timeout.
> > + * @QMI_LOC_SESSION_STATUS_USER_ENDED: User ended.
> > + * @QMI_LOC_SESSION_STATUS_BAD_PARAMETER: Bad Parameter.
> > + * @QMI_LOC_SESSION_STATUS_PHONE_OFFLINE: Phone is offline.
> > + * @QMI_LOC_SESSION_STATUS_ENGINE_LOCKED: Engine is locked.
> > + *
> > + * Status of a received session indication.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_SESSION_STATUS_SUCCESS = 0,
> > + QMI_LOC_SESSION_STATUS_IN_PROGRESS = 1,
> > + QMI_LOC_SESSION_STATUS_GENERAL_FAILURE = 2,
> > + QMI_LOC_SESSION_STATUS_TIMEOUT = 3,
> > + QMI_LOC_SESSION_STATUS_USER_ENDED = 4,
> > + QMI_LOC_SESSION_STATUS_BAD_PARAMETER = 5,
> > + QMI_LOC_SESSION_STATUS_PHONE_OFFLINE = 6,
> > + QMI_LOC_SESSION_STATUS_ENGINE_LOCKED = 6,
> > +} QmiLocSessionStatus;
> > +
> > +/**
> > + * QmiLocFixRecurrenceType:
> > + * @QMI_LOC_FIX_RECURRENCE_TYPE_REQUEST_PERIODIC_FIXES: Periodic fixes.
> > + * @QMI_LOC_FIX_RECURRENCE_TYPE_REQUEST_SINGLE_FIX: Single fix.
> > + *
> > + * Whether to request a single or periodic fixes.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_FIX_RECURRENCE_TYPE_REQUEST_PERIODIC_FIXES = 1,
> > + QMI_LOC_FIX_RECURRENCE_TYPE_REQUEST_SINGLE_FIX = 2,
> > +} QmiLocFixRecurrenceType;
> > +
> > +/**
> > + * QmiLocOperationMode:
> > + * @QMI_LOC_OPERATION_MODE_DEFAULT: Default.
> > + * @QMI_LOC_OPERATION_MODE_MSB: MSB (Mobile Station Based).
> > + * @QMI_LOC_OPERATION_MODE_MSA: MSA (Mobile Station Assisted).
> > + * @QMI_LOC_OPERATION_MODE_STANDALONE: Standalone.
> > + * @QMI_LOC_OPERATION_MODE_CELLID: Cell ID.
> > + * @QMI_LOC_OPERATION_MODE_WWAN: WWAN.
> > + *
> > + * Which operation mode to use.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_OPERATION_MODE_DEFAULT = 1,
> > + QMI_LOC_OPERATION_MODE_MSB = 2,
> > + QMI_LOC_OPERATION_MODE_MSA = 3,
> > + QMI_LOC_OPERATION_MODE_STANDALONE = 4,
> > + QMI_LOC_OPERATION_MODE_CELLID = 5,
> > + QMI_LOC_OPERATION_MODE_WWAN = 6,
> > +} QmiLocOperationMode;
> > +
> > +/**
> > + * QmiLocEngineState:
> > + * @QMI_LOC_ENGINE_STATE_ON: On.
> > + * @QMI_LOC_ENGINE_STATE_OFF: Off.
> > + *
> > + * State of the engine.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_ENGINE_STATE_ON = 1,
> > + QMI_LOC_ENGINE_STATE_OFF = 2,
> > +} QmiLocEngineState;
> > +
> > +/**
> > + * QmiLocTechnologyUsed:
> > + * @QMI_LOC_TECHNOLOGY_USED_SATELLITE: Satellite.
> > + * @QMI_LOC_TECHNOLOGY_USED_CELLULAR: Cellular.
> > + * @QMI_LOC_TECHNOLOGY_USED_WIFI: Wifi.
> > + * @QMI_LOC_TECHNOLOGY_USED_SENSORS: Sensors.
> > + * @QMI_LOC_TECHNOLOGY_USED_REFERENCE_LOCATION: Reference Location.
> > + * @QMI_LOC_TECHNOLOGY_USED_INJECTED_POSITION: Injected Position.
> > + * @QMI_LOC_TECHNOLOGY_USED_AFLT: AFLT (Advanced Forward Link Trilateration).
> > + * @QMI_LOC_TECHNOLOGY_USED_HYBRID: Hybrid.
> > + *
> > + * Which technology has been used.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_TECHNOLOGY_USED_SATELLITE = 1 << 0,
> > + QMI_LOC_TECHNOLOGY_USED_CELLULAR = 1 << 1,
> > + QMI_LOC_TECHNOLOGY_USED_WIFI = 1 << 2,
> > + QMI_LOC_TECHNOLOGY_USED_SENSORS = 1 << 3,
> > + QMI_LOC_TECHNOLOGY_USED_REFERENCE_LOCATION = 1 << 4,
> > + QMI_LOC_TECHNOLOGY_USED_INJECTED_POSITION = 1 << 5,
> > + QMI_LOC_TECHNOLOGY_USED_AFLT = 1 << 6,
> > + QMI_LOC_TECHNOLOGY_USED_HYBRID = 1 << 7,
> > +} QmiLocTechnologyUsed;
> > +
> > +/**
> > + * QmiLocReliability:
> > + * @QMI_LOC_RELIABILITY_NOT_SET: Not set.
> > + * @QMI_LOC_RELIABILITY_VERY_LOW: Very low.
> > + * @QMI_LOC_RELIABILITY_LOW: Low.
> > + * @QMI_LOC_RELIABILITY_MEDIUM: Medium.
> > + * @QMI_LOC_RELIABILITY_HIGH: High.
> > + *
> > + * Reliability of the provided information.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_RELIABILITY_NOT_SET = 0,
> > + QMI_LOC_RELIABILITY_VERY_LOW = 1,
> > + QMI_LOC_RELIABILITY_LOW = 2,
> > + QMI_LOC_RELIABILITY_MEDIUM = 3,
> > + QMI_LOC_RELIABILITY_HIGH = 4,
> > +} QmiLocReliability;
> > +
> > +/**
> > + * QmiLocTimeSource:
> > + * @QMI_LOC_TIME_SOURCE_INVALID: Invalid.
> > + * @QMI_LOC_TIME_SOURCE_NETWORK_TIME_TRANSFER: Network time transfer.
> > + * @QMI_LOC_TIME_SOURCE_NETWORK_TIME_TAGGING: Network time tagging.
> > + * @QMI_LOC_TIME_SOURCE_EXTERNAL_INPUT: External input.
> > + * @QMI_LOC_TIME_SOURCE_TOW_DECODE: TOW decode
> > + * @QMI_LOC_TIME_SOURCE_TOW_CONFIRMED: TOW confirmed
> > + * @QMI_LOC_TIME_SOURCE_TOW_AND_WEEK_CONFIRMED: TOW and week confirmed.
> > + * @QMI_LOC_TIME_SOURCE_NAVIGATION_SOLUTION: Navigation solution.
> > + * @QMI_LOC_TIME_SOURCE_SOLVE_FOR_TIME: Solve for time.
> > + * @QMI_LOC_TIME_SOURCE_GLTOW_DECODE: GLTOW decode.
> > + * @QMI_LOC_TIME_SOURCE_TRANSFORM: Transform.
> > + * @QMI_LOC_TIME_SOURCE_WCDMA_SLEEP_TIME_TAG: WCDMA sleep time tag.
> > + * @QMI_LOC_TIME_SOURCE_GSM_SLEEP_TIME_TAG: GSM sleep time tag.
> > + *
> > + * Source of the used time.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_TIME_SOURCE_INVALID = 0,
> > + QMI_LOC_TIME_SOURCE_NETWORK_TIME_TRANSFER = 1,
> > + QMI_LOC_TIME_SOURCE_NETWORK_TIME_TAGGING = 2,
> > + QMI_LOC_TIME_SOURCE_EXTERNAL_INPUT = 3,
> > + QMI_LOC_TIME_SOURCE_TOW_DECODE = 4,
> > + QMI_LOC_TIME_SOURCE_TOW_CONFIRMED = 5,
> > + QMI_LOC_TIME_SOURCE_TOW_AND_WEEK_CONFIRMED = 6,
> > + QMI_LOC_TIME_SOURCE_NAVIGATION_SOLUTION = 7,
> > + QMI_LOC_TIME_SOURCE_SOLVE_FOR_TIME = 8,
> > + QMI_LOC_TIME_SOURCE_GLTOW_DECODE = 9,
> > + QMI_LOC_TIME_SOURCE_TRANSFORM = 10,
> > + QMI_LOC_TIME_SOURCE_WCDMA_SLEEP_TIME_TAG = 11,
> > + QMI_LOC_TIME_SOURCE_GSM_SLEEP_TIME_TAG = 12,
> > +} QmiLocTimeSource;
> > +
> > +/**
> > + * QmiLocAltitudeAssumed:
> > + * @QMI_LOC_ALTITUDE_ASSUMED_ALTITUDE_IS_CALCULATED: Altitude is calculated.
> > + * @QMI_LOC_ALTITUDE_ASSUMED_ALTITUDE_IS_ASSUMED: Altitude is assumed.
> > + *
> > + * Whether the altitude has been calculated or assumed.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_ALTITUDE_ASSUMED_ALTITUDE_IS_CALCULATED = 0,
> > + QMI_LOC_ALTITUDE_ASSUMED_ALTITUDE_IS_ASSUMED = 1,
> > +} QmiLocAltitudeAssumed;
> > +
> > +/**
> > + * QmiLocSatelliteValidInformation:
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_SYSTEM: System,
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_GNSS_SATELLITE_ID: GNSS Satellite ID.
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_HEALTH_STATUS: Health status.
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_PROCESS_STATUS: Process status.
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_SATELLITE_INFO_MASK: Satellite info mask.
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_ELEVATION: Elevation.
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_AZIMUTH: Azimuth.
> > + * @QMI_LOC_SATELLITE_VALID_INFORMATION_SIGNAL_TO_NOISE_RATIO: Signal to noise ration.
> > + *
> > + * Which information about the satellite is valid.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_SYSTEM = 1 << 0,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_GNSS_SATELLITE_ID = 1 << 1,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_HEALTH_STATUS = 1 << 2,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_PROCESS_STATUS = 1 << 3,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_SATELLITE_INFO_MASK = 1 << 4,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_ELEVATION = 1 << 5,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_AZIMUTH = 1 << 6,
> > + QMI_LOC_SATELLITE_VALID_INFORMATION_SIGNAL_TO_NOISE_RATIO = 1 << 7,
> > +} QmiLocSatelliteValidInformation;
> > +
> > +/**
> > + * QmiLocSystem:
> > + * @QMI_LOC_SYSTEM_GPS: GPS.
> > + * @QMI_LOC_SYSTEM_GALILEO: Galileo.
> > + * @QMI_LOC_SYSTEM_SBAS: SBAS.
> > + * @QMI_LOC_SYSTEM_COMPASS: COMPASS (BeiDou).
> > + * @QMI_LOC_SYSTEM_GLONASS: GLONASS.
> > + *
> > + * Which location system a satellite is part of.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_SYSTEM_GPS = 1,
> > + QMI_LOC_SYSTEM_GALILEO = 2,
> > + QMI_LOC_SYSTEM_SBAS = 3,
> > + QMI_LOC_SYSTEM_COMPASS = 4,
> > + QMI_LOC_SYSTEM_GLONASS = 5,
> > +} QmiLocSystem;
> > +
> > +/**
> > + * QmiLocHealthStatus:
> > + * @QMI_LOC_HEALTH_STATUS_UNHEALTHY: Unhealthy.
> > + * @QMI_LOC_HEALTH_STATUS_HEALTHY: Healthy.
> > + *
> > + * Whether a satellite is healthy or unhealthy.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_HEALTH_STATUS_UNHEALTHY = 0,
> > + QMI_LOC_HEALTH_STATUS_HEALTHY = 1,
> > +} QmiLocHealthStatus;
> > +
> > +/**
> > + * QmiLocNavigationData:
> > + * @QMI_LOC_NAVIGATION_DATA_HAS_EPHEMERIS: Has ephemeris.
> > + * @QMI_LOC_NAVIGATION_DATA_HAS_ALMANAC: Has almanac.
> > + *
> > + * Whether the ephemeris or almanac exist for a satellite.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_NAVIGATION_DATA_HAS_EPHEMERIS = 0,
> > + QMI_LOC_NAVIGATION_DATA_HAS_ALMANAC = 1,
> > +} QmiLocNavigationData;
> > +
> > +/**
> > + * QmiLocSatelliteStatus:
> > + * @QMI_LOC_SATELLITE_STATUS_IDLE: Idle.
> > + * @QMI_LOC_SATELLITE_STATUS_SEARCHING: Searching.
> > + * @QMI_LOC_SATELLITE_STATUS_TRACKING: Tracking.
> > + *
> > + * Whether the engine searches or tracks a satellite.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_SATELLITE_STATUS_IDLE = 0,
> > + QMI_LOC_SATELLITE_STATUS_SEARCHING = 1,
> > + QMI_LOC_SATELLITE_STATUS_TRACKING = 2,
> > +} QmiLocSatelliteStatus;
> > +
> > /**
> > * qmi_loc_intermediate_report_state_get_string:
> > *
> > * Since: 1.20
> > */
> >
> > +/**
> > + * qmi_loc_intermediate_report_state_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_fix_recurrence_type_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_operation_mode_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_altitude_assumed_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_engine_state_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_health_status_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_indication_status_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_navigation_data_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_reliability_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_satellite_status_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_satellite_valid_information_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_session_status_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_system_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_technology_used_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > +/**
> > + * qmi_loc_time_source_get_string
> > + *
> > + * Since: 1.20
> > + */
> > +
> > #endif /* _LIBQMI_GLIB_QMI_ENUMS_LOC_H_ */
> > diff --git a/src/libqmi-glib/qmi-flags64-loc.h b/src/libqmi-glib/qmi-flags64-loc.h
> > new file mode 100644
> > index 0000000..ef7de21
> > --- /dev/null
> > +++ b/src/libqmi-glib/qmi-flags64-loc.h
> > @@ -0,0 +1,103 @@
> > +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
> > +/*
> > + * libqmi-glib -- GLib/GIO based library to control QMI devices
> > + *
> > + * This library is free software; you can redistribute it and/or
> > + * modify it under the terms of the GNU Lesser General Public
> > + * License as published by the Free Software Foundation; either
> > + * version 2 of the License, or (at your option) any later version.
> > + *
> > + * This library is distributed in the hope that it will be useful,
> > + * but WITHOUT ANY WARRANTY; without even the implied warranty of
> > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> > + * Lesser General Public License for more details.
> > + *
> > + * You should have received a copy of the GNU Lesser General Public
> > + * License along with this library; if not, write to the
> > + * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
> > + * Boston, MA 02110-1301 USA.
> > + *
> > + * Copyright (C) 2012 Google Inc.
> > + * Copyright (C) 2012-2017 Aleksander Morgado <aleksander at aleksander.es>
> > + */
> > +
> > +#ifndef _LIBQMI_GLIB_QMI_FLAGS64_LOC_H_
> > +#define _LIBQMI_GLIB_QMI_FLAGS64_LOC_H_
> > +
> > +#if !defined (__LIBQMI_GLIB_H_INSIDE__) && !defined (LIBQMI_GLIB_COMPILATION)
> > +#error "Only <libqmi-glib.h> can be included directly."
> > +#endif
> > +
> > +#include <glib.h>
> > +
> > +/**
> > + * QmiLocEventRegistrationFlag:
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_POSITION_REPORT: Position report.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_GNSS_SATELLITE_INFO: GNSS satellite info.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_NMEA: NMEA.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_NI_NOTIFY_VERIFY_REQUEST: NI Notify verify request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_TIME_REQUEST: Inject time request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_PREDICTED_ORBITS_REQUEST: Inject predicted orbits request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_POSITION_REQUEST: Inject position request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_ENGINE_STATE: Engine state.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_FIX_SESSION_STATE: Fix session state.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_WIFI_REQUEST: WIFI request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_SENSOR_STREAMING_READY_STATUS: Sensor streaming ready status.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_TIME_SYNC_REQUEST: Time sync request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_SET_SPI_STREAMING_REPORT: Set SPI streaming report.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_LOCATION_SERVER_CONNECTION_REQUEST: Location server connection request.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_NI_GEOFENCE_NOTIFICATION: NI geofence notification.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_GEOFENCE_GENERAL_ALERT: Geofence general alert.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_GEOFENCE_BREACH_NOTIFICATION: Geofence breach notification.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_PEDOMETER_CONTROL: Pedometer control.
> > + * @QMI_LOC_EVENT_REGISTRATION_FLAG_MOTION_DATA_CONTROL: Motion data control.
> > + *
> > + * For which events to register the subscription.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_POSITION_REPORT = 1 << 0,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_GNSS_SATELLITE_INFO = 1 << 1,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_NMEA = 1 << 2,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_NI_NOTIFY_VERIFY_REQUEST = 1 << 3,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_TIME_REQUEST = 1 << 4,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_PREDICTED_ORBITS_REQUEST = 1 << 5,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_INJECT_POSITION_REQUEST = 1 << 6,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_ENGINE_STATE = 1 << 7,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_FIX_SESSION_STATE = 1 << 8,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_WIFI_REQUEST = 1 << 9,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_SENSOR_STREAMING_READY_STATUS = 1 << 10,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_TIME_SYNC_REQUEST = 1 << 11,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_SET_SPI_STREAMING_REPORT = 1 << 12,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_LOCATION_SERVER_CONNECTION_REQUEST = 1 << 13,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_NI_GEOFENCE_NOTIFICATION = 1 << 14,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_GEOFENCE_GENERAL_ALERT = 1 << 15,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_GEOFENCE_BREACH_NOTIFICATION = 1 << 16,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_PEDOMETER_CONTROL = 1 << 17,
> > + QMI_LOC_EVENT_REGISTRATION_FLAG_MOTION_DATA_CONTROL = 1 << 18,
> > +} QmiLocEventRegistrationFlag;
> > +
> > +/**
> > + * QmiLocSensorDataUsage:
> > + * @QMI_LOC_SENSOR_DATA_USAGE_ACCELEROMETER_USED: Accelerometer used.
> > + * @QMI_LOC_SENSOR_DATA_USAGE_GYRO_USED: Gyro used.
> > + * @QMI_LOC_SENSOR_DATA_USAGE_AIDED_HEADING: Aided heading.
> > + * @QMI_LOC_SENSOR_DATA_USAGE_AIDED_SPEED: Aided speed.
> > + * @QMI_LOC_SENSOR_DATA_USAGE_AIDED_POSITION: Aided position.
> > + * @QMI_LOC_SENSOR_DATA_USAGE_AIDED_VELOCITY: Aided velocity.
> > + *
> > + * Which sensors where used and for which measurements.
> > + *
> > + * Since 1.20
> > + */
> > +typedef enum {
> > + QMI_LOC_SENSOR_DATA_USAGE_ACCELEROMETER_USED = 1 << 0,
> > + QMI_LOC_SENSOR_DATA_USAGE_GYRO_USED = 1 << 1,
> > + QMI_LOC_SENSOR_DATA_USAGE_AIDED_HEADING = ((guint64) 1) << 32,
> > + QMI_LOC_SENSOR_DATA_USAGE_AIDED_SPEED = ((guint64) 1) << 33,
> > + QMI_LOC_SENSOR_DATA_USAGE_AIDED_POSITION = ((guint64) 1) << 34,
> > + QMI_LOC_SENSOR_DATA_USAGE_AIDED_VELOCITY = ((guint64) 1) << 35,
> > +} QmiLocSensorDataUsage;
> > +
> > +#endif /* _LIBQMI_GLIB_QMI_FLAGS64_LOC_H_ */
> > --
> > 2.16.1
> >
>
>
>
> --
> Aleksander
> https://aleksander.es
More information about the libqmi-devel
mailing list