1 /* 2 * Copyright (C) 2021 The Android Open Source Project 3 * 4 * Copyright 2021 NXP. 5 * 6 * Licensed under the Apache License, Version 2.0 (the "License"); 7 * You may not use this file except in compliance with the License. 8 * You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, software 13 * distributed under the License is distributed on an "AS IS" BASIS, 14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 * See the License for the specific language governing permissions and 16 * limitations under the License. 17 */ 18 19 /****************************************************************************** 20 * 21 * defines UCI interface messages (for DH) 22 * 23 ******************************************************************************/ 24 #ifndef UWB_UCI_HMSGS_H 25 #define UWB_UCI_HMSGS_H 26 27 #include <stdbool.h> 28 29 #include "uci_defs.h" 30 #include "uwb_types.h" 31 32 uint8_t uci_snd_get_device_info_cmd(void); 33 uint8_t uci_snd_device_reset_cmd(uint8_t resetConfig); 34 uint8_t uci_snd_core_set_config_cmd(uint8_t* p_param_tlvs, uint8_t tlv_size); 35 uint8_t uci_snd_core_get_config_cmd(uint8_t* param_ids, uint8_t num_ids); 36 uint8_t uci_snd_core_get_device_capability(void); 37 uint8_t uci_snd_session_init_cmd(uint32_t session_id, uint8_t session_type); 38 uint8_t uci_snd_session_deinit_cmd(uint32_t session_id); 39 uint8_t uci_snd_get_session_count_cmd(void); 40 uint8_t uci_snd_get_range_count_cmd(uint32_t session_id); 41 uint8_t uci_snd_get_session_status_cmd(uint32_t session_id); 42 uint8_t uci_snd_multicast_list_update_cmd(uint32_t session_id, uint8_t action, 43 uint8_t noOfControlees, 44 uint16_t* shortAddressList, 45 uint32_t* subSessionIdList); 46 uint8_t uci_snd_set_country_code_cmd(uint8_t* country_code); 47 uint8_t uci_snd_app_get_config_cmd(uint32_t session_id, uint8_t num_ids, 48 uint8_t length, uint8_t* param_ids); 49 uint8_t uci_snd_app_set_config_cmd(uint32_t session_id, uint8_t num_ids, 50 uint8_t length, uint8_t* data); 51 uint8_t uci_snd_range_start_cmd(uint32_t session_id); 52 uint8_t uci_snd_range_stop_cmd(uint32_t session_id); 53 uint8_t uci_snd_blink_data_cmd(uint32_t session_id, uint8_t repetition_count, 54 uint8_t app_data_len, uint8_t* app_data); 55 56 /* APIs for UWB RF test functionality */ 57 uint8_t uci_snd_test_get_config_cmd(uint32_t session_id, uint8_t num_ids, 58 uint8_t length, uint8_t* param_ids); 59 uint8_t uci_snd_test_set_config_cmd(uint32_t session_id, uint8_t num_ids, 60 uint8_t length, uint8_t* data); 61 uint8_t uci_snd_test_periodic_tx_cmd(uint16_t length, uint8_t* data); 62 uint8_t uci_snd_test_per_rx_cmd(uint16_t length, uint8_t* data); 63 uint8_t uci_snd_test_uwb_loopback_cmd(uint16_t length, uint8_t* data); 64 uint8_t uci_snd_test_stop_session_cmd(void); 65 uint8_t uci_snd_test_rx_cmd(void); 66 67 extern void uci_proc_session_management_rsp(uint8_t op_code, uint8_t* p_buf, 68 uint16_t len); 69 extern void uci_proc_session_management_ntf(uint8_t op_code, uint8_t* p_buf, 70 uint16_t len); 71 extern void uci_proc_device_management_ntf(uint8_t op_code, uint8_t* p_buf, 72 uint16_t len); 73 extern void uci_proc_core_management_ntf(uint8_t op_code, uint8_t* p_buf, 74 uint16_t len); 75 extern void uci_proc_rang_management_rsp(uint8_t op_code, uint8_t* p_buf, 76 uint16_t len); 77 extern void uci_proc_rang_management_ntf(uint8_t op_code, uint8_t* p_buf, 78 uint16_t len); 79 extern void uci_proc_android_rsp(uint8_t op_code, uint8_t* p_buf, uint16_t len); 80 extern void uci_proc_test_management_ntf(uint8_t op_code, uint8_t* p_buf, 81 uint16_t len); 82 extern void uci_proc_test_management_rsp(uint8_t op_code, uint8_t* p_buf, 83 uint16_t len); 84 extern void uci_proc_raw_cmd_rsp(uint8_t* p_buf, uint16_t len); 85 86 87 extern void uci_proc_vendor_specific_ntf(uint8_t gid, uint8_t* p_buf, uint16_t len); 88 #endif /* UWB_UCI_MSGS_H */ 89