@@ -127,6 +127,67 @@ bool thread_neighbor_class_mleid_compare(thread_neighbor_class_t *class_ptr, uin
127
127
return true;
128
128
}
129
129
130
+ bool thread_neighbor_class_request_full_data_setup (thread_neighbor_class_t * class_ptr , uint8_t attribute_index )
131
+ {
132
+ thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
133
+ if (!entry ) {
134
+ return false;
135
+ }
136
+ return entry -> request_full_data_set ;
137
+
138
+ }
139
+
140
+ bool thread_neighbor_class_request_secured_data_request (thread_neighbor_class_t * class_ptr , uint8_t attribute_index )
141
+ {
142
+ thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
143
+ if (!entry ) {
144
+ return false;
145
+ }
146
+ return entry -> secured_data_request ;
147
+ }
148
+
149
+ void thread_neighbor_class_request_full_data_setup_set (thread_neighbor_class_t * class_ptr , uint8_t attribute_index , bool value )
150
+ {
151
+ thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
152
+ if (entry ) {
153
+ entry -> request_full_data_set = value ;
154
+ }
155
+ }
156
+
157
+ void thread_neighbor_class_request_secured_data_request_set (thread_neighbor_class_t * class_ptr , uint8_t attribute_index , bool value )
158
+ {
159
+ thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
160
+ if (entry ) {
161
+ entry -> secured_data_request = value ;
162
+ }
163
+ }
164
+
165
+ void thread_neighbor_class_mode_parse_to_entry (thread_neighbor_class_t * class_ptr , uint8_t attribute_index , uint8_t mode )
166
+ {
167
+ thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
168
+ if (entry ) {
169
+ entry -> request_full_data_set = mode & MLE_THREAD_REQ_FULL_DATA_SET ;
170
+ entry -> secured_data_request = mode & MLE_THREAD_SECURED_DATA_REQUEST ;
171
+ }
172
+ }
173
+
174
+ uint8_t thread_neighbor_class_mode_write_from_entry (thread_neighbor_class_t * class_ptr , uint8_t attribute_index )
175
+ {
176
+ uint8_t mode = 0 ;
177
+ thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
178
+ if (entry ) {
179
+ if (entry -> request_full_data_set ) {
180
+ mode |= MLE_THREAD_REQ_FULL_DATA_SET ;
181
+ }
182
+
183
+ if (entry -> secured_data_request ) {
184
+ mode |= MLE_THREAD_SECURED_DATA_REQUEST ;
185
+ }
186
+ }
187
+ return mode ;
188
+ }
189
+
190
+
130
191
void thread_neighbor_class_entry_remove (thread_neighbor_class_t * class_ptr , uint8_t attribute_index )
131
192
{
132
193
thread_neigh_table_entry_t * entry = thread_neighbor_class_table_entry_get (class_ptr ,attribute_index );
0 commit comments