// Copyright 2017 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Definitions for tether API calls.
syntax = "proto2";
package ash.tether;
option optimize_for = LITE_RUNTIME;
// Types of messages which are sent between tether hosts and tether clients.
enum MessageType {
UNKNOWN_TYPE = 0;
TETHER_AVAILABILITY_REQUEST = 1;
TETHER_AVAILABILITY_RESPONSE = 2;
CONNECT_TETHERING_REQUEST = 3;
CONNECT_TETHERING_RESPONSE = 4;
DISCONNECT_TETHERING_REQUEST = 5;
KEEP_ALIVE_TICKLE = 6;
KEEP_ALIVE_TICKLE_RESPONSE = 7;
}
// Meant to communicate the host's current Wifi status. This is intended to
// allow the client to warn the user that Tether will disconnect the host's
// Wi-Fi, if applicable.
// Next id: 3
message WifiStatus {
enum StatusCode {
STATUS_UNKNOWN = 0;
CONNECTED = 1;
NOT_CONNECTED = 2;
}
optional StatusCode status_code = 1;
// The SSID of the Wifi the host is currently connected to.
optional string ssid = 2;
}
// Contains details about a device (presumably the host).
// Next id: 7
message DeviceStatus {
// Battery, from 0 to 100;
optional int32 battery_percentage = 1;
// For example, "Google Fi" or "Verizon".
optional string cell_provider = 2;
// Number of "bars", from 0 to 4.
optional int32 connection_strength = 3;
optional WifiStatus wifi_status = 4;
// True if Data Saver is on.
optional bool is_data_saver_enabled = 5;
// True if cellular data is enabled and a connection can be established.
optional bool is_cell_data_available = 6;
}
// Next id: 1
message TetherAvailabilityRequest {}
// Next id: 7
message TetherAvailabilityResponse {
enum ResponseCode {
UNKNOWN_ERROR = 0;
TETHER_AVAILABLE = 1;
SETUP_NEEDED = 2;
NO_RECEPTION = 3;
NO_SIM_CARD = 4;
NOTIFICATIONS_DISABLED_LEGACY = 5;
NOTIFICATIONS_DISABLED_WITH_NOTIFICATION_CHANNEL = 6;
LAST_PROVISIONING_FAILED = 7;
}
optional ResponseCode response_code = 1;
optional DeviceStatus device_status = 2;
}
// Next id: 1
message ConnectTetheringRequest {}
// Next id: 10
message ConnectTetheringResponse {
enum ResponseCode {
UNKNOWN_ERROR = 0;
SUCCESS = 1;
PROVISIONING_FAILED = 2;
TETHERING_TIMEOUT = 3;
TETHERING_UNSUPPORTED = 4;
NO_CELL_DATA = 5;
ENABLING_HOTSPOT_FAILED = 6;
ENABLING_HOTSPOT_TIMEOUT = 7;
INVALID_ACTIVE_EXISTING_SOFT_AP_CONFIG = 8;
INVALID_NEW_SOFT_AP_CONFIG = 9;
INVALID_WIFI_AP_CONFIG = 10;
}
optional ResponseCode response_code = 1;
// SSID for the new hotspot.
optional string ssid = 2;
// Password for the new hotspot.
optional string password = 3;
optional DeviceStatus device_status = 4;
}
// Next id: 1
message KeepAliveTickle {}
// Next id: 2
message KeepAliveTickleResponse {
optional DeviceStatus device_status = 1;
}
// Next id: 1
message DisconnectTetheringRequest {}