1/*
2 * Copyright 2019 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
17syntax = "proto2";
18package android.bluetooth.smp;
19
20option java_outer_classname = "BluetoothSmpProtoEnums";
21option java_multiple_files = true;
22
23// SMP Pairing command codes
24enum CommandEnum {
25    // LE
26    CMD_UNKNOWN = 0x00;
27    CMD_PAIRING_REQUEST = 0x01;
28    CMD_PAIRING_RESPONSE = 0x02;
29    CMD_PAIRING_CONFIRM = 0x03;
30    CMD_PAIRING_RANDOM = 0x04;
31    CMD_PAIRING_FAILED = 0x05;
32    CMD_ENCRYPTION_INFON = 0x06;
33    CMD_MASTER_IDENTIFICATION = 0x07;
34    CMD_IDENTITY_INFO = 0x08;
35    CMD_IDENTITY_ADDR_INFO = 0x09;
36    CMD_SIGNING_INFO = 0x0A;
37    CMD_SECURITY_REQUEST = 0x0B;
38    CMD_PAIRING_PUBLIC_KEY = 0x0C;
39    CMD_PAIRING_DHKEY_CHECK = 0x0D;
40    CMD_PAIRING_KEYPRESS_INFO = 0x0E;
41    CMD_PAIRING_COMPLETE = 0xFF00;
42    // BR/EDR
43    CMD_BR_UNKNOWN = 0x0100;
44    CMD_BR_PAIRING_REQUEST = 0x0101;
45    CMD_BR_PAIRING_RESPONSE = 0x0102;
46    CMD_BR_PAIRING_CONFIRM = 0x0103;
47    CMD_BR_PAIRING_RANDOM = 0x0104;
48    CMD_BR_PAIRING_FAILED = 0x0105;
49    CMD_BR_ENCRYPTION_INFON = 0x0106;
50    CMD_BR_MASTER_IDENTIFICATION = 0x0107;
51    CMD_BR_IDENTITY_INFO = 0x0108;
52    CMD_BR_IDENTITY_ADDR_INFO = 0x0109;
53    CMD_BR_SIGNING_INFO = 0x010A;
54    CMD_BR_SECURITY_REQUEST = 0x010B;
55    CMD_BR_PAIRING_PUBLIC_KEY = 0x010C;
56    CMD_BR_PAIRING_DHKEY_CHECK = 0x010D;
57    CMD_BR_PAIRING_KEYPRESS_INFO = 0x010E;
58    CMD_BR_PAIRING_COMPLETE = 0xFF01;
59}
60
61enum PairingFailReasonEnum {
62    PAIRING_FAIL_REASON_RESERVED = 0x00;
63    PAIRING_FAIL_REASON_PASSKEY_ENTRY = 0x01;
64    PAIRING_FAIL_REASON_OOB = 0x02;
65    PAIRING_FAIL_REASON_AUTH_REQ = 0x03;
66    PAIRING_FAIL_REASON_CONFIRM_VALUE = 0x04;
67    PAIRING_FAIL_REASON_PAIR_NOT_SUPPORT = 0x05;
68    PAIRING_FAIL_REASON_ENC_KEY_SIZE = 0x06;
69    PAIRING_FAIL_REASON_INVALID_CMD = 0x07;
70    PAIRING_FAIL_REASON_UNSPECIFIED = 0x08;
71    PAIRING_FAIL_REASON_REPEATED_ATTEMPTS = 0x09;
72    PAIRING_FAIL_REASON_INVALID_PARAMETERS = 0x0A;
73    PAIRING_FAIL_REASON_DHKEY_CHK = 0x0B;
74    PAIRING_FAIL_REASON_NUMERIC_COMPARISON = 0x0C;
75    PAIRING_FAIL_REASON_CLASSIC_PAIRING_IN_PROGR = 0x0D;
76    PAIRING_FAIL_REASON_XTRANS_DERIVE_NOT_ALLOW = 0x0E;
77    PAIRING_FAIL_REASON_CANCELLED = 0x1B;
78    // Android-defined error codes
79    PAIRING_FAIL_REASON_INTERNAL_ERROR = 0x010F;
80    PAIRING_FAIL_REASON_UNKNOWN_IO_CAP = 0x0110;
81    PAIRING_FAIL_REASON_BUSY = 0x0113;
82    PAIRING_FAIL_REASON_ENCRYPTION_FAIL = 0x0114;
83    PAIRING_FAIL_REASON_STARTED = 0x0115;
84    PAIRING_FAIL_REASON_RESPONSE_TIMEOUT = 0x0116;
85    PAIRING_FAIL_REASON_FAIL = 0x0118;
86    PAIRING_FAIL_REASON_CONNECTION_TIMEOUT = 0x0119;
87}
88