@@ -316,6 +316,7 @@ enum {
316
316
HCI_USER_CHANNEL ,
317
317
HCI_EXT_CONFIGURED ,
318
318
HCI_LE_ADV ,
319
+ HCI_LE_PER_ADV ,
319
320
HCI_LE_SCAN ,
320
321
HCI_SSP_ENABLED ,
321
322
HCI_SC_ENABLED ,
@@ -338,6 +339,7 @@ enum {
338
339
HCI_LE_SCAN_INTERRUPTED ,
339
340
HCI_WIDEBAND_SPEECH_ENABLED ,
340
341
HCI_EVENT_FILTER_CONFIGURED ,
342
+ HCI_PA_SYNC ,
341
343
342
344
HCI_DUT_MODE ,
343
345
HCI_VENDOR_DIAG ,
@@ -519,9 +521,11 @@ enum {
519
521
#define HCI_LE_PHY_2M 0x01
520
522
#define HCI_LE_PHY_CODED 0x08
521
523
#define HCI_LE_EXT_ADV 0x10
524
+ #define HCI_LE_PERIODIC_ADV 0x20
522
525
#define HCI_LE_CHAN_SEL_ALG2 0x40
523
526
#define HCI_LE_CIS_CENTRAL 0x10
524
527
#define HCI_LE_CIS_PERIPHERAL 0x20
528
+ #define HCI_LE_ISO_BROADCASTER 0x40
525
529
526
530
/* Connection modes */
527
531
#define HCI_CM_ACTIVE 0x0000
@@ -1865,6 +1869,22 @@ struct hci_cp_le_ext_conn_param {
1865
1869
__le16 max_ce_len ;
1866
1870
} __packed ;
1867
1871
1872
+ #define HCI_OP_LE_PA_CREATE_SYNC 0x2044
1873
+ struct hci_cp_le_pa_create_sync {
1874
+ __u8 options ;
1875
+ __u8 sid ;
1876
+ __u8 addr_type ;
1877
+ bdaddr_t addr ;
1878
+ __le16 skip ;
1879
+ __le16 sync_timeout ;
1880
+ __u8 sync_cte_type ;
1881
+ } __packed ;
1882
+
1883
+ #define HCI_OP_LE_PA_TERM_SYNC 0x2046
1884
+ struct hci_cp_le_pa_term_sync {
1885
+ __le16 handle ;
1886
+ } __packed ;
1887
+
1868
1888
#define HCI_OP_LE_READ_NUM_SUPPORTED_ADV_SETS 0x203b
1869
1889
struct hci_rp_le_read_num_supported_adv_sets {
1870
1890
__u8 status ;
@@ -1899,13 +1919,6 @@ struct hci_rp_le_set_ext_adv_params {
1899
1919
__u8 tx_power ;
1900
1920
} __packed ;
1901
1921
1902
- #define HCI_OP_LE_SET_EXT_ADV_ENABLE 0x2039
1903
- struct hci_cp_le_set_ext_adv_enable {
1904
- __u8 enable ;
1905
- __u8 num_of_sets ;
1906
- __u8 data [];
1907
- } __packed ;
1908
-
1909
1922
struct hci_cp_ext_adv_set {
1910
1923
__u8 handle ;
1911
1924
__le16 duration ;
@@ -1932,6 +1945,37 @@ struct hci_cp_le_set_ext_scan_rsp_data {
1932
1945
__u8 data [];
1933
1946
} __packed ;
1934
1947
1948
+ #define HCI_OP_LE_SET_EXT_ADV_ENABLE 0x2039
1949
+ struct hci_cp_le_set_ext_adv_enable {
1950
+ __u8 enable ;
1951
+ __u8 num_of_sets ;
1952
+ __u8 data [];
1953
+ } __packed ;
1954
+
1955
+ #define HCI_OP_LE_SET_PER_ADV_PARAMS 0x203e
1956
+ struct hci_cp_le_set_per_adv_params {
1957
+ __u8 handle ;
1958
+ __le16 min_interval ;
1959
+ __le16 max_interval ;
1960
+ __le16 periodic_properties ;
1961
+ } __packed ;
1962
+
1963
+ #define HCI_MAX_PER_AD_LENGTH 252
1964
+
1965
+ #define HCI_OP_LE_SET_PER_ADV_DATA 0x203f
1966
+ struct hci_cp_le_set_per_adv_data {
1967
+ __u8 handle ;
1968
+ __u8 operation ;
1969
+ __u8 length ;
1970
+ __u8 data [];
1971
+ } __packed ;
1972
+
1973
+ #define HCI_OP_LE_SET_PER_ADV_ENABLE 0x2040
1974
+ struct hci_cp_le_set_per_adv_enable {
1975
+ __u8 enable ;
1976
+ __u8 handle ;
1977
+ } __packed ;
1978
+
1935
1979
#define LE_SET_ADV_DATA_OP_COMPLETE 0x03
1936
1980
1937
1981
#define LE_SET_ADV_DATA_NO_FRAG 0x01
@@ -2043,6 +2087,49 @@ struct hci_cp_le_reject_cis {
2043
2087
__u8 reason ;
2044
2088
} __packed ;
2045
2089
2090
+ #define HCI_OP_LE_CREATE_BIG 0x2068
2091
+ struct hci_bis {
2092
+ __u8 sdu_interval [3 ];
2093
+ __le16 sdu ;
2094
+ __le16 latency ;
2095
+ __u8 rtn ;
2096
+ __u8 phy ;
2097
+ __u8 packing ;
2098
+ __u8 framing ;
2099
+ __u8 encryption ;
2100
+ __u8 bcode [16 ];
2101
+ } __packed ;
2102
+
2103
+ struct hci_cp_le_create_big {
2104
+ __u8 handle ;
2105
+ __u8 adv_handle ;
2106
+ __u8 num_bis ;
2107
+ struct hci_bis bis ;
2108
+ } __packed ;
2109
+
2110
+ #define HCI_OP_LE_TERM_BIG 0x206a
2111
+ struct hci_cp_le_term_big {
2112
+ __u8 handle ;
2113
+ __u8 reason ;
2114
+ } __packed ;
2115
+
2116
+ #define HCI_OP_LE_BIG_CREATE_SYNC 0x206b
2117
+ struct hci_cp_le_big_create_sync {
2118
+ __u8 handle ;
2119
+ __le16 sync_handle ;
2120
+ __u8 encryption ;
2121
+ __u8 bcode [16 ];
2122
+ __u8 mse ;
2123
+ __le16 timeout ;
2124
+ __u8 num_bis ;
2125
+ __u8 bis [0 ];
2126
+ } __packed ;
2127
+
2128
+ #define HCI_OP_LE_BIG_TERM_SYNC 0x206c
2129
+ struct hci_cp_le_big_term_sync {
2130
+ __u8 handle ;
2131
+ } __packed ;
2132
+
2046
2133
#define HCI_OP_LE_SETUP_ISO_PATH 0x206e
2047
2134
struct hci_cp_le_setup_iso_path {
2048
2135
__le16 handle ;
@@ -2595,6 +2682,18 @@ struct hci_ev_le_ext_adv_report {
2595
2682
struct hci_ev_le_ext_adv_info info [];
2596
2683
} __packed ;
2597
2684
2685
+ #define HCI_EV_LE_PA_SYNC_ESTABLISHED 0x0e
2686
+ struct hci_ev_le_pa_sync_established {
2687
+ __u8 status ;
2688
+ __le16 handle ;
2689
+ __u8 sid ;
2690
+ __u8 bdaddr_type ;
2691
+ bdaddr_t bdaddr ;
2692
+ __u8 phy ;
2693
+ __le16 interval ;
2694
+ __u8 clock_accuracy ;
2695
+ } __packed ;
2696
+
2598
2697
#define HCI_EV_LE_ENHANCED_CONN_COMPLETE 0x0a
2599
2698
struct hci_ev_le_enh_conn_complete {
2600
2699
__u8 status ;
@@ -2646,6 +2745,55 @@ struct hci_evt_le_cis_req {
2646
2745
__u8 cis_id ;
2647
2746
} __packed ;
2648
2747
2748
+ #define HCI_EVT_LE_CREATE_BIG_COMPLETE 0x1b
2749
+ struct hci_evt_le_create_big_complete {
2750
+ __u8 status ;
2751
+ __u8 handle ;
2752
+ __u8 sync_delay [3 ];
2753
+ __u8 transport_delay [3 ];
2754
+ __u8 phy ;
2755
+ __u8 nse ;
2756
+ __u8 bn ;
2757
+ __u8 pto ;
2758
+ __u8 irc ;
2759
+ __le16 max_pdu ;
2760
+ __le16 interval ;
2761
+ __u8 num_bis ;
2762
+ __le16 bis_handle [];
2763
+ } __packed ;
2764
+
2765
+ #define HCI_EVT_LE_BIG_SYNC_ESTABILISHED 0x1d
2766
+ struct hci_evt_le_big_sync_estabilished {
2767
+ __u8 status ;
2768
+ __u8 handle ;
2769
+ __u8 latency [3 ];
2770
+ __u8 nse ;
2771
+ __u8 bn ;
2772
+ __u8 pto ;
2773
+ __u8 irc ;
2774
+ __le16 max_pdu ;
2775
+ __le16 interval ;
2776
+ __u8 num_bis ;
2777
+ __le16 bis [];
2778
+ } __packed ;
2779
+
2780
+ #define HCI_EVT_LE_BIG_INFO_ADV_REPORT 0x22
2781
+ struct hci_evt_le_big_info_adv_report {
2782
+ __le16 sync_handle ;
2783
+ __u8 num_bis ;
2784
+ __u8 nse ;
2785
+ __le16 iso_interval ;
2786
+ __u8 bn ;
2787
+ __u8 pto ;
2788
+ __u8 irc ;
2789
+ __le16 max_pdu ;
2790
+ __u8 sdu_interval [3 ];
2791
+ __le16 max_sdu ;
2792
+ __u8 phy ;
2793
+ __u8 framing ;
2794
+ __u8 encryption ;
2795
+ } __packed ;
2796
+
2649
2797
#define HCI_EV_VENDOR 0xff
2650
2798
2651
2799
/* Internal events generated by Bluetooth stack */
0 commit comments