Blob: prov.h
Blob id: c944663fa229a9b7c5d461bc692f35d5341ea77f
Size: 1.8 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 | /* SPDX-License-Identifier: LGPL-2.1-or-later */ /* * * BlueZ - Bluetooth protocol stack for Linux * * Copyright (C) 2018 Intel Corporation. All rights reserved. * * */ #ifndef __packed #define __packed __attribute__((packed)) #endif typedef void (*prov_trans_tx_t)(void *tx_data, const void *data, uint16_t len); typedef void (*mesh_prov_open_func_t)(void *user_data, prov_trans_tx_t trans_tx, void *trans_data, uint8_t trans_type); typedef void (*mesh_prov_close_func_t)(void *user_data, uint8_t reason); typedef void (*mesh_prov_ack_func_t)(void *user_data, uint8_t msg_num); typedef void (*mesh_prov_receive_func_t)(void *user_data, const void *data, uint16_t size); struct prov_invite { uint8_t attention; } __packed; struct prov_invite_msg { uint8_t opcode; struct prov_invite invite; } __packed; struct prov_start { uint8_t algorithm; uint8_t pub_key; uint8_t auth_method; uint8_t auth_action; uint8_t auth_size; } __packed; struct prov_caps_msg { uint8_t opcode; struct mesh_net_prov_caps caps; } __packed; struct prov_start_msg { uint8_t opcode; struct prov_start start; } __packed; struct prov_pub_key_msg { uint8_t opcode; uint8_t pub_key[64]; } __packed; struct prov_conf_msg { uint8_t opcode; uint8_t conf[16]; } __packed; struct prov_rand_msg { uint8_t opcode; uint8_t rand[16]; } __packed; struct prov_data { uint8_t net_key[16]; uint16_t net_idx; uint8_t flags; uint32_t iv_index; uint16_t primary; } __packed; struct prov_data_msg { uint8_t opcode; struct prov_data data; uint64_t mic; } __packed; struct prov_fail_msg { uint8_t opcode; uint8_t reason; } __packed; struct conf_input { struct prov_invite invite; struct mesh_net_prov_caps caps; struct prov_start start; uint8_t prv_pub_key[64]; uint8_t dev_pub_key[64]; } __packed; |