Lines Matching +defs:frame +defs:list

13  * this list of conditions and the following disclaimer.
16 * this list of conditions and the following disclaimer in the documentation
102 /** the list of accept sockets */
106 /* list of data */
108 /** next in list */
132 /** are we reading a control frame */
136 /** data of the frame */
137 uint8_t* frame;
138 /** length of this frame */
146 /** list of sockets */
148 /** next in list */
178 /** try to delete tail entries from the list if all of them have no data */
179 static void tap_data_list_try_to_free_tail(struct tap_data_list* list)
181 struct tap_data_list* current = list;
182 log_assert(!list->d);
183 if(!list->next) /* we are the last, we can't remove ourselves */
185 list = list->next;
186 while(list) {
187 if(list->d) /* a tail entry still has data; return */
189 list = list->next;
192 list = current->next;
195 while(list) {
196 current = list;
197 list = list->next;
216 free(data->frame);
241 static void tap_data_list_delete(struct tap_data_list* list)
243 struct tap_data_list* e = list, *next;
439 /** add tap socket to list */
453 /** delete the list */
454 static void tap_socket_list_delete(struct tap_socket_list* list)
456 struct tap_socket_list* e = list, *next;
468 static int tap_socket_list_addevs(struct tap_socket_list* list,
472 for(entry = list; entry; entry = entry->next) {
482 /** log control frame contents */
492 log_info("control frame %s", desc);
612 /** log data frame contents */
826 /** reply with ACCEPT control frame to bidirectional client,
863 if(verbosity) log_info("sent control frame(accept) content-type:(%s)",
876 /** reply with FINISH control frame to bidirectional client,
911 if(verbosity) log_info("sent control frame(finish)");
1077 /* it is a control frame */
1082 /* allocate frame size */
1083 data->frame = calloc(1, data->len);
1084 if(!data->frame) {
1094 ssize_t r = tap_receive(data, data->frame + data->data_done,
1110 /* we are done with a frame */
1115 log_control_frame(data->frame, data->len);
1116 else log_data_frame(data->frame, data->len);
1119 if(data->len >= 4 && sldns_read_uint32(data->frame) ==
1127 } else if(data->len >= 4 && sldns_read_uint32(data->frame) ==
1135 /* prepare for next frame */
1136 free(data->frame);
1137 data->frame = NULL;
1346 struct tap_data_list* list;
1357 list = socket->data_list;
1358 for(i=0; list; i++) list = list->next;
1362 list = socket->data_list;
1363 while(list->next) list = list->next;
1364 free(list->d);
1365 list->d = NULL;
1366 tap_data_list_try_to_free_tail(list);
1367 list = socket->data_list;
1368 for(i=0; list; i++) list = list->next;
1372 list = socket->data_list;
1373 for(i=0; i<unit_tap_datas_max-3; i++) list = list->next;
1374 free(list->d);
1375 list->d = NULL;
1376 tap_data_list_try_to_free_tail(list);
1377 list = socket->data_list;
1378 for(i=0; list; i++) list = list->next;
1383 list = socket->data_list;
1384 for(i=0; i<unit_tap_datas_max-2; i++) list = list->next;
1385 free(list->d);
1386 list->d = NULL;
1387 list = socket->data_list;
1388 while(list->d) list = list->next;
1389 tap_data_list_try_to_free_tail(list);
1390 list = socket->data_list;
1391 for(i=0; list; i++) list = list->next;
1396 list = socket->data_list;
1397 while(list) {
1398 free(list->d);
1399 list->d = NULL;
1400 list = list->next;
1403 list = socket->data_list;
1404 for(i=0; list; i++) list = list->next;
1420 list = socket->data_list;
1421 for(i=0; list; i++) list = list->next;
1425 list = socket->data_list;
1426 while(list->next) list = list->next;
1427 free(list->d);
1428 list->d = NULL;
1429 tap_data_list_try_to_free_tail(list);
1430 list = socket->data_list;
1431 for(i=0; list; i++) list = list->next;