Home | History | Annotate | Download | only in wifi_offload
      1 /*
      2  * Copyright (C) 2017 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 // automatically generated by the FlatBuffers compiler, do not modify
     18 
     19 #ifndef FLATBUFFERS_GENERATED_FLATBUFFERSTYPES_WIFI_OFFLOAD_FBS_H_
     20 #define FLATBUFFERS_GENERATED_FLATBUFFERSTYPES_WIFI_OFFLOAD_FBS_H_
     21 
     22 #include "flatbuffers/flatbuffers.h"
     23 
     24 namespace wifi_offload {
     25 namespace fbs {
     26 
     27 struct Ssid;
     28 
     29 struct PreferredNetwork;
     30 
     31 struct ScanResult;
     32 
     33 struct ScanResultMessage;
     34 
     35 struct ScanParams;
     36 
     37 struct ScanFilter;
     38 
     39 struct ScanConfig;
     40 
     41 struct ScanRecord;
     42 
     43 struct RpcLogRecord;
     44 
     45 struct ScanStats;
     46 
     47 struct Ssid FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
     48   enum { VT_SSID = 4 };
     49   const flatbuffers::Vector<uint8_t> *ssid() const {
     50     return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_SSID);
     51   }
     52   bool Verify(flatbuffers::Verifier &verifier) const {
     53     return VerifyTableStart(verifier) &&
     54            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SSID) &&
     55            verifier.Verify(ssid()) && verifier.EndTable();
     56   }
     57 };
     58 
     59 struct SsidBuilder {
     60   flatbuffers::FlatBufferBuilder &fbb_;
     61   flatbuffers::uoffset_t start_;
     62   void add_ssid(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> ssid) {
     63     fbb_.AddOffset(Ssid::VT_SSID, ssid);
     64   }
     65   SsidBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
     66     start_ = fbb_.StartTable();
     67   }
     68   SsidBuilder &operator=(const SsidBuilder &);
     69   flatbuffers::Offset<Ssid> Finish() {
     70     const auto end = fbb_.EndTable(start_, 1);
     71     auto o = flatbuffers::Offset<Ssid>(end);
     72     return o;
     73   }
     74 };
     75 
     76 inline flatbuffers::Offset<Ssid> CreateSsid(
     77     flatbuffers::FlatBufferBuilder &_fbb,
     78     flatbuffers::Offset<flatbuffers::Vector<uint8_t>> ssid = 0) {
     79   SsidBuilder builder_(_fbb);
     80   builder_.add_ssid(ssid);
     81   return builder_.Finish();
     82 }
     83 
     84 inline flatbuffers::Offset<Ssid> CreateSsidDirect(
     85     flatbuffers::FlatBufferBuilder &_fbb,
     86     const std::vector<uint8_t> *ssid = nullptr) {
     87   return wifi_offload::fbs::CreateSsid(
     88       _fbb, ssid ? _fbb.CreateVector<uint8_t>(*ssid) : 0);
     89 }
     90 
     91 struct PreferredNetwork FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
     92   enum { VT_SSID = 4, VT_SECURITY_MODES = 6 };
     93   const Ssid *ssid() const { return GetPointer<const Ssid *>(VT_SSID); }
     94   uint8_t security_modes() const {
     95     return GetField<uint8_t>(VT_SECURITY_MODES, 0);
     96   }
     97   bool Verify(flatbuffers::Verifier &verifier) const {
     98     return VerifyTableStart(verifier) &&
     99            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SSID) &&
    100            verifier.VerifyTable(ssid()) &&
    101            VerifyField<uint8_t>(verifier, VT_SECURITY_MODES) &&
    102            verifier.EndTable();
    103   }
    104 };
    105 
    106 struct PreferredNetworkBuilder {
    107   flatbuffers::FlatBufferBuilder &fbb_;
    108   flatbuffers::uoffset_t start_;
    109   void add_ssid(flatbuffers::Offset<Ssid> ssid) {
    110     fbb_.AddOffset(PreferredNetwork::VT_SSID, ssid);
    111   }
    112   void add_security_modes(uint8_t security_modes) {
    113     fbb_.AddElement<uint8_t>(PreferredNetwork::VT_SECURITY_MODES,
    114                              security_modes, 0);
    115   }
    116   PreferredNetworkBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    117     start_ = fbb_.StartTable();
    118   }
    119   PreferredNetworkBuilder &operator=(const PreferredNetworkBuilder &);
    120   flatbuffers::Offset<PreferredNetwork> Finish() {
    121     const auto end = fbb_.EndTable(start_, 2);
    122     auto o = flatbuffers::Offset<PreferredNetwork>(end);
    123     return o;
    124   }
    125 };
    126 
    127 inline flatbuffers::Offset<PreferredNetwork> CreatePreferredNetwork(
    128     flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<Ssid> ssid = 0,
    129     uint8_t security_modes = 0) {
    130   PreferredNetworkBuilder builder_(_fbb);
    131   builder_.add_ssid(ssid);
    132   builder_.add_security_modes(security_modes);
    133   return builder_.Finish();
    134 }
    135 
    136 struct ScanResult FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    137   enum {
    138     VT_SSID = 4,
    139     VT_SECURITY_MODES = 6,
    140     VT_BSSID = 8,
    141     VT_CAPABILITY = 10,
    142     VT_FREQUENCY_SCANNED_MHZ = 12,
    143     VT_RSSI_DBM = 14,
    144     VT_TSF = 16
    145   };
    146   const Ssid *ssid() const { return GetPointer<const Ssid *>(VT_SSID); }
    147   uint8_t security_modes() const {
    148     return GetField<uint8_t>(VT_SECURITY_MODES, 0);
    149   }
    150   const flatbuffers::Vector<uint8_t> *bssid() const {
    151     return GetPointer<const flatbuffers::Vector<uint8_t> *>(VT_BSSID);
    152   }
    153   uint16_t capability() const { return GetField<uint16_t>(VT_CAPABILITY, 0); }
    154   uint32_t frequency_scanned_mhz() const {
    155     return GetField<uint32_t>(VT_FREQUENCY_SCANNED_MHZ, 0);
    156   }
    157   int8_t rssi_dbm() const { return GetField<int8_t>(VT_RSSI_DBM, 0); }
    158   uint64_t tsf() const { return GetField<uint64_t>(VT_TSF, 0); }
    159   bool Verify(flatbuffers::Verifier &verifier) const {
    160     return VerifyTableStart(verifier) &&
    161            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SSID) &&
    162            verifier.VerifyTable(ssid()) &&
    163            VerifyField<uint8_t>(verifier, VT_SECURITY_MODES) &&
    164            VerifyField<flatbuffers::uoffset_t>(verifier, VT_BSSID) &&
    165            verifier.Verify(bssid()) &&
    166            VerifyField<uint16_t>(verifier, VT_CAPABILITY) &&
    167            VerifyField<uint32_t>(verifier, VT_FREQUENCY_SCANNED_MHZ) &&
    168            VerifyField<int8_t>(verifier, VT_RSSI_DBM) &&
    169            VerifyField<uint64_t>(verifier, VT_TSF) && verifier.EndTable();
    170   }
    171 };
    172 
    173 struct ScanResultBuilder {
    174   flatbuffers::FlatBufferBuilder &fbb_;
    175   flatbuffers::uoffset_t start_;
    176   void add_ssid(flatbuffers::Offset<Ssid> ssid) {
    177     fbb_.AddOffset(ScanResult::VT_SSID, ssid);
    178   }
    179   void add_security_modes(uint8_t security_modes) {
    180     fbb_.AddElement<uint8_t>(ScanResult::VT_SECURITY_MODES, security_modes, 0);
    181   }
    182   void add_bssid(flatbuffers::Offset<flatbuffers::Vector<uint8_t>> bssid) {
    183     fbb_.AddOffset(ScanResult::VT_BSSID, bssid);
    184   }
    185   void add_capability(uint16_t capability) {
    186     fbb_.AddElement<uint16_t>(ScanResult::VT_CAPABILITY, capability, 0);
    187   }
    188   void add_frequency_scanned_mhz(uint32_t frequency_scanned_mhz) {
    189     fbb_.AddElement<uint32_t>(ScanResult::VT_FREQUENCY_SCANNED_MHZ,
    190                               frequency_scanned_mhz, 0);
    191   }
    192   void add_rssi_dbm(int8_t rssi_dbm) {
    193     fbb_.AddElement<int8_t>(ScanResult::VT_RSSI_DBM, rssi_dbm, 0);
    194   }
    195   void add_tsf(uint64_t tsf) {
    196     fbb_.AddElement<uint64_t>(ScanResult::VT_TSF, tsf, 0);
    197   }
    198   ScanResultBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    199     start_ = fbb_.StartTable();
    200   }
    201   ScanResultBuilder &operator=(const ScanResultBuilder &);
    202   flatbuffers::Offset<ScanResult> Finish() {
    203     const auto end = fbb_.EndTable(start_, 7);
    204     auto o = flatbuffers::Offset<ScanResult>(end);
    205     return o;
    206   }
    207 };
    208 
    209 inline flatbuffers::Offset<ScanResult> CreateScanResult(
    210     flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<Ssid> ssid = 0,
    211     uint8_t security_modes = 0,
    212     flatbuffers::Offset<flatbuffers::Vector<uint8_t>> bssid = 0,
    213     uint16_t capability = 0, uint32_t frequency_scanned_mhz = 0,
    214     int8_t rssi_dbm = 0, uint64_t tsf = 0) {
    215   ScanResultBuilder builder_(_fbb);
    216   builder_.add_tsf(tsf);
    217   builder_.add_frequency_scanned_mhz(frequency_scanned_mhz);
    218   builder_.add_bssid(bssid);
    219   builder_.add_ssid(ssid);
    220   builder_.add_capability(capability);
    221   builder_.add_rssi_dbm(rssi_dbm);
    222   builder_.add_security_modes(security_modes);
    223   return builder_.Finish();
    224 }
    225 
    226 inline flatbuffers::Offset<ScanResult> CreateScanResultDirect(
    227     flatbuffers::FlatBufferBuilder &_fbb, flatbuffers::Offset<Ssid> ssid = 0,
    228     uint8_t security_modes = 0, const std::vector<uint8_t> *bssid = nullptr,
    229     uint16_t capability = 0, uint32_t frequency_scanned_mhz = 0,
    230     int8_t rssi_dbm = 0, uint64_t tsf = 0) {
    231   return wifi_offload::fbs::CreateScanResult(
    232       _fbb, ssid, security_modes,
    233       bssid ? _fbb.CreateVector<uint8_t>(*bssid) : 0, capability,
    234       frequency_scanned_mhz, rssi_dbm, tsf);
    235 }
    236 
    237 struct ScanResultMessage FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    238   enum { VT_SCAN_RESULTS = 4 };
    239   const flatbuffers::Vector<flatbuffers::Offset<ScanResult>> *scan_results()
    240       const {
    241     return GetPointer<
    242         const flatbuffers::Vector<flatbuffers::Offset<ScanResult>> *>(
    243         VT_SCAN_RESULTS);
    244   }
    245   bool Verify(flatbuffers::Verifier &verifier) const {
    246     return VerifyTableStart(verifier) &&
    247            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SCAN_RESULTS) &&
    248            verifier.Verify(scan_results()) &&
    249            verifier.VerifyVectorOfTables(scan_results()) && verifier.EndTable();
    250   }
    251 };
    252 
    253 struct ScanResultMessageBuilder {
    254   flatbuffers::FlatBufferBuilder &fbb_;
    255   flatbuffers::uoffset_t start_;
    256   void add_scan_results(
    257       flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<ScanResult>>>
    258           scan_results) {
    259     fbb_.AddOffset(ScanResultMessage::VT_SCAN_RESULTS, scan_results);
    260   }
    261   ScanResultMessageBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    262     start_ = fbb_.StartTable();
    263   }
    264   ScanResultMessageBuilder &operator=(const ScanResultMessageBuilder &);
    265   flatbuffers::Offset<ScanResultMessage> Finish() {
    266     const auto end = fbb_.EndTable(start_, 1);
    267     auto o = flatbuffers::Offset<ScanResultMessage>(end);
    268     return o;
    269   }
    270 };
    271 
    272 inline flatbuffers::Offset<ScanResultMessage> CreateScanResultMessage(
    273     flatbuffers::FlatBufferBuilder &_fbb,
    274     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<ScanResult>>>
    275         scan_results = 0) {
    276   ScanResultMessageBuilder builder_(_fbb);
    277   builder_.add_scan_results(scan_results);
    278   return builder_.Finish();
    279 }
    280 
    281 inline flatbuffers::Offset<ScanResultMessage> CreateScanResultMessageDirect(
    282     flatbuffers::FlatBufferBuilder &_fbb,
    283     const std::vector<flatbuffers::Offset<ScanResult>> *scan_results =
    284         nullptr) {
    285   return wifi_offload::fbs::CreateScanResultMessage(
    286       _fbb,
    287       scan_results
    288           ? _fbb.CreateVector<flatbuffers::Offset<ScanResult>>(*scan_results)
    289           : 0);
    290 }
    291 
    292 struct ScanParams FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    293   enum {
    294     VT_SSIDS_TO_SCAN = 4,
    295     VT_FREQUENCIES_TO_SCAN_MHZ = 6,
    296     VT_DISCONNECTED_MODE_SCAN_INTERVAL_MS = 8
    297   };
    298   const flatbuffers::Vector<flatbuffers::Offset<Ssid>> *ssids_to_scan() const {
    299     return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Ssid>> *>(
    300         VT_SSIDS_TO_SCAN);
    301   }
    302   const flatbuffers::Vector<uint32_t> *frequencies_to_scan_mhz() const {
    303     return GetPointer<const flatbuffers::Vector<uint32_t> *>(
    304         VT_FREQUENCIES_TO_SCAN_MHZ);
    305   }
    306   uint32_t disconnected_mode_scan_interval_ms() const {
    307     return GetField<uint32_t>(VT_DISCONNECTED_MODE_SCAN_INTERVAL_MS, 0);
    308   }
    309   bool Verify(flatbuffers::Verifier &verifier) const {
    310     return VerifyTableStart(verifier) &&
    311            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SSIDS_TO_SCAN) &&
    312            verifier.Verify(ssids_to_scan()) &&
    313            verifier.VerifyVectorOfTables(ssids_to_scan()) &&
    314            VerifyField<flatbuffers::uoffset_t>(verifier,
    315                                                VT_FREQUENCIES_TO_SCAN_MHZ) &&
    316            verifier.Verify(frequencies_to_scan_mhz()) &&
    317            VerifyField<uint32_t>(verifier,
    318                                  VT_DISCONNECTED_MODE_SCAN_INTERVAL_MS) &&
    319            verifier.EndTable();
    320   }
    321 };
    322 
    323 struct ScanParamsBuilder {
    324   flatbuffers::FlatBufferBuilder &fbb_;
    325   flatbuffers::uoffset_t start_;
    326   void add_ssids_to_scan(
    327       flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Ssid>>>
    328           ssids_to_scan) {
    329     fbb_.AddOffset(ScanParams::VT_SSIDS_TO_SCAN, ssids_to_scan);
    330   }
    331   void add_frequencies_to_scan_mhz(
    332       flatbuffers::Offset<flatbuffers::Vector<uint32_t>>
    333           frequencies_to_scan_mhz) {
    334     fbb_.AddOffset(ScanParams::VT_FREQUENCIES_TO_SCAN_MHZ,
    335                    frequencies_to_scan_mhz);
    336   }
    337   void add_disconnected_mode_scan_interval_ms(
    338       uint32_t disconnected_mode_scan_interval_ms) {
    339     fbb_.AddElement<uint32_t>(ScanParams::VT_DISCONNECTED_MODE_SCAN_INTERVAL_MS,
    340                               disconnected_mode_scan_interval_ms, 0);
    341   }
    342   ScanParamsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    343     start_ = fbb_.StartTable();
    344   }
    345   ScanParamsBuilder &operator=(const ScanParamsBuilder &);
    346   flatbuffers::Offset<ScanParams> Finish() {
    347     const auto end = fbb_.EndTable(start_, 3);
    348     auto o = flatbuffers::Offset<ScanParams>(end);
    349     return o;
    350   }
    351 };
    352 
    353 inline flatbuffers::Offset<ScanParams> CreateScanParams(
    354     flatbuffers::FlatBufferBuilder &_fbb,
    355     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Ssid>>>
    356         ssids_to_scan = 0,
    357     flatbuffers::Offset<flatbuffers::Vector<uint32_t>> frequencies_to_scan_mhz =
    358         0,
    359     uint32_t disconnected_mode_scan_interval_ms = 0) {
    360   ScanParamsBuilder builder_(_fbb);
    361   builder_.add_disconnected_mode_scan_interval_ms(
    362       disconnected_mode_scan_interval_ms);
    363   builder_.add_frequencies_to_scan_mhz(frequencies_to_scan_mhz);
    364   builder_.add_ssids_to_scan(ssids_to_scan);
    365   return builder_.Finish();
    366 }
    367 
    368 inline flatbuffers::Offset<ScanParams> CreateScanParamsDirect(
    369     flatbuffers::FlatBufferBuilder &_fbb,
    370     const std::vector<flatbuffers::Offset<Ssid>> *ssids_to_scan = nullptr,
    371     const std::vector<uint32_t> *frequencies_to_scan_mhz = nullptr,
    372     uint32_t disconnected_mode_scan_interval_ms = 0) {
    373   return wifi_offload::fbs::CreateScanParams(
    374       _fbb,
    375       ssids_to_scan
    376           ? _fbb.CreateVector<flatbuffers::Offset<Ssid>>(*ssids_to_scan)
    377           : 0,
    378       frequencies_to_scan_mhz
    379           ? _fbb.CreateVector<uint32_t>(*frequencies_to_scan_mhz)
    380           : 0,
    381       disconnected_mode_scan_interval_ms);
    382 }
    383 
    384 struct ScanFilter FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    385   enum { VT_NETWORKS_TO_MATCH = 4, VT_MIN_RSSI_THRESHOLD_DBM = 6 };
    386   const flatbuffers::Vector<flatbuffers::Offset<PreferredNetwork>>
    387       *networks_to_match() const {
    388     return GetPointer<
    389         const flatbuffers::Vector<flatbuffers::Offset<PreferredNetwork>> *>(
    390         VT_NETWORKS_TO_MATCH);
    391   }
    392   int8_t min_rssi_threshold_dbm() const {
    393     return GetField<int8_t>(VT_MIN_RSSI_THRESHOLD_DBM, 0);
    394   }
    395   bool Verify(flatbuffers::Verifier &verifier) const {
    396     return VerifyTableStart(verifier) && VerifyField<flatbuffers::uoffset_t>(
    397                                              verifier, VT_NETWORKS_TO_MATCH) &&
    398            verifier.Verify(networks_to_match()) &&
    399            verifier.VerifyVectorOfTables(networks_to_match()) &&
    400            VerifyField<int8_t>(verifier, VT_MIN_RSSI_THRESHOLD_DBM) &&
    401            verifier.EndTable();
    402   }
    403 };
    404 
    405 struct ScanFilterBuilder {
    406   flatbuffers::FlatBufferBuilder &fbb_;
    407   flatbuffers::uoffset_t start_;
    408   void add_networks_to_match(
    409       flatbuffers::Offset<
    410           flatbuffers::Vector<flatbuffers::Offset<PreferredNetwork>>>
    411           networks_to_match) {
    412     fbb_.AddOffset(ScanFilter::VT_NETWORKS_TO_MATCH, networks_to_match);
    413   }
    414   void add_min_rssi_threshold_dbm(int8_t min_rssi_threshold_dbm) {
    415     fbb_.AddElement<int8_t>(ScanFilter::VT_MIN_RSSI_THRESHOLD_DBM,
    416                             min_rssi_threshold_dbm, 0);
    417   }
    418   ScanFilterBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    419     start_ = fbb_.StartTable();
    420   }
    421   ScanFilterBuilder &operator=(const ScanFilterBuilder &);
    422   flatbuffers::Offset<ScanFilter> Finish() {
    423     const auto end = fbb_.EndTable(start_, 2);
    424     auto o = flatbuffers::Offset<ScanFilter>(end);
    425     return o;
    426   }
    427 };
    428 
    429 inline flatbuffers::Offset<ScanFilter> CreateScanFilter(
    430     flatbuffers::FlatBufferBuilder &_fbb,
    431     flatbuffers::Offset<
    432         flatbuffers::Vector<flatbuffers::Offset<PreferredNetwork>>>
    433         networks_to_match = 0,
    434     int8_t min_rssi_threshold_dbm = 0) {
    435   ScanFilterBuilder builder_(_fbb);
    436   builder_.add_networks_to_match(networks_to_match);
    437   builder_.add_min_rssi_threshold_dbm(min_rssi_threshold_dbm);
    438   return builder_.Finish();
    439 }
    440 
    441 inline flatbuffers::Offset<ScanFilter> CreateScanFilterDirect(
    442     flatbuffers::FlatBufferBuilder &_fbb,
    443     const std::vector<flatbuffers::Offset<PreferredNetwork>>
    444         *networks_to_match = nullptr,
    445     int8_t min_rssi_threshold_dbm = 0) {
    446   return wifi_offload::fbs::CreateScanFilter(
    447       _fbb,
    448       networks_to_match
    449           ? _fbb.CreateVector<flatbuffers::Offset<PreferredNetwork>>(
    450                 *networks_to_match)
    451           : 0,
    452       min_rssi_threshold_dbm);
    453 }
    454 
    455 struct ScanConfig FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    456   enum { VT_SCAN_PARAMS = 4, VT_SCAN_FILTER = 6 };
    457   const ScanParams *scan_params() const {
    458     return GetPointer<const ScanParams *>(VT_SCAN_PARAMS);
    459   }
    460   const ScanFilter *scan_filter() const {
    461     return GetPointer<const ScanFilter *>(VT_SCAN_FILTER);
    462   }
    463   bool Verify(flatbuffers::Verifier &verifier) const {
    464     return VerifyTableStart(verifier) &&
    465            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SCAN_PARAMS) &&
    466            verifier.VerifyTable(scan_params()) &&
    467            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SCAN_FILTER) &&
    468            verifier.VerifyTable(scan_filter()) && verifier.EndTable();
    469   }
    470 };
    471 
    472 struct ScanConfigBuilder {
    473   flatbuffers::FlatBufferBuilder &fbb_;
    474   flatbuffers::uoffset_t start_;
    475   void add_scan_params(flatbuffers::Offset<ScanParams> scan_params) {
    476     fbb_.AddOffset(ScanConfig::VT_SCAN_PARAMS, scan_params);
    477   }
    478   void add_scan_filter(flatbuffers::Offset<ScanFilter> scan_filter) {
    479     fbb_.AddOffset(ScanConfig::VT_SCAN_FILTER, scan_filter);
    480   }
    481   ScanConfigBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    482     start_ = fbb_.StartTable();
    483   }
    484   ScanConfigBuilder &operator=(const ScanConfigBuilder &);
    485   flatbuffers::Offset<ScanConfig> Finish() {
    486     const auto end = fbb_.EndTable(start_, 2);
    487     auto o = flatbuffers::Offset<ScanConfig>(end);
    488     return o;
    489   }
    490 };
    491 
    492 inline flatbuffers::Offset<ScanConfig> CreateScanConfig(
    493     flatbuffers::FlatBufferBuilder &_fbb,
    494     flatbuffers::Offset<ScanParams> scan_params = 0,
    495     flatbuffers::Offset<ScanFilter> scan_filter = 0) {
    496   ScanConfigBuilder builder_(_fbb);
    497   builder_.add_scan_filter(scan_filter);
    498   builder_.add_scan_params(scan_params);
    499   return builder_.Finish();
    500 }
    501 
    502 struct ScanRecord FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    503   enum {
    504     VT_TIME_SPENT_SCANNING_MS = 4,
    505     VT_NUM_CHANNELS_SCANNED = 6,
    506     VT_NUM_ENTRIES_AGGREGATED = 8
    507   };
    508   uint32_t time_spent_scanning_ms() const {
    509     return GetField<uint32_t>(VT_TIME_SPENT_SCANNING_MS, 0);
    510   }
    511   uint32_t num_channels_scanned() const {
    512     return GetField<uint32_t>(VT_NUM_CHANNELS_SCANNED, 0);
    513   }
    514   uint32_t num_entries_aggregated() const {
    515     return GetField<uint32_t>(VT_NUM_ENTRIES_AGGREGATED, 0);
    516   }
    517   bool Verify(flatbuffers::Verifier &verifier) const {
    518     return VerifyTableStart(verifier) &&
    519            VerifyField<uint32_t>(verifier, VT_TIME_SPENT_SCANNING_MS) &&
    520            VerifyField<uint32_t>(verifier, VT_NUM_CHANNELS_SCANNED) &&
    521            VerifyField<uint32_t>(verifier, VT_NUM_ENTRIES_AGGREGATED) &&
    522            verifier.EndTable();
    523   }
    524 };
    525 
    526 struct ScanRecordBuilder {
    527   flatbuffers::FlatBufferBuilder &fbb_;
    528   flatbuffers::uoffset_t start_;
    529   void add_time_spent_scanning_ms(uint32_t time_spent_scanning_ms) {
    530     fbb_.AddElement<uint32_t>(ScanRecord::VT_TIME_SPENT_SCANNING_MS,
    531                               time_spent_scanning_ms, 0);
    532   }
    533   void add_num_channels_scanned(uint32_t num_channels_scanned) {
    534     fbb_.AddElement<uint32_t>(ScanRecord::VT_NUM_CHANNELS_SCANNED,
    535                               num_channels_scanned, 0);
    536   }
    537   void add_num_entries_aggregated(uint32_t num_entries_aggregated) {
    538     fbb_.AddElement<uint32_t>(ScanRecord::VT_NUM_ENTRIES_AGGREGATED,
    539                               num_entries_aggregated, 0);
    540   }
    541   ScanRecordBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    542     start_ = fbb_.StartTable();
    543   }
    544   ScanRecordBuilder &operator=(const ScanRecordBuilder &);
    545   flatbuffers::Offset<ScanRecord> Finish() {
    546     const auto end = fbb_.EndTable(start_, 3);
    547     auto o = flatbuffers::Offset<ScanRecord>(end);
    548     return o;
    549   }
    550 };
    551 
    552 inline flatbuffers::Offset<ScanRecord> CreateScanRecord(
    553     flatbuffers::FlatBufferBuilder &_fbb, uint32_t time_spent_scanning_ms = 0,
    554     uint32_t num_channels_scanned = 0, uint32_t num_entries_aggregated = 0) {
    555   ScanRecordBuilder builder_(_fbb);
    556   builder_.add_num_entries_aggregated(num_entries_aggregated);
    557   builder_.add_num_channels_scanned(num_channels_scanned);
    558   builder_.add_time_spent_scanning_ms(time_spent_scanning_ms);
    559   return builder_.Finish();
    560 }
    561 
    562 struct RpcLogRecord FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    563   enum { VT_RECORD_TYPE = 4, VT_TIMESTAMP_CHRE_MS = 6 };
    564   uint8_t record_type() const { return GetField<uint8_t>(VT_RECORD_TYPE, 0); }
    565   uint32_t timestamp_chre_ms() const {
    566     return GetField<uint32_t>(VT_TIMESTAMP_CHRE_MS, 0);
    567   }
    568   bool Verify(flatbuffers::Verifier &verifier) const {
    569     return VerifyTableStart(verifier) &&
    570            VerifyField<uint8_t>(verifier, VT_RECORD_TYPE) &&
    571            VerifyField<uint32_t>(verifier, VT_TIMESTAMP_CHRE_MS) &&
    572            verifier.EndTable();
    573   }
    574 };
    575 
    576 struct RpcLogRecordBuilder {
    577   flatbuffers::FlatBufferBuilder &fbb_;
    578   flatbuffers::uoffset_t start_;
    579   void add_record_type(uint8_t record_type) {
    580     fbb_.AddElement<uint8_t>(RpcLogRecord::VT_RECORD_TYPE, record_type, 0);
    581   }
    582   void add_timestamp_chre_ms(uint32_t timestamp_chre_ms) {
    583     fbb_.AddElement<uint32_t>(RpcLogRecord::VT_TIMESTAMP_CHRE_MS,
    584                               timestamp_chre_ms, 0);
    585   }
    586   RpcLogRecordBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    587     start_ = fbb_.StartTable();
    588   }
    589   RpcLogRecordBuilder &operator=(const RpcLogRecordBuilder &);
    590   flatbuffers::Offset<RpcLogRecord> Finish() {
    591     const auto end = fbb_.EndTable(start_, 2);
    592     auto o = flatbuffers::Offset<RpcLogRecord>(end);
    593     return o;
    594   }
    595 };
    596 
    597 inline flatbuffers::Offset<RpcLogRecord> CreateRpcLogRecord(
    598     flatbuffers::FlatBufferBuilder &_fbb, uint8_t record_type = 0,
    599     uint32_t timestamp_chre_ms = 0) {
    600   RpcLogRecordBuilder builder_(_fbb);
    601   builder_.add_timestamp_chre_ms(timestamp_chre_ms);
    602   builder_.add_record_type(record_type);
    603   return builder_.Finish();
    604 }
    605 
    606 struct ScanStats FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
    607   enum {
    608     VT_NUM_SCANS_REQUESTED_BY_NANOAPP = 4,
    609     VT_NUM_SCANS_SERVICED_BY_HARDWARE = 6,
    610     VT_NUM_SCANS_SERVICED_BY_CACHE = 8,
    611     VT_UPDATED_AT_CHRE_MS = 10,
    612     VT_SENT_AT_CHRE_MS = 12,
    613     VT_LAST_SUBSCRIPTION_DURATION_MS = 14,
    614     VT_CHANNEL_SCAN_COUNT = 16,
    615     VT_SCAN_RECORDS = 18,
    616     VT_RPC_LOG_RECORDS = 20
    617   };
    618   uint32_t num_scans_requested_by_nanoapp() const {
    619     return GetField<uint32_t>(VT_NUM_SCANS_REQUESTED_BY_NANOAPP, 0);
    620   }
    621   uint32_t num_scans_serviced_by_hardware() const {
    622     return GetField<uint32_t>(VT_NUM_SCANS_SERVICED_BY_HARDWARE, 0);
    623   }
    624   uint32_t num_scans_serviced_by_cache() const {
    625     return GetField<uint32_t>(VT_NUM_SCANS_SERVICED_BY_CACHE, 0);
    626   }
    627   uint32_t updated_at_chre_ms() const {
    628     return GetField<uint32_t>(VT_UPDATED_AT_CHRE_MS, 0);
    629   }
    630   uint32_t sent_at_chre_ms() const {
    631     return GetField<uint32_t>(VT_SENT_AT_CHRE_MS, 0);
    632   }
    633   uint32_t last_subscription_duration_ms() const {
    634     return GetField<uint32_t>(VT_LAST_SUBSCRIPTION_DURATION_MS, 0);
    635   }
    636   const flatbuffers::Vector<uint8_t> *channel_scan_count() const {
    637     return GetPointer<const flatbuffers::Vector<uint8_t> *>(
    638         VT_CHANNEL_SCAN_COUNT);
    639   }
    640   const flatbuffers::Vector<flatbuffers::Offset<ScanRecord>> *scan_records()
    641       const {
    642     return GetPointer<
    643         const flatbuffers::Vector<flatbuffers::Offset<ScanRecord>> *>(
    644         VT_SCAN_RECORDS);
    645   }
    646   const flatbuffers::Vector<flatbuffers::Offset<RpcLogRecord>>
    647       *rpc_log_records() const {
    648     return GetPointer<
    649         const flatbuffers::Vector<flatbuffers::Offset<RpcLogRecord>> *>(
    650         VT_RPC_LOG_RECORDS);
    651   }
    652   bool Verify(flatbuffers::Verifier &verifier) const {
    653     return VerifyTableStart(verifier) &&
    654            VerifyField<uint32_t>(verifier, VT_NUM_SCANS_REQUESTED_BY_NANOAPP) &&
    655            VerifyField<uint32_t>(verifier, VT_NUM_SCANS_SERVICED_BY_HARDWARE) &&
    656            VerifyField<uint32_t>(verifier, VT_NUM_SCANS_SERVICED_BY_CACHE) &&
    657            VerifyField<uint32_t>(verifier, VT_UPDATED_AT_CHRE_MS) &&
    658            VerifyField<uint32_t>(verifier, VT_SENT_AT_CHRE_MS) &&
    659            VerifyField<uint32_t>(verifier, VT_LAST_SUBSCRIPTION_DURATION_MS) &&
    660            VerifyField<flatbuffers::uoffset_t>(verifier,
    661                                                VT_CHANNEL_SCAN_COUNT) &&
    662            verifier.Verify(channel_scan_count()) &&
    663            VerifyField<flatbuffers::uoffset_t>(verifier, VT_SCAN_RECORDS) &&
    664            verifier.Verify(scan_records()) &&
    665            verifier.VerifyVectorOfTables(scan_records()) &&
    666            VerifyField<flatbuffers::uoffset_t>(verifier, VT_RPC_LOG_RECORDS) &&
    667            verifier.Verify(rpc_log_records()) &&
    668            verifier.VerifyVectorOfTables(rpc_log_records()) &&
    669            verifier.EndTable();
    670   }
    671 };
    672 
    673 struct ScanStatsBuilder {
    674   flatbuffers::FlatBufferBuilder &fbb_;
    675   flatbuffers::uoffset_t start_;
    676   void add_num_scans_requested_by_nanoapp(
    677       uint32_t num_scans_requested_by_nanoapp) {
    678     fbb_.AddElement<uint32_t>(ScanStats::VT_NUM_SCANS_REQUESTED_BY_NANOAPP,
    679                               num_scans_requested_by_nanoapp, 0);
    680   }
    681   void add_num_scans_serviced_by_hardware(
    682       uint32_t num_scans_serviced_by_hardware) {
    683     fbb_.AddElement<uint32_t>(ScanStats::VT_NUM_SCANS_SERVICED_BY_HARDWARE,
    684                               num_scans_serviced_by_hardware, 0);
    685   }
    686   void add_num_scans_serviced_by_cache(uint32_t num_scans_serviced_by_cache) {
    687     fbb_.AddElement<uint32_t>(ScanStats::VT_NUM_SCANS_SERVICED_BY_CACHE,
    688                               num_scans_serviced_by_cache, 0);
    689   }
    690   void add_updated_at_chre_ms(uint32_t updated_at_chre_ms) {
    691     fbb_.AddElement<uint32_t>(ScanStats::VT_UPDATED_AT_CHRE_MS,
    692                               updated_at_chre_ms, 0);
    693   }
    694   void add_sent_at_chre_ms(uint32_t sent_at_chre_ms) {
    695     fbb_.AddElement<uint32_t>(ScanStats::VT_SENT_AT_CHRE_MS, sent_at_chre_ms,
    696                               0);
    697   }
    698   void add_last_subscription_duration_ms(
    699       uint32_t last_subscription_duration_ms) {
    700     fbb_.AddElement<uint32_t>(ScanStats::VT_LAST_SUBSCRIPTION_DURATION_MS,
    701                               last_subscription_duration_ms, 0);
    702   }
    703   void add_channel_scan_count(
    704       flatbuffers::Offset<flatbuffers::Vector<uint8_t>> channel_scan_count) {
    705     fbb_.AddOffset(ScanStats::VT_CHANNEL_SCAN_COUNT, channel_scan_count);
    706   }
    707   void add_scan_records(
    708       flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<ScanRecord>>>
    709           scan_records) {
    710     fbb_.AddOffset(ScanStats::VT_SCAN_RECORDS, scan_records);
    711   }
    712   void add_rpc_log_records(
    713       flatbuffers::Offset<
    714           flatbuffers::Vector<flatbuffers::Offset<RpcLogRecord>>>
    715           rpc_log_records) {
    716     fbb_.AddOffset(ScanStats::VT_RPC_LOG_RECORDS, rpc_log_records);
    717   }
    718   ScanStatsBuilder(flatbuffers::FlatBufferBuilder &_fbb) : fbb_(_fbb) {
    719     start_ = fbb_.StartTable();
    720   }
    721   ScanStatsBuilder &operator=(const ScanStatsBuilder &);
    722   flatbuffers::Offset<ScanStats> Finish() {
    723     const auto end = fbb_.EndTable(start_, 9);
    724     auto o = flatbuffers::Offset<ScanStats>(end);
    725     return o;
    726   }
    727 };
    728 
    729 inline flatbuffers::Offset<ScanStats> CreateScanStats(
    730     flatbuffers::FlatBufferBuilder &_fbb,
    731     uint32_t num_scans_requested_by_nanoapp = 0,
    732     uint32_t num_scans_serviced_by_hardware = 0,
    733     uint32_t num_scans_serviced_by_cache = 0, uint32_t updated_at_chre_ms = 0,
    734     uint32_t sent_at_chre_ms = 0, uint32_t last_subscription_duration_ms = 0,
    735     flatbuffers::Offset<flatbuffers::Vector<uint8_t>> channel_scan_count = 0,
    736     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<ScanRecord>>>
    737         scan_records = 0,
    738     flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<RpcLogRecord>>>
    739         rpc_log_records = 0) {
    740   ScanStatsBuilder builder_(_fbb);
    741   builder_.add_rpc_log_records(rpc_log_records);
    742   builder_.add_scan_records(scan_records);
    743   builder_.add_channel_scan_count(channel_scan_count);
    744   builder_.add_last_subscription_duration_ms(last_subscription_duration_ms);
    745   builder_.add_sent_at_chre_ms(sent_at_chre_ms);
    746   builder_.add_updated_at_chre_ms(updated_at_chre_ms);
    747   builder_.add_num_scans_serviced_by_cache(num_scans_serviced_by_cache);
    748   builder_.add_num_scans_serviced_by_hardware(num_scans_serviced_by_hardware);
    749   builder_.add_num_scans_requested_by_nanoapp(num_scans_requested_by_nanoapp);
    750   return builder_.Finish();
    751 }
    752 
    753 inline flatbuffers::Offset<ScanStats> CreateScanStatsDirect(
    754     flatbuffers::FlatBufferBuilder &_fbb,
    755     uint32_t num_scans_requested_by_nanoapp = 0,
    756     uint32_t num_scans_serviced_by_hardware = 0,
    757     uint32_t num_scans_serviced_by_cache = 0, uint32_t updated_at_chre_ms = 0,
    758     uint32_t sent_at_chre_ms = 0, uint32_t last_subscription_duration_ms = 0,
    759     const std::vector<uint8_t> *channel_scan_count = nullptr,
    760     const std::vector<flatbuffers::Offset<ScanRecord>> *scan_records = nullptr,
    761     const std::vector<flatbuffers::Offset<RpcLogRecord>> *rpc_log_records =
    762         nullptr) {
    763   return wifi_offload::fbs::CreateScanStats(
    764       _fbb, num_scans_requested_by_nanoapp, num_scans_serviced_by_hardware,
    765       num_scans_serviced_by_cache, updated_at_chre_ms, sent_at_chre_ms,
    766       last_subscription_duration_ms,
    767       channel_scan_count ? _fbb.CreateVector<uint8_t>(*channel_scan_count) : 0,
    768       scan_records
    769           ? _fbb.CreateVector<flatbuffers::Offset<ScanRecord>>(*scan_records)
    770           : 0,
    771       rpc_log_records
    772           ? _fbb.CreateVector<flatbuffers::Offset<RpcLogRecord>>(
    773                 *rpc_log_records)
    774           : 0);
    775 }
    776 
    777 }  // namespace fbs
    778 }  // namespace wifi_offload
    779 
    780 #endif  // FLATBUFFERS_GENERATED_FLATBUFFERSTYPES_WIFI_OFFLOAD_FBS_H_
    781