1 /*
2  * Copyright (c) 2017 Intel Corporation
3  * Copyright (c) 2020 Lingao Meng
4  *
5  * SPDX-License-Identifier: Apache-2.0
6  */
7 
8 struct bt_mesh_rpl {
9 	uint64_t src:15,
10 		 old_iv:1,
11 		 seq:24,
12 		 /** Sequence authentication value for the previous segmented
13 		  *  message received from this address.
14 		  *
15 		  *  This value is used to manage the parallel RPL of the
16 		  *  SeqAuth values in transport.
17 		  */
18 		 seg:24;
19 };
20 
21 typedef void (*bt_mesh_rpl_func_t)(struct bt_mesh_rpl *rpl,
22 					void *user_data);
23 
24 void bt_mesh_rpl_reset(void);
25 bool bt_mesh_rpl_check(struct bt_mesh_net_rx *rx, struct bt_mesh_rpl **match, bool bridge);
26 void bt_mesh_rpl_clear(void);
27 void bt_mesh_rpl_update(struct bt_mesh_rpl *rpl,
28 			struct bt_mesh_net_rx *rx);
29 void bt_mesh_rpl_pending_store_all_nodes(void);
30