CLEANUP: lists/tree-wide: rename some list operations to avoid some confusion

The current "ADD" vs "ADDQ" is confusing because when thinking in terms
of appending at the end of a list, "ADD" naturally comes to mind, but
here it does the opposite, it inserts. Several times already it's been
incorrectly used where ADDQ was expected, the latest of which was a
fortunate accident explained in 6fa922562 ("CLEANUP: stream: explain
why we queue the stream at the head of the server list").

Let's use more explicit (but slightly longer) names now:

   LIST_ADD        ->       LIST_INSERT
   LIST_ADDQ       ->       LIST_APPEND
   LIST_ADDED      ->       LIST_INLIST
   LIST_DEL        ->       LIST_DELETE

The same is true for MT_LISTs, including their "TRY" variant.
LIST_DEL_INIT keeps its short name to encourage to use it instead of the
lazier LIST_DELETE which is often less safe.

The change is large (~674 non-comment entries) but is mechanical enough
to remain safe. No permutation was performed, so any out-of-tree code
can easily map older names to new ones.

The list doc was updated.
diff --git a/src/acl.c b/src/acl.c
index 655f9f4..193788c 100644
--- a/src/acl.c
+++ b/src/acl.c
@@ -49,7 +49,7 @@
  */
 void acl_register_keywords(struct acl_kw_list *kwl)
 {
-	LIST_ADDQ(&acl_keywords.list, &kwl->list);
+	LIST_APPEND(&acl_keywords.list, &kwl->list);
 }
 
 /*
@@ -57,7 +57,7 @@
  */
 void acl_unregister_keywords(struct acl_kw_list *kwl)
 {
-	LIST_DEL(&kwl->list);
+	LIST_DELETE(&kwl->list);
 	LIST_INIT(&kwl->list);
 }
 
@@ -278,7 +278,7 @@
 			if (!conv_expr)
 				goto out_free_smp;
 
-			LIST_ADDQ(&(smp->conv_exprs), &(conv_expr->list));
+			LIST_APPEND(&(smp->conv_exprs), &(conv_expr->list));
 			conv_expr->conv = conv;
 			acl_conv_found = 1;
 
@@ -653,7 +653,7 @@
 	free(acl->name);
 
 	list_for_each_entry_safe(expr, exprb, &acl->expr, list) {
-		LIST_DEL(&expr->list);
+		LIST_DELETE(&expr->list);
 		prune_acl_expr(expr);
 		free(expr);
 	}
@@ -721,7 +721,7 @@
 		}
 
 		LIST_INIT(&cur_acl->expr);
-		LIST_ADDQ(known_acl, &cur_acl->list);
+		LIST_APPEND(known_acl, &cur_acl->list);
 		cur_acl->name = name;
 	}
 
@@ -731,7 +731,7 @@
 	 */
 	cur_acl->use |= acl_expr->smp->fetch->use;
 	cur_acl->val |= acl_expr->smp->fetch->val;
-	LIST_ADDQ(&cur_acl->expr, &acl_expr->list);
+	LIST_APPEND(&cur_acl->expr, &acl_expr->list);
 	return cur_acl;
 
  out_free_name:
@@ -824,9 +824,9 @@
 	cur_acl->use |= acl_expr->smp->fetch->use;
 	cur_acl->val |= acl_expr->smp->fetch->val;
 	LIST_INIT(&cur_acl->expr);
-	LIST_ADDQ(&cur_acl->expr, &acl_expr->list);
+	LIST_APPEND(&cur_acl->expr, &acl_expr->list);
 	if (known_acl)
-		LIST_ADDQ(known_acl, &cur_acl->list);
+		LIST_APPEND(known_acl, &cur_acl->list);
 
 	return cur_acl;
 
@@ -990,9 +990,9 @@
 				goto out_free_term;
 			}
 			LIST_INIT(&cur_suite->terms);
-			LIST_ADDQ(&cond->suites, &cur_suite->list);
+			LIST_APPEND(&cond->suites, &cur_suite->list);
 		}
-		LIST_ADDQ(&cur_suite->terms, &cur_term->list);
+		LIST_APPEND(&cur_suite->terms, &cur_term->list);
 		neg = 0;
 	}
 
@@ -1313,10 +1313,10 @@
 
 	list_for_each_entry_safe(suite, suiteb, &cond->suites, list) {
 		list_for_each_entry_safe(term, termb, &suite->terms, list) {
-			LIST_DEL(&term->list);
+			LIST_DELETE(&term->list);
 			free(term);
 		}
-		LIST_DEL(&suite->list);
+		LIST_DELETE(&suite->list);
 		free(suite);
 	}
 
diff --git a/src/action.c b/src/action.c
index b9d12c0..5e430f2 100644
--- a/src/action.c
+++ b/src/action.c
@@ -289,7 +289,7 @@
 	struct act_rule *rule, *ruleb;
 
 	list_for_each_entry_safe(rule, ruleb, rules, list) {
-		LIST_DEL(&rule->list);
+		LIST_DELETE(&rule->list);
 		free_acl_cond(rule->cond);
 		if (rule->release_ptr)
 			rule->release_ptr(rule);
diff --git a/src/arg.c b/src/arg.c
index 31e7e02..8b3dccf 100644
--- a/src/arg.c
+++ b/src/arg.c
@@ -78,7 +78,7 @@
 	if (new) {
 		new->arg = arg;
 		new->arg_pos = pos;
-		LIST_ADDQ(&orig->list, &new->list);
+		LIST_APPEND(&orig->list, &new->list);
 	}
 	return new;
 }
diff --git a/src/backend.c b/src/backend.c
index fe9bda5..8b06ddb 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -1472,7 +1472,7 @@
 				if (tokill_conn) {
 					/* We got one, put it into the concerned thread's to kill list, and wake it's kill task */
 
-					MT_LIST_ADDQ(&idle_conns[i].toremove_conns,
+					MT_LIST_APPEND(&idle_conns[i].toremove_conns,
 					    (struct mt_list *)&tokill_conn->toremove_list);
 					task_wakeup(idle_conns[i].cleanup_task, TASK_WOKEN_OTHER);
 					break;
diff --git a/src/cache.c b/src/cache.c
index 0eb6a88..b9080d4 100644
--- a/src/cache.c
+++ b/src/cache.c
@@ -1581,7 +1581,7 @@
 	fconf->id = cache_store_flt_id;
 	fconf->conf = cconf;
 	fconf->ops  = &cache_ops;
-	LIST_ADDQ(&proxy->filter_configs, &fconf->list);
+	LIST_APPEND(&proxy->filter_configs, &fconf->list);
 
 	rule->arg.act.p[0] = cconf;
 	return 1;
@@ -2052,7 +2052,7 @@
 		/* add to the list of cache to init and reinit tmp_cache_config
 		 * for next cache section, if any.
 		 */
-		LIST_ADDQ(&caches_config, &tmp_cache_config->list);
+		LIST_APPEND(&caches_config, &tmp_cache_config->list);
 		tmp_cache_config = NULL;
 		return err_code;
 	}
@@ -2091,8 +2091,8 @@
 		memcpy(shctx->data, cache_config, sizeof(struct cache));
 		cache = (struct cache *)shctx->data;
 		cache->entries = EB_ROOT;
-		LIST_ADDQ(&caches, &cache->list);
-		LIST_DEL(&cache_config->list);
+		LIST_APPEND(&caches, &cache->list);
+		LIST_DELETE(&cache_config->list);
 		free(cache_config);
 
 		/* Find all references for this cache in the existing filters
@@ -2511,7 +2511,7 @@
 		}
 
 		/* Remove the implicit filter. <cconf> is kept for the explicit one */
-		LIST_DEL(&f->list);
+		LIST_DELETE(&f->list);
 		free(f);
 		free(name);
 		break;
diff --git a/src/cfgparse-listen.c b/src/cfgparse-listen.c
index b2c81da..8a81b44 100644
--- a/src/cfgparse-listen.c
+++ b/src/cfgparse-listen.c
@@ -1216,7 +1216,7 @@
 	                                          (curproxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR,
 	                                          file, linenum);
 
-		LIST_ADDQ(&curproxy->http_req_rules, &rule->list);
+		LIST_APPEND(&curproxy->http_req_rules, &rule->list);
 	}
 	else if (strcmp(args[0], "http-response") == 0) {	/* response access control */
 		struct act_rule *rule;
@@ -1246,7 +1246,7 @@
 	                                          (curproxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR,
 	                                          file, linenum);
 
-		LIST_ADDQ(&curproxy->http_res_rules, &rule->list);
+		LIST_APPEND(&curproxy->http_res_rules, &rule->list);
 	}
 	else if (strcmp(args[0], "http-after-response") == 0) {
 		struct act_rule *rule;
@@ -1276,7 +1276,7 @@
 	                                          (curproxy->cap & PR_CAP_BE) ? SMP_VAL_BE_HRS_HDR : SMP_VAL_FE_HRS_HDR,
 	                                          file, linenum);
 
-		LIST_ADDQ(&curproxy->http_after_res_rules, &rule->list);
+		LIST_APPEND(&curproxy->http_after_res_rules, &rule->list);
 	}
 	else if (strcmp(args[0], "http-send-name-header") == 0) { /* send server name in request header */
 		/* set the header name and length into the proxy structure */
@@ -1320,7 +1320,7 @@
 			goto out;
 		}
 
-		LIST_ADDQ(&curproxy->redirect_rules, &rule->list);
+		LIST_APPEND(&curproxy->redirect_rules, &rule->list);
 		err_code |= warnif_misplaced_redirect(curproxy, file, linenum, args[0]);
 		err_code |= warnif_cond_conflicts(rule->cond,
 	                                          (curproxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR,
@@ -1381,7 +1381,7 @@
 			goto alloc_error;
 		}
 		LIST_INIT(&rule->list);
-		LIST_ADDQ(&curproxy->switching_rules, &rule->list);
+		LIST_APPEND(&curproxy->switching_rules, &rule->list);
 	}
 	else if (strcmp(args[0], "use-server") == 0) {
 		struct server_rule *rule;
@@ -1437,7 +1437,7 @@
 			goto alloc_error;
 		}
 		LIST_INIT(&rule->list);
-		LIST_ADDQ(&curproxy->server_rules, &rule->list);
+		LIST_APPEND(&curproxy->server_rules, &rule->list);
 		curproxy->be_req_ana |= AN_REQ_SRV_RULES;
 	}
 	else if ((strcmp(args[0], "force-persist") == 0) ||
@@ -1486,7 +1486,7 @@
 			rule->type = PERSIST_TYPE_IGNORE;
 		}
 		LIST_INIT(&rule->list);
-		LIST_ADDQ(&curproxy->persist_rules, &rule->list);
+		LIST_APPEND(&curproxy->persist_rules, &rule->list);
 	}
 	else if (strcmp(args[0], "stick-table") == 0) {
 		struct stktable *other;
@@ -1653,9 +1653,9 @@
 		rule->table.name = name ? strdup(name) : NULL;
 		LIST_INIT(&rule->list);
 		if (flags & STK_ON_RSP)
-			LIST_ADDQ(&curproxy->storersp_rules, &rule->list);
+			LIST_APPEND(&curproxy->storersp_rules, &rule->list);
 		else
-			LIST_ADDQ(&curproxy->sticking_rules, &rule->list);
+			LIST_APPEND(&curproxy->sticking_rules, &rule->list);
 	}
 	else if (strcmp(args[0], "stats") == 0) {
 		if (!(curproxy->cap & PR_CAP_DEF) && curproxy->uri_auth == curr_defproxy->uri_auth)
@@ -1701,7 +1701,7 @@
 			}
 			rule->cond = cond;
 			LIST_INIT(&rule->list);
-			LIST_ADDQ(&curproxy->uri_auth->admin_rules, &rule->list);
+			LIST_APPEND(&curproxy->uri_auth->admin_rules, &rule->list);
 		} else if (strcmp(args[1], "uri") == 0) {
 			if (*(args[2]) == 0) {
 				ha_alert("parsing [%s:%d] : 'uri' needs an URI prefix.\n", file, linenum);
@@ -1768,7 +1768,7 @@
 			err_code |= warnif_cond_conflicts(rule->cond,
 			                                  (curproxy->cap & PR_CAP_FE) ? SMP_VAL_FE_HRQ_HDR : SMP_VAL_BE_HRQ_HDR,
 			                                  file, linenum);
-			LIST_ADDQ(&curproxy->uri_auth->http_req_rules, &rule->list);
+			LIST_APPEND(&curproxy->uri_auth->http_req_rules, &rule->list);
 
 		} else if (strcmp(args[1], "auth") == 0) {
 			if (*(args[2]) == 0) {
@@ -2418,7 +2418,7 @@
 				err_code |= ERR_ALERT | ERR_FATAL;
 				goto out;
 			}
-			LIST_ADDQ(&curproxy->mon_fail_cond, &cond->list);
+			LIST_APPEND(&curproxy->mon_fail_cond, &cond->list);
 		}
 		else {
 			ha_alert("parsing [%s:%d] : '%s' only supports 'fail'.\n", file, linenum, args[0]);
diff --git a/src/cfgparse-ssl.c b/src/cfgparse-ssl.c
index 7d14fa0..0a90da7 100644
--- a/src/cfgparse-ssl.c
+++ b/src/cfgparse-ssl.c
@@ -1181,7 +1181,7 @@
 	HA_RWLOCK_INIT(&keys_ref->lock);
 	conf->keys_ref = keys_ref;
 
-	LIST_ADD(&tlskeys_reference, &keys_ref->list);
+	LIST_INSERT(&tlskeys_reference, &keys_ref->list);
 
 	return 0;
 
diff --git a/src/cfgparse.c b/src/cfgparse.c
index 47f04e5..c6a93ee 100644
--- a/src/cfgparse.c
+++ b/src/cfgparse.c
@@ -2372,7 +2372,7 @@
 				/* Only one element in the list, a simple string: free the expression and
 				 * fall back to static rule
 				 */
-				LIST_DEL(&node->list);
+				LIST_DELETE(&node->list);
 				free(node->arg);
 				free(node);
 			}
@@ -2437,7 +2437,7 @@
 				/* Only one element in the list, a simple string: free the expression and
 				 * fall back to static rule
 				 */
-				LIST_DEL(&node->list);
+				LIST_DELETE(&node->list);
 				free(node->arg);
 				free(node);
 			}
@@ -2643,7 +2643,7 @@
 				break;
 			}
 
-			LIST_ADDQ(&curproxy->uri_auth->http_req_rules, &rule->list);
+			LIST_APPEND(&curproxy->uri_auth->http_req_rules, &rule->list);
 
 			if (curproxy->uri_auth->auth_realm) {
 				ha_free(&curproxy->uri_auth->auth_realm);
@@ -3766,7 +3766,7 @@
  */
 void cfg_register_keywords(struct cfg_kw_list *kwl)
 {
-	LIST_ADDQ(&cfg_keywords.list, &kwl->list);
+	LIST_APPEND(&cfg_keywords.list, &kwl->list);
 }
 
 /*
@@ -3774,7 +3774,7 @@
  */
 void cfg_unregister_keywords(struct cfg_kw_list *kwl)
 {
-	LIST_DEL(&kwl->list);
+	LIST_DELETE(&kwl->list);
 	LIST_INIT(&kwl->list);
 }
 
@@ -3806,7 +3806,7 @@
 	cs->section_parser = section_parser;
 	cs->post_section_parser = post_section_parser;
 
-	LIST_ADDQ(&sections, &cs->list);
+	LIST_APPEND(&sections, &cs->list);
 
 	return 1;
 }
@@ -3827,7 +3827,7 @@
 	cp->name = name;
 	cp->func = func;
 
-	LIST_ADDQ(&postparsers, &cp->list);
+	LIST_APPEND(&postparsers, &cp->list);
 
 	return 1;
 }
@@ -3840,7 +3840,7 @@
 	struct cfg_section *cs, *ics;
 
 	list_for_each_entry_safe(cs, ics, &sections, list) {
-		LIST_DEL(&cs->list);
+		LIST_DELETE(&cs->list);
 		free(cs);
 	}
 }
@@ -3850,8 +3850,8 @@
 	struct cfg_section *cs, *ics;
 
 	list_for_each_entry_safe(cs, ics, &sections, list) {
-		LIST_DEL(&cs->list);
-		LIST_ADDQ(backup_sections, &cs->list);
+		LIST_DELETE(&cs->list);
+		LIST_APPEND(backup_sections, &cs->list);
 	}
 }
 
@@ -3860,8 +3860,8 @@
 	struct cfg_section *cs, *ics;
 
 	list_for_each_entry_safe(cs, ics, backup_sections, list) {
-		LIST_DEL(&cs->list);
-		LIST_ADDQ(&sections, &cs->list);
+		LIST_DELETE(&cs->list);
+		LIST_APPEND(&sections, &cs->list);
 	}
 }
 
diff --git a/src/check.c b/src/check.c
index e3778ea..ee225a2 100644
--- a/src/check.c
+++ b/src/check.c
@@ -1273,11 +1273,11 @@
 {
 	struct buffer *buf = NULL;
 
-	if (likely(!LIST_ADDED(&check->buf_wait.list)) &&
+	if (likely(!LIST_INLIST(&check->buf_wait.list)) &&
 	    unlikely((buf = b_alloc(bptr)) == NULL)) {
 		check->buf_wait.target = check;
 		check->buf_wait.wakeup_cb = check_buf_available;
-		LIST_ADDQ(&ti->buffer_wq, &check->buf_wait.list);
+		LIST_APPEND(&ti->buffer_wq, &check->buf_wait.list);
 	}
 	return buf;
 }
@@ -1701,7 +1701,7 @@
 		}
 		chk->action = TCPCHK_ACT_CONNECT;
 		chk->connect.options = (TCPCHK_OPT_DEFAULT_CONNECT|TCPCHK_OPT_IMPLICIT);
-		LIST_ADD(srv->agent.tcpcheck_rules->list, &chk->list);
+		LIST_INSERT(srv->agent.tcpcheck_rules->list, &chk->list);
 	}
 
 
@@ -1874,7 +1874,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "custom", ""},
 		                    1, curpx, &rs->rules, TCPCHK_RULES_AGENT_CHK,
@@ -1885,7 +1885,7 @@
 	}
 	chk->expect.custom = tcpcheck_agent_expect_reply;
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -1986,7 +1986,7 @@
 	var->data.u.str.area = str;
 	var->data.u.str.data = strlen(str);
 	LIST_INIT(&var->list);
-	LIST_ADDQ(&rules->preset_vars, &var->list);
+	LIST_APPEND(&rules->preset_vars, &var->list);
 
 	return 1;
 
diff --git a/src/cli.c b/src/cli.c
index 13603df..162daa6 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -338,7 +338,7 @@
 
 void cli_register_kw(struct cli_kw_list *kw_list)
 {
-	LIST_ADDQ(&cli_keywords.list, &kw_list->list);
+	LIST_APPEND(&cli_keywords.list, &kw_list->list);
 }
 
 
diff --git a/src/dns.c b/src/dns.c
index 5e991fe..a6b8fa7 100644
--- a/src/dns.c
+++ b/src/dns.c
@@ -206,13 +206,13 @@
 					 * so we can add if to free_sess list
 					 * to receive a new request
 					*/
-					LIST_ADD(&ds->dss->free_sess, &ds->list);
+					LIST_INSERT(&ds->dss->free_sess, &ds->list);
 				}
 				else {
 					/* there is no more pipelined requests
 					 * into this session, so we move it
 					 * to idle_sess list */
-					LIST_ADD(&ds->dss->idle_sess, &ds->list);
+					LIST_INSERT(&ds->dss->idle_sess, &ds->list);
 
 					/* update the counter of idle sessions */
 					ds->dss->idle_conns++;
@@ -548,7 +548,7 @@
 						 * to destroy the task */
 						task_queue(ds->task_exp);
 					}
-					LIST_ADDQ(&ds->queries, &query->list);
+					LIST_APPEND(&ds->queries, &query->list);
 					eb32_insert(&ds->query_ids, &query->qid);
 					ds->onfly_queries++;
 				}
@@ -613,7 +613,7 @@
 	if (ret) {
 		/* let's be woken up once new request to write arrived */
 		HA_RWLOCK_WRLOCK(DNS_LOCK, &ring->lock);
-		LIST_ADDQ(&ring->waiters, &appctx->wait_entry);
+		LIST_APPEND(&ring->waiters, &appctx->wait_entry);
 		HA_RWLOCK_WRUNLOCK(DNS_LOCK, &ring->lock);
 		si_rx_endp_done(si);
 	}
@@ -626,7 +626,7 @@
 	 * delete from the list
 	 */
 	__ha_barrier_load();
-	if (!LIST_ADDED(&ds->waiter)) {
+	if (!LIST_INLIST(&ds->waiter)) {
 		while (1) {
 			uint16_t query_id;
 			struct eb32_node *eb;
@@ -697,7 +697,7 @@
 
 			/* remove query ids mapping from pending queries list/tree */
 			eb32_delete(&query->qid);
-			LIST_DEL(&query->list);
+			LIST_DELETE(&query->list);
 			pool_free(dns_query_pool, query);
 			ds->onfly_queries--;
 
@@ -708,7 +708,7 @@
 			 * wait_sess list where the task processing
 			 * response will pop available responses
 			 */
-			LIST_ADDQ(&ds->dss->wait_sess, &ds->waiter);
+			LIST_APPEND(&ds->dss->wait_sess, &ds->waiter);
 
 			/* lock the dns_stream_server containing lists heads */
 			HA_SPIN_UNLOCK(DNS_LOCK, &ds->dss->lock);
@@ -719,7 +719,7 @@
 			break;
 		}
 
-		if (!LIST_ADDED(&ds->waiter)) {
+		if (!LIST_INLIST(&ds->waiter)) {
 			/* there is no more pending data to read and the con was closed by the server side */
 			if (!co_data(si_oc(si)) && (si_oc(si)->flags & CF_SHUTW)) {
 				goto close;
@@ -742,7 +742,7 @@
 
 	list_for_each_entry_safe(query, queryb, &ds->queries, list) {
 		eb32_delete(&query->qid);
-		LIST_DEL(&query->list);
+		LIST_DELETE(&query->list);
 		pool_free(dns_query_pool, query);
 	}
 }
@@ -824,7 +824,7 @@
 	 * message offsets if the session
 	 * was closed with an incomplete pending response
 	 */
-	if (!LIST_ADDED(&ds->waiter))
+	if (!LIST_INLIST(&ds->waiter))
 		ds->rx_msg.len = ds->rx_msg.offset = 0;
 
 	/* we flush pending sent queries because we never
@@ -850,7 +850,7 @@
 	}
 
 	if (ds->nb_queries < DNS_STREAM_MAX_PIPELINED_REQ)
-		LIST_ADD(&ds->dss->free_sess, &ds->list);
+		LIST_INSERT(&ds->dss->free_sess, &ds->list);
 
 	HA_SPIN_UNLOCK(DNS_LOCK, &dss->lock);
 }
@@ -912,7 +912,7 @@
 
 	/* Error unrolling */
  out_free_strm:
-	LIST_DEL(&s->list);
+	LIST_DELETE(&s->list);
 	pool_free(pool_head_stream, s);
  out_free_sess:
 	session_free(sess);
@@ -935,7 +935,7 @@
 	list_for_each_entry_safe(query, queryb, &ds->queries, list) {
 		if (tick_is_expired(query->expire, now_ms)) {
 			eb32_delete(&query->qid);
-			LIST_DEL(&query->list);
+			LIST_DELETE(&query->list);
 			pool_free(dns_query_pool, query);
 			ds->onfly_queries--;
 		}
@@ -1130,7 +1130,7 @@
 				 * it may be close to be full so we put it at the end
 				 * of free conn list */
 				LIST_DEL_INIT(&ds->list);
-				LIST_ADDQ(&dss->free_sess, &ds->list);
+				LIST_APPEND(&dss->free_sess, &ds->list);
 			}
 		}
 
@@ -1154,7 +1154,7 @@
 				 * this request, this request may be large and fill
 				 * the ring buffer so we prefer to put at the end of free
 				 * list. */
-				LIST_ADDQ(&dss->free_sess, &ds->list);
+				LIST_APPEND(&dss->free_sess, &ds->list);
 				ads = ds;
 			}
 		}
@@ -1167,7 +1167,7 @@
 				/* ring is empty so this ring_write should never fail */
 				ring_write(&ads->ring, DNS_TCP_MSG_MAX_SIZE, NULL, 0, &myist, 1);
 				ads->nb_queries++;
-				LIST_ADD(&dss->free_sess, &ads->list);
+				LIST_INSERT(&dss->free_sess, &ads->list);
 			}
 			else
 				ns->counters->snd_error++;
diff --git a/src/extcheck.c b/src/extcheck.c
index 808b4bb..aa342fc 100644
--- a/src/extcheck.c
+++ b/src/extcheck.c
@@ -124,7 +124,7 @@
 	LIST_INIT(&elem->list);
 
 	HA_SPIN_LOCK(PID_LIST_LOCK, &pid_list_lock);
-	LIST_ADD(&pid_list, &elem->list);
+	LIST_INSERT(&pid_list, &elem->list);
 	HA_SPIN_UNLOCK(PID_LIST_LOCK, &pid_list_lock);
 
 	return elem;
@@ -138,7 +138,7 @@
 		return;
 
 	HA_SPIN_LOCK(PID_LIST_LOCK, &pid_list_lock);
-	LIST_DEL(&elem->list);
+	LIST_DELETE(&elem->list);
 	HA_SPIN_UNLOCK(PID_LIST_LOCK, &pid_list_lock);
 
 	if (!elem->exited)
diff --git a/src/fcgi-app.c b/src/fcgi-app.c
index 2398709..6dca3ec 100644
--- a/src/fcgi-app.c
+++ b/src/fcgi-app.c
@@ -141,7 +141,7 @@
 		struct logformat_node *lf, *lfb;
 
 		list_for_each_entry_safe(lf, lfb, &rule->value, list) {
-			LIST_DEL(&lf->list);
+			LIST_DELETE(&lf->list);
 			release_sample_expr(lf->expr);
 			free(lf->arg);
 			free(lf);
@@ -205,12 +205,12 @@
 	free(fcgi_conf->name);
 
 	list_for_each_entry_safe(rule, back, &fcgi_conf->param_rules, list) {
-		LIST_DEL(&rule->list);
+		LIST_DELETE(&rule->list);
 		fcgi_release_rule(rule);
 	}
 
 	list_for_each_entry_safe(rule, back, &fcgi_conf->hdr_rules, list) {
-		LIST_DEL(&rule->list);
+		LIST_DELETE(&rule->list);
 		fcgi_release_rule(rule);
 	}
 
@@ -270,9 +270,9 @@
 		}
 
 		if (rule->type == FCGI_RULE_SET_PARAM || rule->type == FCGI_RULE_UNSET_PARAM)
-			LIST_ADDQ(&fcgi_conf->param_rules, &rule->list);
+			LIST_APPEND(&fcgi_conf->param_rules, &rule->list);
 		else /* FCGI_RULE_PASS_HDR/FCGI_RULE_HIDE_HDR */
-			LIST_ADDQ(&fcgi_conf->hdr_rules, &rule->list);
+			LIST_APPEND(&fcgi_conf->hdr_rules, &rule->list);
 		rule = NULL;
 	}
 	return 0;
@@ -549,7 +549,7 @@
 		}
 
 		/* Place the filter at its right position */
-		LIST_DEL(&f->list);
+		LIST_DELETE(&f->list);
 		free(f);
 		ha_free(&name);
 		break;
@@ -627,7 +627,7 @@
 	fconf->id = fcgi_flt_id;
 	fconf->conf = fcgi_conf;
 	fconf->ops  = &fcgi_flt_ops;
-	LIST_ADDQ(&curpx->filter_configs, &fconf->list);
+	LIST_APPEND(&curpx->filter_configs, &fconf->list);
 
   end:
 	return retval;
@@ -743,7 +743,7 @@
 			goto err;
 	}
 	rule->cond = cond;
-	LIST_ADDQ(&curapp->conf.rules, &rule->list);
+	LIST_APPEND(&curapp->conf.rules, &rule->list);
 	return 1;
 
   err:
@@ -1090,12 +1090,12 @@
 		free(curapp->conf.file);
 
 		list_for_each_entry_safe(log, logb, &curapp->logsrvs, list) {
-			LIST_DEL(&log->list);
+			LIST_DELETE(&log->list);
 			free(log);
 		}
 
 		list_for_each_entry_safe(rule, back, &curapp->conf.rules, list) {
-			LIST_DEL(&rule->list);
+			LIST_DELETE(&rule->list);
 			fcgi_release_rule_conf(rule);
 		}
 
diff --git a/src/filters.c b/src/filters.c
index 859092b..2075bee 100644
--- a/src/filters.c
+++ b/src/filters.c
@@ -89,7 +89,7 @@
 void
 flt_register_keywords(struct flt_kw_list *kwl)
 {
-	LIST_ADDQ(&flt_keywords.list, &kwl->list);
+	LIST_APPEND(&flt_keywords.list, &kwl->list);
 }
 
 /*
@@ -238,7 +238,7 @@
 			goto error;
 		}
 
-		LIST_ADDQ(&curpx->filter_configs, &fconf->list);
+		LIST_APPEND(&curpx->filter_configs, &fconf->list);
 	}
 	return 0;
 
@@ -358,7 +358,7 @@
 	list_for_each_entry_safe(fconf, back, &proxy->filter_configs, list) {
 		if (fconf->ops->deinit)
 			fconf->ops->deinit(proxy, fconf);
-		LIST_DEL(&fconf->list);
+		LIST_DELETE(&fconf->list);
 		free(fconf);
 	}
 }
@@ -412,7 +412,7 @@
 		}
 	}
 
-	LIST_ADDQ(&strm_flt(s)->filters, &f->list);
+	LIST_APPEND(&strm_flt(s)->filters, &f->list);
 	strm_flt(s)->flags |= STRM_FLT_FL_HAS_FILTERS;
 	return 0;
 }
@@ -450,7 +450,7 @@
 		if (!only_backend || (filter->flags & FLT_FL_IS_BACKEND_FILTER)) {
 			if (FLT_OPS(filter)->detach)
 				FLT_OPS(filter)->detach(s, filter);
-			LIST_DEL(&filter->list);
+			LIST_DELETE(&filter->list);
 			pool_free(pool_head_filter, filter);
 		}
 	}
diff --git a/src/flt_http_comp.c b/src/flt_http_comp.c
index 99718e3..c212b9c 100644
--- a/src/flt_http_comp.c
+++ b/src/flt_http_comp.c
@@ -753,7 +753,7 @@
 	fconf->id   = http_comp_flt_id;
 	fconf->conf = NULL;
 	fconf->ops  = &comp_ops;
-	LIST_ADDQ(&proxy->filter_configs, &fconf->list);
+	LIST_APPEND(&proxy->filter_configs, &fconf->list);
  end:
 	return err;
 }
diff --git a/src/flt_spoe.c b/src/flt_spoe.c
index ce55483..7749cc9 100644
--- a/src/flt_spoe.c
+++ b/src/flt_spoe.c
@@ -128,11 +128,11 @@
 	list_for_each_entry_safe(arg, argback, &msg->args, list) {
 		release_sample_expr(arg->expr);
 		free(arg->name);
-		LIST_DEL(&arg->list);
+		LIST_DELETE(&arg->list);
 		free(arg);
 	}
 	list_for_each_entry_safe(acl, aclback, &msg->acls, list) {
-		LIST_DEL(&acl->list);
+		LIST_DELETE(&acl->list);
 		prune_acl(acl);
 		free(acl);
 	}
@@ -169,11 +169,11 @@
 	free(agent->var_t_process);
 	free(agent->var_t_total);
 	list_for_each_entry_safe(msg, msgback, &agent->messages, list) {
-		LIST_DEL(&msg->list);
+		LIST_DELETE(&msg->list);
 		spoe_release_message(msg);
 	}
 	list_for_each_entry_safe(grp, grpback, &agent->groups, list) {
-		LIST_DEL(&grp->list);
+		LIST_DELETE(&grp->list);
 		spoe_release_group(grp);
 	}
 	if (agent->rt) {
@@ -1233,7 +1233,7 @@
 	_HA_ATOMIC_DEC(&agent->counters.applets);
 	HA_SPIN_LOCK(SPOE_APPLET_LOCK, &agent->rt[tid].lock);
 	if (!LIST_ISEMPTY(&spoe_appctx->list)) {
-		LIST_DEL(&spoe_appctx->list);
+		LIST_DELETE(&spoe_appctx->list);
 		LIST_INIT(&spoe_appctx->list);
 	}
 	HA_SPIN_UNLOCK(SPOE_APPLET_LOCK, &agent->rt[tid].lock);
@@ -1259,7 +1259,7 @@
 
 	/* Notify all waiting streams */
 	list_for_each_entry_safe(ctx, back, &spoe_appctx->waiting_queue, list) {
-		LIST_DEL(&ctx->list);
+		LIST_DELETE(&ctx->list);
 		LIST_INIT(&ctx->list);
 		_HA_ATOMIC_DEC(&agent->counters.nb_waiting);
 		spoe_update_stat_time(&ctx->stats.tv_wait, &ctx->stats.t_waiting);
@@ -1289,7 +1289,7 @@
 
 	/* If this was the last running applet, notify all waiting streams */
 	list_for_each_entry_safe(ctx, back, &agent->rt[tid].sending_queue, list) {
-		LIST_DEL(&ctx->list);
+		LIST_DELETE(&ctx->list);
 		LIST_INIT(&ctx->list);
 		_HA_ATOMIC_DEC(&agent->counters.nb_sending);
 		spoe_update_stat_time(&ctx->stats.tv_queue, &ctx->stats.t_queue);
@@ -1299,7 +1299,7 @@
 		task_wakeup(ctx->strm->task, TASK_WOKEN_MSG);
 	}
 	list_for_each_entry_safe(ctx, back, &agent->rt[tid].waiting_queue, list) {
-		LIST_DEL(&ctx->list);
+		LIST_DELETE(&ctx->list);
 		LIST_INIT(&ctx->list);
 		_HA_ATOMIC_DEC(&agent->counters.nb_waiting);
 		spoe_update_stat_time(&ctx->stats.tv_wait, &ctx->stats.t_waiting);
@@ -1500,7 +1500,7 @@
 				goto abort_frag_frame;
 
 			spoe_release_buffer(&ctx->buffer, &ctx->buffer_wait);
-			LIST_DEL(&ctx->list);
+			LIST_DELETE(&ctx->list);
 			LIST_INIT(&ctx->list);
 			_HA_ATOMIC_DEC(&agent->counters.nb_sending);
 			spoe_update_stat_time(&ctx->stats.tv_queue, &ctx->stats.t_queue);
@@ -1520,7 +1520,7 @@
 				goto abort_frag_frame;
 
 			spoe_release_buffer(&ctx->buffer, &ctx->buffer_wait);
-			LIST_DEL(&ctx->list);
+			LIST_DELETE(&ctx->list);
 			LIST_INIT(&ctx->list);
 			_HA_ATOMIC_DEC(&agent->counters.nb_sending);
 			spoe_update_stat_time(&ctx->stats.tv_queue, &ctx->stats.t_queue);
@@ -1546,16 +1546,16 @@
   no_frag_frame_sent:
 	if (SPOE_APPCTX(appctx)->flags & SPOE_APPCTX_FL_ASYNC) {
 		appctx->st0 = SPOE_APPCTX_ST_PROCESSING;
-		LIST_ADDQ(&agent->rt[tid].waiting_queue, &ctx->list);
+		LIST_APPEND(&agent->rt[tid].waiting_queue, &ctx->list);
 	}
 	else if (SPOE_APPCTX(appctx)->flags & SPOE_APPCTX_FL_PIPELINING) {
 		appctx->st0 = SPOE_APPCTX_ST_PROCESSING;
-		LIST_ADDQ(&SPOE_APPCTX(appctx)->waiting_queue, &ctx->list);
+		LIST_APPEND(&SPOE_APPCTX(appctx)->waiting_queue, &ctx->list);
 	}
 	else {
 		appctx->st0 = SPOE_APPCTX_ST_WAITING_SYNC_ACK;
 		*skip = 1;
-		LIST_ADDQ(&SPOE_APPCTX(appctx)->waiting_queue, &ctx->list);
+		LIST_APPEND(&SPOE_APPCTX(appctx)->waiting_queue, &ctx->list);
 	}
 	_HA_ATOMIC_INC(&agent->counters.nb_waiting);
 	ctx->stats.tv_wait = now;
@@ -1611,7 +1611,7 @@
 			break;
 
 		default:
-			LIST_DEL(&ctx->list);
+			LIST_DELETE(&ctx->list);
 			LIST_INIT(&ctx->list);
 			_HA_ATOMIC_DEC(&agent->counters.nb_waiting);
 			spoe_update_stat_time(&ctx->stats.tv_wait, &ctx->stats.t_waiting);
@@ -2008,7 +2008,7 @@
 	strm->res.flags |= CF_READ_DONTWAIT;
 
 	HA_SPIN_LOCK(SPOE_APPLET_LOCK, &conf->agent->rt[tid].lock);
-	LIST_ADDQ(&conf->agent->rt[tid].applets, &SPOE_APPCTX(appctx)->list);
+	LIST_APPEND(&conf->agent->rt[tid].applets, &SPOE_APPCTX(appctx)->list);
 	HA_SPIN_UNLOCK(SPOE_APPLET_LOCK, &conf->agent->rt[tid].lock);
 	_HA_ATOMIC_INC(&conf->agent->counters.applets);
 
@@ -2101,7 +2101,7 @@
 	ctx->stats.tv_queue = now;
 	if (ctx->spoe_appctx)
 		return 1;
-	LIST_ADDQ(&agent->rt[tid].sending_queue, &ctx->list);
+	LIST_APPEND(&agent->rt[tid].sending_queue, &ctx->list);
 
 	SPOE_PRINTF(stderr, "%d.%06d [SPOE/%-15s] %s: stream=%p"
 		    " - Add stream in sending queue"
@@ -2624,7 +2624,7 @@
 		else
 			_HA_ATOMIC_DEC(&agent->counters.nb_waiting);
 
-		LIST_DEL(&ctx->list);
+		LIST_DELETE(&ctx->list);
 		LIST_INIT(&ctx->list);
 	}
 }
@@ -2833,20 +2833,20 @@
 	if (buf->size)
 		return 1;
 
-	if (LIST_ADDED(&buffer_wait->list))
+	if (LIST_INLIST(&buffer_wait->list))
 		LIST_DEL_INIT(&buffer_wait->list);
 
 	if (b_alloc(buf))
 		return 1;
 
-	LIST_ADDQ(&ti->buffer_wq, &buffer_wait->list);
+	LIST_APPEND(&ti->buffer_wq, &buffer_wait->list);
 	return 0;
 }
 
 static void
 spoe_release_buffer(struct buffer *buf, struct buffer_wait *buffer_wait)
 {
-	if (LIST_ADDED(&buffer_wait->list))
+	if (LIST_INLIST(&buffer_wait->list))
 		LIST_DEL_INIT(&buffer_wait->list);
 
 	/* Release the buffer if needed */
@@ -3439,7 +3439,7 @@
 				goto out;
 			}
 			ph->id = strdup(args[cur_arg]);
-			LIST_ADDQ(&curmphs, &ph->list);
+			LIST_APPEND(&curmphs, &ph->list);
 			cur_arg++;
 		}
 	}
@@ -3463,7 +3463,7 @@
 				goto out;
 			}
 			ph->id = strdup(args[cur_arg]);
-			LIST_ADDQ(&curgphs, &ph->list);
+			LIST_APPEND(&curgphs, &ph->list);
 			cur_arg++;
 		}
 	}
@@ -3766,7 +3766,7 @@
 				err_code |= ERR_ALERT | ERR_ABORT;
 				goto out;
 			}
-			LIST_ADDQ(&curvars, &vph->list);
+			LIST_APPEND(&curvars, &vph->list);
 			cur_arg++;
 		}
 	}
@@ -3841,7 +3841,7 @@
 		curgrp->conf.line = linenum;
 		LIST_INIT(&curgrp->phs);
 		LIST_INIT(&curgrp->messages);
-		LIST_ADDQ(&curgrps, &curgrp->list);
+		LIST_APPEND(&curgrps, &curgrp->list);
 	}
 	else if (strcmp(args[0], "messages") == 0) {
 		int cur_arg = 1;
@@ -3863,7 +3863,7 @@
 				goto out;
 			}
 			ph->id = strdup(args[cur_arg]);
-			LIST_ADDQ(&curgrp->phs, &ph->list);
+			LIST_APPEND(&curgrp->phs, &ph->list);
 			cur_arg++;
 		}
 	}
@@ -3937,7 +3937,7 @@
 		LIST_INIT(&curmsg->acls);
 		LIST_INIT(&curmsg->by_evt);
 		LIST_INIT(&curmsg->by_grp);
-		LIST_ADDQ(&curmsgs, &curmsg->list);
+		LIST_APPEND(&curmsgs, &curmsg->list);
 	}
 	else if (strcmp(args[0], "args") == 0) {
 		int cur_arg = 1;
@@ -3976,7 +3976,7 @@
 				goto out;
 			}
 			curmsg->nargs++;
-			LIST_ADDQ(&curmsg->args, &arg->list);
+			LIST_APPEND(&curmsg->args, &arg->list);
 			cur_arg++;
 		}
 		curproxy->conf.args.file = NULL;
@@ -4342,7 +4342,7 @@
 				}
 
 				msg->agent = curagent;
-				LIST_ADDQ(&curagent->events[msg->event], &msg->by_evt);
+				LIST_APPEND(&curagent->events[msg->event], &msg->by_evt);
 				goto next_mph;
 			}
 		}
@@ -4359,8 +4359,8 @@
 		list_for_each_entry_safe(grp, grpback, &curgrps, list) {
 			if (strcmp(grp->id, ph->id) == 0) {
 				grp->agent = curagent;
-				LIST_DEL(&grp->list);
-				LIST_ADDQ(&curagent->groups, &grp->list);
+				LIST_DELETE(&grp->list);
+				LIST_APPEND(&curagent->groups, &grp->list);
 				goto next_aph;
 			}
 		}
@@ -4390,8 +4390,8 @@
 					 * them only if a rule use the corresponding SPOE group. */
 					msg->agent = curagent;
 					msg->group = grp;
-					LIST_DEL(&ph->list);
-					LIST_ADDQ(&grp->messages, &msg->by_grp);
+					LIST_DELETE(&ph->list);
+					LIST_APPEND(&grp->messages, &msg->by_grp);
 					goto next_mph_grp;
 				}
 			}
@@ -4423,16 +4423,16 @@
 	conf->agent_fe.options2 |= curpxopts2;
 
 	list_for_each_entry_safe(logsrv, logsrvback, &curlogsrvs, list) {
-		LIST_DEL(&logsrv->list);
-		LIST_ADDQ(&conf->agent_fe.logsrvs, &logsrv->list);
+		LIST_DELETE(&logsrv->list);
+		LIST_APPEND(&conf->agent_fe.logsrvs, &logsrv->list);
 	}
 
 	list_for_each_entry_safe(ph, phback, &curmphs, list) {
-		LIST_DEL(&ph->list);
+		LIST_DELETE(&ph->list);
 		spoe_release_placeholder(ph);
 	}
 	list_for_each_entry_safe(ph, phback, &curgphs, list) {
-		LIST_DEL(&ph->list);
+		LIST_DELETE(&ph->list);
 		spoe_release_placeholder(ph);
 	}
 	list_for_each_entry_safe(vph, vphback, &curvars, list) {
@@ -4451,12 +4451,12 @@
 			goto error;
 		}
 
-		LIST_DEL(&vph->list);
+		LIST_DELETE(&vph->list);
 		free(vph->name);
 		free(vph);
 	}
 	list_for_each_entry_safe(grp, grpback, &curgrps, list) {
-		LIST_DEL(&grp->list);
+		LIST_DELETE(&grp->list);
 		spoe_release_group(grp);
 	}
 	*cur_arg    = pos;
@@ -4468,28 +4468,28 @@
  error:
 	spoe_release_agent(curagent);
 	list_for_each_entry_safe(ph, phback, &curmphs, list) {
-		LIST_DEL(&ph->list);
+		LIST_DELETE(&ph->list);
 		spoe_release_placeholder(ph);
 	}
 	list_for_each_entry_safe(ph, phback, &curgphs, list) {
-		LIST_DEL(&ph->list);
+		LIST_DELETE(&ph->list);
 		spoe_release_placeholder(ph);
 	}
 	list_for_each_entry_safe(vph, vphback, &curvars, list) {
-		LIST_DEL(&vph->list);
+		LIST_DELETE(&vph->list);
 		free(vph->name);
 		free(vph);
 	}
 	list_for_each_entry_safe(grp, grpback, &curgrps, list) {
-		LIST_DEL(&grp->list);
+		LIST_DELETE(&grp->list);
 		spoe_release_group(grp);
 	}
 	list_for_each_entry_safe(msg, msgback, &curmsgs, list) {
-		LIST_DEL(&msg->list);
+		LIST_DELETE(&msg->list);
 		spoe_release_message(msg);
 	}
 	list_for_each_entry_safe(logsrv, logsrvback, &curlogsrvs, list) {
-		LIST_DEL(&logsrv->list);
+		LIST_DELETE(&logsrv->list);
 		free(logsrv);
 	}
 	free(conf);
diff --git a/src/haproxy.c b/src/haproxy.c
index 27ac49e..0e86586 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -282,7 +282,7 @@
 	}
 	b->str = str;
 	b->must_free = must_free;
-	LIST_ADDQ(&build_opts_list, &b->list);
+	LIST_APPEND(&build_opts_list, &b->list);
 }
 
 static void display_version()
@@ -880,7 +880,7 @@
 
 		/* remove the current directory (wl) from cfg_cfgfiles */
 		free(wl->s);
-		LIST_DEL(&wl->list);
+		LIST_DELETE(&wl->list);
 		free(wl);
 	}
 
@@ -1463,7 +1463,7 @@
 					ha_alert("Cannot allocate memory\n");
 					exit(EXIT_FAILURE);
 				}
-				LIST_ADD(&mworker_cli_conf, &c->list);
+				LIST_INSERT(&mworker_cli_conf, &c->list);
 
 				argv++;
 				argc--;
@@ -1654,7 +1654,7 @@
 
 			proc_self = tmproc;
 
-			LIST_ADDQ(&proc_list, &tmproc->list);
+			LIST_APPEND(&proc_list, &tmproc->list);
 		}
 
 		for (proc = 0; proc < global.nbproc; proc++) {
@@ -1677,7 +1677,7 @@
 				exit(EXIT_FAILURE);
 			}
 
-			LIST_ADDQ(&proc_list, &tmproc->list);
+			LIST_APPEND(&proc_list, &tmproc->list);
 		}
 	}
 	if (global.mode & (MODE_MWORKER|MODE_MWORKER_WAIT)) {
@@ -1699,7 +1699,7 @@
 					ha_alert("Can't create the master's CLI.\n");
 					exit(EXIT_FAILURE);
 				}
-				LIST_DEL(&c->list);
+				LIST_DELETE(&c->list);
 				free(c->s);
 				free(c);
 			}
@@ -2277,69 +2277,69 @@
 	idle_conn_task = NULL;
 
 	list_for_each_entry_safe(log, logb, &global.logsrvs, list) {
-			LIST_DEL(&log->list);
+			LIST_DELETE(&log->list);
 			free(log);
 		}
 	list_for_each_entry_safe(wl, wlb, &cfg_cfgfiles, list) {
 		free(wl->s);
-		LIST_DEL(&wl->list);
+		LIST_DELETE(&wl->list);
 		free(wl);
 	}
 
 	list_for_each_entry_safe(bol, bolb, &build_opts_list, list) {
 		if (bol->must_free)
 			free((void *)bol->str);
-		LIST_DEL(&bol->list);
+		LIST_DELETE(&bol->list);
 		free(bol);
 	}
 
 	list_for_each_entry_safe(pxdf, pxdfb, &proxy_deinit_list, list) {
-		LIST_DEL(&pxdf->list);
+		LIST_DELETE(&pxdf->list);
 		free(pxdf);
 	}
 
 	list_for_each_entry_safe(pdf, pdfb, &post_deinit_list, list) {
-		LIST_DEL(&pdf->list);
+		LIST_DELETE(&pdf->list);
 		free(pdf);
 	}
 
 	list_for_each_entry_safe(srvdf, srvdfb, &server_deinit_list, list) {
-		LIST_DEL(&srvdf->list);
+		LIST_DELETE(&srvdf->list);
 		free(srvdf);
 	}
 
 	list_for_each_entry_safe(pcf, pcfb, &post_check_list, list) {
-		LIST_DEL(&pcf->list);
+		LIST_DELETE(&pcf->list);
 		free(pcf);
 	}
 
 	list_for_each_entry_safe(pscf, pscfb, &post_server_check_list, list) {
-		LIST_DEL(&pscf->list);
+		LIST_DELETE(&pscf->list);
 		free(pscf);
 	}
 
 	list_for_each_entry_safe(ppcf, ppcfb, &post_proxy_check_list, list) {
-		LIST_DEL(&ppcf->list);
+		LIST_DELETE(&ppcf->list);
 		free(ppcf);
 	}
 
 	list_for_each_entry_safe(tif, tifb, &per_thread_init_list, list) {
-		LIST_DEL(&tif->list);
+		LIST_DELETE(&tif->list);
 		free(tif);
 	}
 
 	list_for_each_entry_safe(tdf, tdfb, &per_thread_deinit_list, list) {
-		LIST_DEL(&tdf->list);
+		LIST_DELETE(&tdf->list);
 		free(tdf);
 	}
 
 	list_for_each_entry_safe(taf, tafb, &per_thread_alloc_list, list) {
-		LIST_DEL(&taf->list);
+		LIST_DELETE(&taf->list);
 		free(taf);
 	}
 
 	list_for_each_entry_safe(tff, tffb, &per_thread_free_list, list) {
-		LIST_DEL(&tff->list);
+		LIST_DELETE(&tff->list);
 		free(tff);
 	}
 
@@ -3004,7 +3004,7 @@
 					proc_self = child;
 					continue;
 				}
-				LIST_DEL(&child->list);
+				LIST_DELETE(&child->list);
 				mworker_free_child(child);
 				child = NULL;
 			}
diff --git a/src/hlua.c b/src/hlua.c
index 5a67f02..f227609 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -312,7 +312,7 @@
 	fcn = calloc(1, sizeof(*fcn));
 	if (!fcn)
 		return NULL;
-	LIST_ADDQ(&referenced_functions, &fcn->l);
+	LIST_APPEND(&referenced_functions, &fcn->l);
 	for (i = 0; i < MAX_THREADS + 1; i++)
 		fcn->function_ref[i] = -1;
 	return fcn;
@@ -324,7 +324,7 @@
 		return;
 	if (fcn->name)
 		ha_free(&fcn->name);
-	LIST_DEL(&fcn->l);
+	LIST_DELETE(&fcn->l);
 	ha_free(&fcn);
 }
 
@@ -6387,7 +6387,7 @@
 		WILL_LJMP(luaL_error(L, "Lua out of memory error."));
 
 	init->function_ref = ref;
-	LIST_ADDQ(&hlua_init_functions[hlua_state_id], &init->l);
+	LIST_APPEND(&hlua_init_functions[hlua_state_id], &init->l);
 	return 0;
 }
 
@@ -8499,7 +8499,7 @@
 		memprintf(err, "memory allocation failed");
 		goto err2;
 	}
-	LIST_ADDQ(&prepend_path_list, &p->l);
+	LIST_APPEND(&prepend_path_list, &p->l);
 
 	hlua_prepend_path(hlua_states[0], type, path);
 	hlua_prepend_path(hlua_states[1], type, path);
diff --git a/src/http_act.c b/src/http_act.c
index aeb940f..5da2d7d 100644
--- a/src/http_act.c
+++ b/src/http_act.c
@@ -51,7 +51,7 @@
 	if (rule->arg.http.re)
 		regex_free(rule->arg.http.re);
 	list_for_each_entry_safe(lf, lfb, &rule->arg.http.fmt, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		release_sample_expr(lf->expr);
 		free(lf->arg);
 		free(lf);
@@ -1744,7 +1744,7 @@
 	struct redirect_rule *redir;
 
 	redir = rule->arg.redir;
-	LIST_DEL(&redir->list);
+	LIST_DELETE(&redir->list);
 	if (redir->cond) {
 		prune_acl_cond(redir->cond);
 		free(redir->cond);
@@ -1752,7 +1752,7 @@
 	free(redir->rdr_str);
 	free(redir->cookie_str);
 	list_for_each_entry_safe(lf, lfb, &redir->rdr_fmt, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		free(lf);
 	}
 	free(redir);
@@ -1876,14 +1876,14 @@
 
 	free(rule->arg.map.ref);
 	list_for_each_entry_safe(lf, lfb, &rule->arg.map.key, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		release_sample_expr(lf->expr);
 		free(lf->arg);
 		free(lf);
 	}
 	if (rule->action == 1) {
 		list_for_each_entry_safe(lf, lfb, &rule->arg.map.value, list) {
-			LIST_DEL(&lf->list);
+			LIST_DELETE(&lf->list);
 			release_sample_expr(lf->expr);
 			free(lf->arg);
 			free(lf);
diff --git a/src/http_htx.c b/src/http_htx.c
index 2ddc50e..c3422d4 100644
--- a/src/http_htx.c
+++ b/src/http_htx.c
@@ -1009,9 +1009,9 @@
 
 	ha_free(&http_reply->ctype);
 	list_for_each_entry_safe(hdr, hdrb, &http_reply->hdrs, list) {
-		LIST_DEL(&hdr->list);
+		LIST_DELETE(&hdr->list);
 		list_for_each_entry_safe(lf, lfb, &hdr->value, list) {
-			LIST_DEL(&lf->list);
+			LIST_DELETE(&lf->list);
 			release_sample_expr(lf->expr);
 			free(lf->arg);
 			free(lf);
@@ -1027,7 +1027,7 @@
 		chunk_destroy(&http_reply->body.obj);
 	else if (http_reply->type == HTTP_REPLY_LOGFMT) {
 		list_for_each_entry_safe(lf, lfb, &http_reply->body.fmt, list) {
-			LIST_DEL(&lf->list);
+			LIST_DELETE(&lf->list);
 			release_sample_expr(lf->expr);
 			free(lf->arg);
 			free(lf);
@@ -1100,12 +1100,12 @@
 		free(http_errs->id);
 		for (rc = 0; rc < HTTP_ERR_SIZE; rc++)
 			release_http_reply(http_errs->replies[rc]);
-		LIST_DEL(&http_errs->list);
+		LIST_DELETE(&http_errs->list);
 		free(http_errs);
 	}
 
 	list_for_each_entry_safe(http_rep, http_repb, &http_replies_list, list) {
-		LIST_DEL(&http_rep->list);
+		LIST_DELETE(&http_rep->list);
 		release_http_reply(http_rep);
 	}
 }
@@ -1598,7 +1598,7 @@
 				memprintf(errmsg, "'%s' : out of memory", args[cur_arg-1]);
 				goto error;
 			}
-			LIST_ADDQ(&reply->hdrs, &hdr->list);
+			LIST_APPEND(&reply->hdrs, &hdr->list);
 			LIST_INIT(&hdr->value);
 			hdr->name = ist(strdup(args[cur_arg]));
 			if (!isttest(hdr->name)) {
@@ -1654,9 +1654,9 @@
 				   "with an erorrfile.\n",
 				   px->conf.args.file, px->conf.args.line);
 			list_for_each_entry_safe(hdr, hdrb, &reply->hdrs, list) {
-				LIST_DEL(&hdr->list);
+				LIST_DELETE(&hdr->list);
 				list_for_each_entry_safe(lf, lfb, &hdr->value, list) {
-					LIST_DEL(&lf->list);
+					LIST_DELETE(&lf->list);
 					release_sample_expr(lf->expr);
 					free(lf->arg);
 					free(lf);
@@ -1759,7 +1759,7 @@
 	reply->ctype = NULL;
 	LIST_INIT(&reply->hdrs);
 	reply->body.errmsg = msg;
-	LIST_ADDQ(&http_replies_list, &reply->list);
+	LIST_APPEND(&http_replies_list, &reply->list);
 
 	conf_err = calloc(1, sizeof(*conf_err));
 	if (!conf_err) {
@@ -1774,7 +1774,7 @@
 
 	conf_err->file = strdup(file);
 	conf_err->line = line;
-	LIST_ADDQ(&curpx->conf.errors, &conf_err->list);
+	LIST_APPEND(&curpx->conf.errors, &conf_err->list);
 
 	/* handle warning message */
 	if (*errmsg)
@@ -1825,7 +1825,7 @@
 	reply->ctype = NULL;
 	LIST_INIT(&reply->hdrs);
 	reply->body.errmsg = msg;
-	LIST_ADDQ(&http_replies_list, &reply->list);
+	LIST_APPEND(&http_replies_list, &reply->list);
 
 	conf_err = calloc(1, sizeof(*conf_err));
 	if (!conf_err) {
@@ -1839,7 +1839,7 @@
 	conf_err->info.errorfile.reply = reply;
 	conf_err->file = strdup(file);
 	conf_err->line = line;
-	LIST_ADDQ(&curpx->conf.errors, &conf_err->list);
+	LIST_APPEND(&curpx->conf.errors, &conf_err->list);
 
 	/* handle warning message */
 	if (*errmsg)
@@ -1901,7 +1901,7 @@
 	}
 	conf_err->file = strdup(file);
 	conf_err->line = line;
-	LIST_ADDQ(&curpx->conf.errors, &conf_err->list);
+	LIST_APPEND(&curpx->conf.errors, &conf_err->list);
   out:
 	return ret;
 
@@ -1970,11 +1970,11 @@
 		conf_err->type = 1;
 		conf_err->info.errorfile.status = reply->status;
 		conf_err->info.errorfile.reply = reply;
-		LIST_ADDQ(&http_replies_list, &reply->list);
+		LIST_APPEND(&http_replies_list, &reply->list);
 	}
 	conf_err->file = strdup(file);
 	conf_err->line = line;
-	LIST_ADDQ(&curpx->conf.errors, &conf_err->list);
+	LIST_APPEND(&curpx->conf.errors, &conf_err->list);
 
 	/* handle warning message */
 	if (*errmsg)
@@ -2036,7 +2036,7 @@
 			}
 		}
 	  next:
-		LIST_DEL(&conf_err->list);
+		LIST_DELETE(&conf_err->list);
 		free(conf_err->file);
 		free(conf_err);
 	}
@@ -2099,7 +2099,7 @@
 		}
 		new_conf_err->file = strdup(conf_err->file);
 		new_conf_err->line = conf_err->line;
-		LIST_ADDQ(&curpx->conf.errors, &new_conf_err->list);
+		LIST_APPEND(&curpx->conf.errors, &new_conf_err->list);
 		new_conf_err = NULL;
 	}
 	ret = 1;
@@ -2116,7 +2116,7 @@
 	list_for_each_entry_safe(conf_err, conf_err_back, &px->conf.errors, list) {
 		if (conf_err->type == 0)
 			free(conf_err->info.errorfiles.name);
-		LIST_DEL(&conf_err->list);
+		LIST_DELETE(&conf_err->list);
 		free(conf_err->file);
 		free(conf_err);
 	}
@@ -2168,7 +2168,7 @@
 			goto out;
 		}
 
-		LIST_ADDQ(&http_errors_list, &curr_errs->list);
+		LIST_APPEND(&http_errors_list, &curr_errs->list);
 		curr_errs->id = strdup(args[1]);
 		curr_errs->conf.file = strdup(file);
 		curr_errs->conf.line = linenum;
diff --git a/src/init.c b/src/init.c
index e94f51f..ad80662 100644
--- a/src/init.c
+++ b/src/init.c
@@ -84,7 +84,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&post_check_list, &b->list);
+	LIST_APPEND(&post_check_list, &b->list);
 }
 
 /* used to register some initialization functions to call for each proxy after
@@ -100,7 +100,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&post_proxy_check_list, &b->list);
+	LIST_APPEND(&post_proxy_check_list, &b->list);
 }
 
 /* used to register some initialization functions to call for each server after
@@ -116,7 +116,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&post_server_check_list, &b->list);
+	LIST_APPEND(&post_server_check_list, &b->list);
 }
 
 /* used to register some de-initialization functions to call after everything
@@ -132,7 +132,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&post_deinit_list, &b->list);
+	LIST_APPEND(&post_deinit_list, &b->list);
 }
 
 /* used to register some per proxy de-initialization functions to call after
@@ -148,7 +148,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&proxy_deinit_list, &b->list);
+	LIST_APPEND(&proxy_deinit_list, &b->list);
 }
 
 /* used to register some per server de-initialization functions to call after
@@ -164,7 +164,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&server_deinit_list, &b->list);
+	LIST_APPEND(&server_deinit_list, &b->list);
 }
 
 /* used to register some allocation functions to call for each thread. */
@@ -178,7 +178,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&per_thread_alloc_list, &b->list);
+	LIST_APPEND(&per_thread_alloc_list, &b->list);
 }
 
 /* used to register some initialization functions to call for each thread. */
@@ -192,7 +192,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&per_thread_init_list, &b->list);
+	LIST_APPEND(&per_thread_init_list, &b->list);
 }
 
 /* used to register some de-initialization functions to call for each thread. */
@@ -206,7 +206,7 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&per_thread_deinit_list, &b->list);
+	LIST_APPEND(&per_thread_deinit_list, &b->list);
 }
 
 /* used to register some free functions to call for each thread. */
@@ -220,5 +220,5 @@
 		exit(1);
 	}
 	b->fct = fct;
-	LIST_ADDQ(&per_thread_free_list, &b->list);
+	LIST_APPEND(&per_thread_free_list, &b->list);
 }
diff --git a/src/listener.c b/src/listener.c
index fe0fd24..226b629 100644
--- a/src/listener.c
+++ b/src/listener.c
@@ -353,7 +353,7 @@
 		return;
 	listener_set_state(listener, LI_ASSIGNED);
 	listener->rx.proto = proto;
-	LIST_ADDQ(&proto->receivers, &listener->rx.proto_list);
+	LIST_APPEND(&proto->receivers, &listener->rx.proto_list);
 	proto->nb_receivers++;
 }
 
@@ -440,7 +440,7 @@
 	if (l->rx.proto->suspend)
 		ret = l->rx.proto->suspend(l);
 
-	MT_LIST_DEL(&l->wait_queue);
+	MT_LIST_DELETE(&l->wait_queue);
 
 	listener_set_state(l, LI_PAUSED);
 
@@ -474,7 +474,7 @@
 	/* check that another thread didn't to the job in parallel (e.g. at the
 	 * end of listen_accept() while we'd come from dequeue_all_listeners().
 	 */
-	if (MT_LIST_ADDED(&l->wait_queue))
+	if (MT_LIST_INLIST(&l->wait_queue))
 		goto end;
 
 	if ((global.mode & (MODE_DAEMON | MODE_MWORKER)) &&
@@ -513,7 +513,7 @@
 {
 	HA_SPIN_LOCK(LISTENER_LOCK, &l->lock);
 	if (l->state >= LI_READY) {
-		MT_LIST_DEL(&l->wait_queue);
+		MT_LIST_DELETE(&l->wait_queue);
 		if (l->state != LI_FULL) {
 			l->rx.proto->disable(l);
 			listener_set_state(l, LI_FULL);
@@ -529,7 +529,7 @@
 {
 	HA_SPIN_LOCK(LISTENER_LOCK, &l->lock);
 	if (l->state == LI_READY) {
-		MT_LIST_TRY_ADDQ(list, &l->wait_queue);
+		MT_LIST_TRY_APPEND(list, &l->wait_queue);
 		l->rx.proto->disable(l);
 		listener_set_state(l, LI_LIMITED);
 	}
@@ -597,7 +597,7 @@
  */
 void do_unbind_listener(struct listener *listener)
 {
-	MT_LIST_DEL(&listener->wait_queue);
+	MT_LIST_DELETE(&listener->wait_queue);
 
 	if (listener->rx.proto->unbind)
 		listener->rx.proto->unbind(listener);
@@ -641,8 +641,8 @@
 			return 0;
 		}
 		l->obj_type = OBJ_TYPE_LISTENER;
-		LIST_ADDQ(&bc->frontend->conf.listeners, &l->by_fe);
-		LIST_ADDQ(&bc->listeners, &l->by_bind);
+		LIST_APPEND(&bc->frontend->conf.listeners, &l->by_fe);
+		LIST_APPEND(&bc->listeners, &l->by_bind);
 		l->bind_conf = bc;
 		l->rx.settings = &bc->settings;
 		l->rx.owner = l;
@@ -681,7 +681,7 @@
 {
 	if (listener->state == LI_ASSIGNED) {
 		listener_set_state(listener, LI_INIT);
-		LIST_DEL(&listener->rx.proto_list);
+		LIST_DELETE(&listener->rx.proto_list);
 		listener->rx.proto->nb_receivers--;
 		_HA_ATOMIC_DEC(&jobs);
 		_HA_ATOMIC_DEC(&listeners);
@@ -1199,7 +1199,7 @@
  */
 void bind_register_keywords(struct bind_kw_list *kwl)
 {
-	LIST_ADDQ(&bind_keywords.list, &kwl->list);
+	LIST_APPEND(&bind_keywords.list, &kwl->list);
 }
 
 /* Return a pointer to the bind keyword <kw>, or NULL if not found. If the
diff --git a/src/log.c b/src/log.c
index c3437b5..fe0e3a2 100644
--- a/src/log.c
+++ b/src/log.c
@@ -393,7 +393,7 @@
 						goto error_free;
 					}
 					curproxy->to_log |= logformat_keywords[j].lw;
-					LIST_ADDQ(list_format, &node->list);
+					LIST_APPEND(list_format, &node->list);
 				}
 				if (logformat_keywords[j].replace_by)
 					ha_warning("parsing [%s:%d] : deprecated variable '%s' in '%s', please replace it with '%s'.\n",
@@ -447,7 +447,7 @@
 		str[end - start] = '\0';
 		node->arg = str;
 		node->type = LOG_FMT_TEXT; // type string
-		LIST_ADDQ(list_format, &node->list);
+		LIST_APPEND(list_format, &node->list);
 	} else if (type == LF_SEPARATOR) {
 		struct logformat_node *node = calloc(1, sizeof(*node));
 		if (!node) {
@@ -455,7 +455,7 @@
 			return 0;
 		}
 		node->type = LOG_FMT_SEPARATOR;
-		LIST_ADDQ(list_format, &node->list);
+		LIST_APPEND(list_format, &node->list);
 	}
 	return 1;
 }
@@ -528,7 +528,7 @@
 	curpx->to_log |= LW_XPRT;
 	if (curpx->http_needed)
 		curpx->to_log |= LW_REQ;
-	LIST_ADDQ(list_format, &node->list);
+	LIST_APPEND(list_format, &node->list);
 	return 1;
 
   error_free:
@@ -574,7 +574,7 @@
 
 	/* flush the list first. */
 	list_for_each_entry_safe(tmplf, back, list_format, list) {
-		LIST_DEL(&tmplf->list);
+		LIST_DELETE(&tmplf->list);
 		release_sample_expr(tmplf->expr);
 		free(tmplf->arg);
 		free(tmplf);
@@ -831,7 +831,7 @@
 		}
 
 		list_for_each_entry_safe(logsrv, back, logsrvs, list) {
-			LIST_DEL(&logsrv->list);
+			LIST_DELETE(&logsrv->list);
 			free(logsrv);
 		}
 		return 1;
@@ -858,7 +858,7 @@
 			memcpy(node, logsrv, sizeof(struct logsrv));
 			node->ref = logsrv;
 			LIST_INIT(&node->list);
-			LIST_ADDQ(logsrvs, &node->list);
+			LIST_APPEND(logsrvs, &node->list);
 			node->conf.file = strdup(file);
 			node->conf.line = linenum;
 
@@ -1064,7 +1064,7 @@
 	}
 
  done:
-	LIST_ADDQ(logsrvs, &logsrv->list);
+	LIST_APPEND(logsrvs, &logsrv->list);
 	return 1;
 
   error:
diff --git a/src/lru.c b/src/lru.c
index 84442a4..22f15f7 100644
--- a/src/lru.c
+++ b/src/lru.c
@@ -25,8 +25,8 @@
 #include <import/lru.h>
 
 /* Minimal list manipulation macros for lru64_list */
-#define LIST_ADD(lh, el) ({ (el)->n = (lh)->n; (el)->n->p = (lh)->n = (el); (el)->p = (lh); })
-#define LIST_DEL(el)     ({ (el)->n->p = (el)->p; (el)->p->n = (el)->n; })
+#define LIST_INSERT(lh, el) ({ (el)->n = (lh)->n; (el)->n->p = (lh)->n = (el); (el)->p = (lh); })
+#define LIST_DELETE(el)     ({ (el)->n->p = (el)->p; (el)->p->n = (el)->n; })
 
 
 /* Lookup key <key> in LRU cache <lru> for use with domain <domain> whose data's
@@ -46,8 +46,8 @@
 		 * head of the LRU list.
 		 */
 		if (elem->domain == domain && elem->revision == revision) {
-			LIST_DEL(&elem->lru);
-			LIST_ADD(&lru->list, &elem->lru);
+			LIST_DELETE(&elem->lru);
+			LIST_INSERT(&lru->list, &elem->lru);
 			return elem;
 		}
 	}
@@ -87,8 +87,8 @@
 		 * head of the LRU list.
 		 */
 		if (elem->domain == domain && elem->revision == revision) {
-			LIST_DEL(&elem->lru);
-			LIST_ADD(&lru->list, &elem->lru);
+			LIST_DELETE(&elem->lru);
+			LIST_INSERT(&lru->list, &elem->lru);
 			return elem;
 		}
 
@@ -96,7 +96,7 @@
 			return NULL; // currently locked
 
 		/* recycle this entry */
-		LIST_DEL(&elem->lru);
+		LIST_DELETE(&elem->lru);
 	}
 	else {
 		/* New entry inserted, initialize and move to the head of the
@@ -107,7 +107,7 @@
 	}
 
 	elem->domain = NULL;
-	LIST_ADD(&lru->list, &elem->lru);
+	LIST_INSERT(&lru->list, &elem->lru);
 
 	if (lru->cache_usage > lru->cache_size) {
 		/* try to kill oldest entry */
@@ -116,7 +116,7 @@
 		old = container_of(lru->list.p, typeof(*old), lru);
 		if (old->domain) {
 			/* not locked */
-			LIST_DEL(&old->lru);
+			LIST_DELETE(&old->lru);
 			__eb64_delete(&old->node);
 			if (old->data && old->free)
 				old->free(old->data);
@@ -181,7 +181,7 @@
 		next = container_of(elem->lru.p, typeof(*next), lru);
 		if (elem->domain) {
 			/* not locked */
-			LIST_DEL(&elem->lru);
+			LIST_DELETE(&elem->lru);
 			eb64_delete(&elem->node);
 			if (elem->data && elem->free)
 				elem->free(elem->data);
@@ -211,7 +211,7 @@
 		if (!elem->domain)
 			continue; /* locked entry */
 
-		LIST_DEL(&elem->lru);
+		LIST_DELETE(&elem->lru);
 		eb64_delete(&elem->node);
 		if (elem->data && elem->free)
 			elem->free(elem->data);
diff --git a/src/mailers.c b/src/mailers.c
index e614cf0..80dc7d6 100644
--- a/src/mailers.c
+++ b/src/mailers.c
@@ -46,7 +46,7 @@
 
 	if (alert->rules.list) {
 		list_for_each_entry_safe(rule, back, alert->rules.list, list) {
-			LIST_DEL(&rule->list);
+			LIST_DELETE(&rule->list);
 			free_tcpcheck(rule, 1);
 		}
 		free_tcpcheck_vars(&alert->rules.preset_vars);
@@ -74,7 +74,7 @@
 			}
 
 			alert = LIST_NEXT(&q->email_alerts, typeof(alert), list);
-			LIST_DEL(&alert->list);
+			LIST_DELETE(&alert->list);
 			t->expire             = now_ms;
 			check->tcpcheck_rules = &alert->rules;
 			check->status         = HCHK_STATUS_INI;
@@ -189,7 +189,7 @@
 	tcpcheck->action       = TCPCHK_ACT_CONNECT;
 	tcpcheck->comment      = NULL;
 
-	LIST_ADDQ(alert->rules.list, &tcpcheck->list);
+	LIST_APPEND(alert->rules.list, &tcpcheck->list);
 
 	if (!add_tcpcheck_expect_str(&alert->rules, "220 "))
 		goto error;
@@ -269,7 +269,7 @@
 
 	HA_SPIN_LOCK(EMAIL_ALERTS_LOCK, &q->lock);
 	task_wakeup(check->task, TASK_WOKEN_MSG);
-	LIST_ADDQ(&q->email_alerts, &alert->list);
+	LIST_APPEND(&q->email_alerts, &alert->list);
 	HA_SPIN_UNLOCK(EMAIL_ALERTS_LOCK, &q->lock);
 	return 1;
 
diff --git a/src/map.c b/src/map.c
index 6b5502e..041c339 100644
--- a/src/map.c
+++ b/src/map.c
@@ -330,7 +330,7 @@
 		 */
 		if (appctx->st2 == STAT_ST_LIST) {
 			if (!LIST_ISEMPTY(&appctx->ctx.map.bref.users)) {
-				LIST_DEL(&appctx->ctx.map.bref.users);
+				LIST_DELETE(&appctx->ctx.map.bref.users);
 				LIST_INIT(&appctx->ctx.map.bref.users);
 			}
 		}
@@ -359,7 +359,7 @@
 		HA_SPIN_LOCK(PATREF_LOCK, &appctx->ctx.map.ref->lock);
 
 		if (!LIST_ISEMPTY(&appctx->ctx.map.bref.users)) {
-			LIST_DEL(&appctx->ctx.map.bref.users);
+			LIST_DELETE(&appctx->ctx.map.bref.users);
 			LIST_INIT(&appctx->ctx.map.bref.users);
 		}
 
@@ -384,7 +384,7 @@
 				/* let's try again later from this stream. We add ourselves into
 				 * this stream's users so that it can remove us upon termination.
 				 */
-				LIST_ADDQ(&elt->back_refs, &appctx->ctx.map.bref.users);
+				LIST_APPEND(&elt->back_refs, &appctx->ctx.map.bref.users);
 				HA_SPIN_UNLOCK(PATREF_LOCK, &appctx->ctx.map.ref->lock);
 				si_rx_room_blk(si);
 				return 0;
@@ -635,7 +635,7 @@
 	if (appctx->st2 == STAT_ST_LIST) {
 		HA_SPIN_LOCK(PATREF_LOCK, &appctx->ctx.map.ref->lock);
 		if (!LIST_ISEMPTY(&appctx->ctx.map.bref.users))
-			LIST_DEL(&appctx->ctx.map.bref.users);
+			LIST_DELETE(&appctx->ctx.map.bref.users);
 		HA_SPIN_UNLOCK(PATREF_LOCK, &appctx->ctx.map.ref->lock);
 	}
 }
diff --git a/src/mux_fcgi.c b/src/mux_fcgi.c
index f938a57..075a576 100644
--- a/src/mux_fcgi.c
+++ b/src/mux_fcgi.c
@@ -604,11 +604,11 @@
 {
 	struct buffer *buf = NULL;
 
-	if (likely(!LIST_ADDED(&fconn->buf_wait.list)) &&
+	if (likely(!LIST_INLIST(&fconn->buf_wait.list)) &&
 	    unlikely((buf = b_alloc(bptr)) == NULL)) {
 		fconn->buf_wait.target = fconn;
 		fconn->buf_wait.wakeup_cb = fcgi_buf_available;
-		LIST_ADDQ(&ti->buffer_wq, &fconn->buf_wait.list);
+		LIST_APPEND(&ti->buffer_wq, &fconn->buf_wait.list);
 	}
 	return buf;
 }
@@ -845,7 +845,7 @@
 
 		TRACE_DEVEL("freeing fconn", FCGI_EV_FCONN_END, conn);
 
-		if (LIST_ADDED(&fconn->buf_wait.list))
+		if (LIST_INLIST(&fconn->buf_wait.list))
 			LIST_DEL_INIT(&fconn->buf_wait.list);
 
 		fcgi_release_buf(fconn, &fconn->dbuf);
@@ -3641,7 +3641,7 @@
 			}
 			else if (!fconn->conn->hash_node->node.node.leaf_p &&
 				 fcgi_avail_streams(fconn->conn) > 0 && objt_server(fconn->conn->target) &&
-				 !LIST_ADDED(&fconn->conn->session_list)) {
+				 !LIST_INLIST(&fconn->conn->session_list)) {
 				ebmb_insert(&__objt_server(fconn->conn->target)->per_thr[tid].avail_conns,
 				            &fconn->conn->hash_node->node,
 				            sizeof(fconn->conn->hash_node->hash));
@@ -3708,9 +3708,9 @@
 	 * automatically called via the shut_tl tasklet when there's room
 	 * again.
 	 */
-	if (!LIST_ADDED(&fstrm->send_list)) {
+	if (!LIST_INLIST(&fstrm->send_list)) {
 		if (fstrm->flags & (FCGI_SF_BLK_MBUSY|FCGI_SF_BLK_MROOM)) {
-			LIST_ADDQ(&fconn->send_list, &fstrm->send_list);
+			LIST_APPEND(&fconn->send_list, &fstrm->send_list);
 		}
 	}
 	fstrm->flags |= FCGI_SF_WANT_SHUTR;
@@ -3764,9 +3764,9 @@
 	 * automatically called via the shut_tl tasklet when there's room
 	 * again.
 	 */
-	if (!LIST_ADDED(&fstrm->send_list)) {
+	if (!LIST_INLIST(&fstrm->send_list)) {
 		if (fstrm->flags & (FCGI_SF_BLK_MBUSY|FCGI_SF_BLK_MROOM)) {
-			LIST_ADDQ(&fconn->send_list, &fstrm->send_list);
+			LIST_APPEND(&fconn->send_list, &fstrm->send_list);
 		}
 	}
 	fstrm->flags |= FCGI_SF_WANT_SHUTW;
@@ -3859,8 +3859,8 @@
 
 	if (event_type & SUB_RETRY_SEND) {
 		TRACE_DEVEL("unsubscribe(send)", FCGI_EV_STRM_SEND, fconn->conn, fstrm);
-		if (!LIST_ADDED(&fstrm->send_list))
-			LIST_ADDQ(&fconn->send_list, &fstrm->send_list);
+		if (!LIST_INLIST(&fstrm->send_list))
+			LIST_APPEND(&fconn->send_list, &fstrm->send_list);
 	}
 	return 0;
 }
diff --git a/src/mux_h1.c b/src/mux_h1.c
index aa885b8..e8a7d6b 100644
--- a/src/mux_h1.c
+++ b/src/mux_h1.c
@@ -448,11 +448,11 @@
 {
 	struct buffer *buf = NULL;
 
-	if (likely(!LIST_ADDED(&h1c->buf_wait.list)) &&
+	if (likely(!LIST_INLIST(&h1c->buf_wait.list)) &&
 	    unlikely((buf = b_alloc(bptr)) == NULL)) {
 		h1c->buf_wait.target = h1c;
 		h1c->buf_wait.wakeup_cb = h1_buf_available;
-		LIST_ADDQ(&ti->buffer_wq, &h1c->buf_wait.list);
+		LIST_APPEND(&ti->buffer_wq, &h1c->buf_wait.list);
 	}
 	return buf;
 }
@@ -913,7 +913,7 @@
 		}
 
 
-		if (LIST_ADDED(&h1c->buf_wait.list))
+		if (LIST_INLIST(&h1c->buf_wait.list))
 			LIST_DEL_INIT(&h1c->buf_wait.list);
 
 		h1_release_buf(h1c, &h1c->ibuf);
diff --git a/src/mux_h2.c b/src/mux_h2.c
index 7d2c64e..ac80719 100644
--- a/src/mux_h2.c
+++ b/src/mux_h2.c
@@ -806,11 +806,11 @@
 {
 	struct buffer *buf = NULL;
 
-	if (likely(!LIST_ADDED(&h2c->buf_wait.list)) &&
+	if (likely(!LIST_INLIST(&h2c->buf_wait.list)) &&
 	    unlikely((buf = b_alloc(bptr)) == NULL)) {
 		h2c->buf_wait.target = h2c;
 		h2c->buf_wait.wakeup_cb = h2_buf_available;
-		LIST_ADDQ(&ti->buffer_wq, &h2c->buf_wait.list);
+		LIST_APPEND(&ti->buffer_wq, &h2c->buf_wait.list);
 	}
 	return buf;
 }
@@ -1074,7 +1074,7 @@
 		TRACE_DEVEL("freeing h2c", H2_EV_H2C_END, conn);
 		hpack_dht_free(h2c->ddht);
 
-		if (LIST_ADDED(&h2c->buf_wait.list))
+		if (LIST_INLIST(&h2c->buf_wait.list))
 			LIST_DEL_INIT(&h2c->buf_wait.list);
 
 		h2_release_buf(h2c, &h2c->dbuf);
@@ -2125,7 +2125,7 @@
 			LIST_DEL_INIT(&h2s->list);
 			if ((h2s->subs && h2s->subs->events & SUB_RETRY_SEND) ||
 			    h2s->flags & (H2_SF_WANT_SHUTR|H2_SF_WANT_SHUTW))
-				LIST_ADDQ(&h2c->send_list, &h2s->list);
+				LIST_APPEND(&h2c->send_list, &h2s->list);
 		}
 		node = eb32_next(node);
 	}
@@ -2478,7 +2478,7 @@
 			LIST_DEL_INIT(&h2s->list);
 			if ((h2s->subs && h2s->subs->events & SUB_RETRY_SEND) ||
 			    h2s->flags & (H2_SF_WANT_SHUTR|H2_SF_WANT_SHUTW))
-				LIST_ADDQ(&h2c->send_list, &h2s->list);
+				LIST_APPEND(&h2c->send_list, &h2s->list);
 		}
 	}
 	else {
@@ -4274,7 +4274,7 @@
 				}
 				else if (!h2c->conn->hash_node->node.node.leaf_p &&
 					 h2_avail_streams(h2c->conn) > 0 && objt_server(h2c->conn->target) &&
-					 !LIST_ADDED(&h2c->conn->session_list)) {
+					 !LIST_INLIST(&h2c->conn->session_list)) {
 					ebmb_insert(&__objt_server(h2c->conn->target)->per_thr[tid].avail_conns,
 					            &h2c->conn->hash_node->node,
 					            sizeof(h2c->conn->hash_node->hash));
@@ -4361,11 +4361,11 @@
 	 * again.
 	 */
 	h2s->flags |= H2_SF_WANT_SHUTR;
-	if (!LIST_ADDED(&h2s->list)) {
+	if (!LIST_INLIST(&h2s->list)) {
 		if (h2s->flags & H2_SF_BLK_MFCTL)
-			LIST_ADDQ(&h2c->fctl_list, &h2s->list);
+			LIST_APPEND(&h2c->fctl_list, &h2s->list);
 		else if (h2s->flags & (H2_SF_BLK_MBUSY|H2_SF_BLK_MROOM))
-			LIST_ADDQ(&h2c->send_list, &h2s->list);
+			LIST_APPEND(&h2c->send_list, &h2s->list);
 	}
 	TRACE_LEAVE(H2_EV_STRM_SHUT, h2c->conn, h2s);
 	return;
@@ -4436,11 +4436,11 @@
 	 * again.
 	 */
 	h2s->flags |= H2_SF_WANT_SHUTW;
-	if (!LIST_ADDED(&h2s->list)) {
+	if (!LIST_INLIST(&h2s->list)) {
 		if (h2s->flags & H2_SF_BLK_MFCTL)
-			LIST_ADDQ(&h2c->fctl_list, &h2s->list);
+			LIST_APPEND(&h2c->fctl_list, &h2s->list);
 		else if (h2s->flags & (H2_SF_BLK_MBUSY|H2_SF_BLK_MROOM))
-			LIST_ADDQ(&h2c->send_list, &h2s->list);
+			LIST_APPEND(&h2c->send_list, &h2s->list);
 	}
 	TRACE_LEAVE(H2_EV_STRM_SHUT, h2c->conn, h2s);
 	return;
@@ -5765,9 +5765,9 @@
 
 	if (h2s_mws(h2s) <= 0) {
 		h2s->flags |= H2_SF_BLK_SFCTL;
-		if (LIST_ADDED(&h2s->list))
+		if (LIST_INLIST(&h2s->list))
 			LIST_DEL_INIT(&h2s->list);
-		LIST_ADDQ(&h2c->blocked_list, &h2s->list);
+		LIST_APPEND(&h2c->blocked_list, &h2s->list);
 		TRACE_STATE("stream window <=0, flow-controlled", H2_EV_TX_FRAME|H2_EV_TX_DATA|H2_EV_H2S_FCTL, h2c->conn, h2s);
 		goto end;
 	}
@@ -6151,11 +6151,11 @@
 	if (event_type & SUB_RETRY_SEND) {
 		TRACE_DEVEL("subscribe(send)", H2_EV_STRM_SEND, h2c->conn, h2s);
 		if (!(h2s->flags & H2_SF_BLK_SFCTL) &&
-		    !LIST_ADDED(&h2s->list)) {
+		    !LIST_INLIST(&h2s->list)) {
 			if (h2s->flags & H2_SF_BLK_MFCTL)
-				LIST_ADDQ(&h2c->fctl_list, &h2s->list);
+				LIST_APPEND(&h2c->fctl_list, &h2s->list);
 			else
-				LIST_ADDQ(&h2c->send_list, &h2s->list);
+				LIST_APPEND(&h2c->send_list, &h2s->list);
 		}
 	}
 	TRACE_LEAVE(H2_EV_STRM_SEND|H2_EV_STRM_RECV, h2c->conn, h2s);
diff --git a/src/mworker-prog.c b/src/mworker-prog.c
index 4113b7c..8d9ce3a 100644
--- a/src/mworker-prog.c
+++ b/src/mworker-prog.c
@@ -70,7 +70,7 @@
 				}
 
 
-				LIST_DEL(&child->list);
+				LIST_DELETE(&child->list);
 				mworker_free_child(child);
 				child = NULL;
 
@@ -183,7 +183,7 @@
 			goto error;
 		}
 
-		LIST_ADDQ(&proc_list, &ext_child->list);
+		LIST_APPEND(&proc_list, &ext_child->list);
 
 	} else if (strcmp(args[0], "command") == 0) {
 		int arg_nb = 0;
@@ -302,7 +302,7 @@
 
 error:
 	if (ext_child) {
-		LIST_DEL(&ext_child->list);
+		LIST_DELETE(&ext_child->list);
 		if (ext_child->command) {
 			int i;
 
diff --git a/src/mworker.c b/src/mworker.c
index afcada6..e3c579b 100644
--- a/src/mworker.c
+++ b/src/mworker.c
@@ -184,7 +184,7 @@
 			/* this is a process inherited from a reload that should be leaving */
 			child->options |= PROC_O_LEAVING;
 
-			LIST_ADDQ(&proc_list, &child->list);
+			LIST_APPEND(&proc_list, &child->list);
 		} else {
 			mworker_free_child(child);
 		}
@@ -276,7 +276,7 @@
 			if (child->pid != exitpid)
 				continue;
 
-			LIST_DEL(&child->list);
+			LIST_DELETE(&child->list);
 			close(child->ipc_fd[0]);
 			childfound = 1;
 			break;
diff --git a/src/pattern.c b/src/pattern.c
index 252bd35..80ff025 100644
--- a/src/pattern.c
+++ b/src/pattern.c
@@ -1163,7 +1163,7 @@
 	struct pattern_list *pat, *tmp;
 
 	list_for_each_entry_safe(pat, tmp, &expr->patterns, list) {
-		LIST_DEL(&pat->list);
+		LIST_DELETE(&pat->list);
 		pat_unlink_from_head(&pat->pat.ref->list_head, &pat->from_ref);
 		if (pat->pat.sflags & PAT_SF_REGFREE)
 			regex_free(pat->pat.ptr.ptr);
@@ -1200,7 +1200,7 @@
 	memcpy(&patl->pat, pat, sizeof(*pat));
 
 	/* chain pattern in the expression */
-	LIST_ADDQ(&expr->patterns, &patl->list);
+	LIST_APPEND(&expr->patterns, &patl->list);
 	/* and from the reference */
 	patl->from_ref = pat->ref->list_head;
 	pat->ref->list_head = &patl->from_ref;
@@ -1232,7 +1232,7 @@
 	memcpy(patl->pat.ptr.ptr, pat->ptr.ptr, pat->len);
 
 	/* chain pattern in the expression */
-	LIST_ADDQ(&expr->patterns, &patl->list);
+	LIST_APPEND(&expr->patterns, &patl->list);
 	/* and from the reference */
 	patl->from_ref = pat->ref->list_head;
 	pat->ref->list_head = &patl->from_ref;
@@ -1265,7 +1265,7 @@
 	patl->pat.ptr.str[patl->pat.len] = '\0';
 
 	/* chain pattern in the expression */
-	LIST_ADDQ(&expr->patterns, &patl->list);
+	LIST_APPEND(&expr->patterns, &patl->list);
 	/* and from the reference */
 	patl->from_ref = pat->ref->list_head;
 	pat->ref->list_head = &patl->from_ref;
@@ -1298,7 +1298,7 @@
 	}
 
 	/* chain pattern in the expression */
-	LIST_ADDQ(&expr->patterns, &patl->list);
+	LIST_APPEND(&expr->patterns, &patl->list);
 	/* and from the reference */
 	patl->from_ref = pat->ref->list_head;
 	pat->ref->list_head = &patl->from_ref;
@@ -1506,7 +1506,7 @@
 		BUG_ON(pat->pat.ref != elt);
 
 		/* Delete and free entry. */
-		LIST_DEL(&pat->list);
+		LIST_DELETE(&pat->list);
 		if (pat->pat.sflags & PAT_SF_REGFREE)
 			regex_free(pat->pat.ptr.reg);
 		else
@@ -1597,10 +1597,10 @@
 	 * not relink them if this elt was the last one in the list.
 	 */
 	list_for_each_entry_safe(bref, back, &elt->back_refs, users) {
-		LIST_DEL(&bref->users);
+		LIST_DELETE(&bref->users);
 		LIST_INIT(&bref->users);
 		if (elt->list.n != &ref->head)
-			LIST_ADDQ(&LIST_ELEM(elt->list.n, typeof(elt), list)->back_refs, &bref->users);
+			LIST_APPEND(&LIST_ELEM(elt->list.n, typeof(elt), list)->back_refs, &bref->users);
 		bref->ref = elt->list.n;
 	}
 
@@ -1613,7 +1613,7 @@
 	list_for_each_entry(expr, &ref->pat, list)
 		HA_RWLOCK_WRUNLOCK(PATEXP_LOCK, &expr->lock);
 
-	LIST_DEL(&elt->list);
+	LIST_DELETE(&elt->list);
 	free(elt->sample);
 	free(elt->pattern);
 	free(elt);
@@ -1823,7 +1823,7 @@
 	LIST_INIT(&ref->head);
 	LIST_INIT(&ref->pat);
 	HA_SPIN_INIT(&ref->lock);
-	LIST_ADDQ(&pattern_reference, &ref->list);
+	LIST_APPEND(&pattern_reference, &ref->list);
 
 	return ref;
 }
@@ -1859,7 +1859,7 @@
 	LIST_INIT(&ref->head);
 	LIST_INIT(&ref->pat);
 	HA_SPIN_INIT(&ref->lock);
-	LIST_ADDQ(&pattern_reference, &ref->list);
+	LIST_APPEND(&pattern_reference, &ref->list);
 
 	return ref;
 }
@@ -1893,7 +1893,7 @@
 	LIST_INIT(&elt->back_refs);
 	elt->list_head = NULL;
 	elt->tree_head = NULL;
-	LIST_ADDQ(&ref->head, &elt->list);
+	LIST_APPEND(&ref->head, &elt->list);
 	return elt;
  fail:
 	if (elt)
@@ -2052,17 +2052,17 @@
 		 * not relink them if this elt was the last one in the list.
 		 */
 		list_for_each_entry_safe(bref, bref_bck, &elt->back_refs, users) {
-			LIST_DEL(&bref->users);
+			LIST_DELETE(&bref->users);
 			LIST_INIT(&bref->users);
 			if (elt->list.n != &ref->head)
-				LIST_ADDQ(&LIST_ELEM(elt->list.n, typeof(elt), list)->back_refs, &bref->users);
+				LIST_APPEND(&LIST_ELEM(elt->list.n, typeof(elt), list)->back_refs, &bref->users);
 			bref->ref = elt->list.n;
 		}
 
 		/* delete the storage for all representations of this pattern. */
 		pat_delete_gen(ref, elt);
 
-		LIST_DEL(&elt->list);
+		LIST_DELETE(&elt->list);
 		free(elt->pattern);
 		free(elt->sample);
 		free(elt);
@@ -2107,15 +2107,15 @@
 			bref->ref = NULL;
 		}
 		pat_delete_gen(ref, elt);
-		LIST_DEL(&elt->list);
+		LIST_DELETE(&elt->list);
 		free(elt->pattern);
 		free(elt->sample);
 		free(elt);
 	}
 
 	/* switch pat_ret_elt lists */
-	LIST_ADD(&replace->head, &ref->head);
-	LIST_DEL(&replace->head);
+	LIST_INSERT(&replace->head, &ref->head);
+	LIST_DELETE(&replace->head);
 
 	list_for_each_entry(expr, &ref->pat, list) {
 		list_for_each_entry(elt, &ref->head, list) {
@@ -2255,9 +2255,9 @@
 		/* This new pattern expression reference one of his heads. */
 		expr->pat_head = head;
 
-		/* Link with ref, or to self to facilitate LIST_DEL() */
+		/* Link with ref, or to self to facilitate LIST_DELETE() */
 		if (ref)
-			LIST_ADDQ(&ref->pat, &expr->list);
+			LIST_APPEND(&ref->pat, &expr->list);
 		else
 			LIST_INIT(&expr->list);
 
@@ -2281,7 +2281,7 @@
 	list->expr = expr;
 
 	/* Link the list element with the pattern_head. */
-	LIST_ADDQ(&head->head, &list->list);
+	LIST_APPEND(&head->head, &list->list);
 	return expr;
 }
 
@@ -2637,9 +2637,9 @@
 	struct pattern_expr_list *list, *safe;
 
 	list_for_each_entry_safe(list, safe, &head->head, list) {
-		LIST_DEL(&list->list);
+		LIST_DELETE(&list->list);
 		if (list->do_free) {
-			LIST_DEL(&list->expr->list);
+			LIST_DELETE(&list->expr->list);
 			HA_RWLOCK_WRLOCK(PATEXP_LOCK, &list->expr->lock);
 			head->prune(list->expr);
 			HA_RWLOCK_WRUNLOCK(PATEXP_LOCK, &list->expr->lock);
@@ -2754,11 +2754,11 @@
 
 	/* Convert back to linked list */
 	for (i = 0; i < len; i++)
-		LIST_ADDQ(&pr, &arr[i]->list);
+		LIST_APPEND(&pr, &arr[i]->list);
 
 	/* swap root */
-	LIST_ADD(&pr, &pattern_reference);
-	LIST_DEL(&pr);
+	LIST_INSERT(&pr, &pattern_reference);
+	LIST_DELETE(&pr);
 
 	free(arr);
 	return 0;
diff --git a/src/peers.c b/src/peers.c
index 2ebb107..b7ea415 100644
--- a/src/peers.c
+++ b/src/peers.c
@@ -2858,7 +2858,7 @@
 
 	/* Error unrolling */
  out_free_strm:
-	LIST_DEL(&s->list);
+	LIST_DELETE(&s->list);
 	pool_free(pool_head_stream, s);
  out_free_sess:
 	session_free(sess);
diff --git a/src/pool.c b/src/pool.c
index 7009502..2233750 100644
--- a/src/pool.c
+++ b/src/pool.c
@@ -104,7 +104,7 @@
 			strlcpy2(pool->name, name, sizeof(pool->name));
 		pool->size = size;
 		pool->flags = flags;
-		LIST_ADDQ(start, &pool->list);
+		LIST_APPEND(start, &pool->list);
 
 #ifdef CONFIG_HAP_POOLS
 		/* update per-thread pool cache if necessary */
@@ -202,8 +202,8 @@
 		ph->count--;
 		pool_cache_bytes -= pool->size;
 		pool_cache_count--;
-		LIST_DEL(&item->by_pool);
-		LIST_DEL(&item->by_lru);
+		LIST_DELETE(&item->by_pool);
+		LIST_DELETE(&item->by_lru);
 		pool_put_to_shared_cache(pool, item);
 	}
 }
@@ -224,8 +224,8 @@
 		 */
 		ph = LIST_NEXT(&item->by_pool, struct pool_cache_head *, list);
 		pool = container_of(ph - tid, struct pool_head, cache);
-		LIST_DEL(&item->by_pool);
-		LIST_DEL(&item->by_lru);
+		LIST_DELETE(&item->by_pool);
+		LIST_DELETE(&item->by_lru);
 		ph->count--;
 		pool_cache_count--;
 		pool_cache_bytes -= pool->size;
@@ -243,8 +243,8 @@
 	struct pool_cache_item *item = (struct pool_cache_item *)ptr;
 	struct pool_cache_head *ph = &pool->cache[tid];
 
-	LIST_ADD(&ph->list, &item->by_pool);
-	LIST_ADD(&ti->pool_lru_head, &item->by_lru);
+	LIST_INSERT(&ph->list, &item->by_pool);
+	LIST_INSERT(&ti->pool_lru_head, &item->by_lru);
 	ph->count++;
 	pool_cache_count++;
 	pool_cache_bytes += pool->size;
@@ -429,7 +429,7 @@
 			return pool;
 		pool->users--;
 		if (!pool->users) {
-			LIST_DEL(&pool->list);
+			LIST_DELETE(&pool->list);
 #ifndef CONFIG_HAP_LOCKLESS_POOLS
 			HA_SPIN_DESTROY(&pool->lock);
 #endif
diff --git a/src/protocol.c b/src/protocol.c
index cd574f2..767e03a 100644
--- a/src/protocol.c
+++ b/src/protocol.c
@@ -36,7 +36,7 @@
 void protocol_register(struct protocol *proto)
 {
 	HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
-	LIST_ADDQ(&protocols, &proto->list);
+	LIST_APPEND(&protocols, &proto->list);
 	if (proto->fam->sock_domain >= 0 && proto->fam->sock_domain < AF_CUST_MAX)
 		__protocol_by_family[proto->fam->sock_domain]
 			[proto->sock_type == SOCK_DGRAM]
@@ -50,7 +50,7 @@
 void protocol_unregister(struct protocol *proto)
 {
 	HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
-	LIST_DEL(&proto->list);
+	LIST_DELETE(&proto->list);
 	LIST_INIT(&proto->list);
 	HA_SPIN_UNLOCK(PROTO_LOCK, &proto_lock);
 }
diff --git a/src/proxy.c b/src/proxy.c
index 80eba92..c3859e6 100644
--- a/src/proxy.c
+++ b/src/proxy.c
@@ -121,7 +121,7 @@
 	struct sticking_rule *rule, *ruleb;
 
 	list_for_each_entry_safe(rule, ruleb, rules, list) {
-		LIST_DEL(&rule->list);
+		LIST_DELETE(&rule->list);
 		free_acl_cond(rule->cond);
 		release_sample_expr(rule->expr);
 		free(rule);
@@ -176,7 +176,7 @@
 	free(p->conf.lfsd_file);
 
 	list_for_each_entry_safe(cond, condb, &p->mon_fail_cond, list) {
-		LIST_DEL(&cond->list);
+		LIST_DELETE(&cond->list);
 		prune_acl_cond(cond);
 		free(cond);
 	}
@@ -185,16 +185,16 @@
 	EXTRA_COUNTERS_FREE(p->extra_counters_be);
 
 	list_for_each_entry_safe(acl, aclb, &p->acl, list) {
-		LIST_DEL(&acl->list);
+		LIST_DELETE(&acl->list);
 		prune_acl(acl);
 		free(acl);
 	}
 
 	list_for_each_entry_safe(srule, sruleb, &p->server_rules, list) {
-		LIST_DEL(&srule->list);
+		LIST_DELETE(&srule->list);
 		prune_acl_cond(srule->cond);
 		list_for_each_entry_safe(lf, lfb, &srule->expr, list) {
-			LIST_DEL(&lf->list);
+			LIST_DELETE(&lf->list);
 			release_sample_expr(lf->expr);
 			free(lf->arg);
 			free(lf);
@@ -205,7 +205,7 @@
 	}
 
 	list_for_each_entry_safe(rule, ruleb, &p->switching_rules, list) {
-		LIST_DEL(&rule->list);
+		LIST_DELETE(&rule->list);
 		if (rule->cond) {
 			prune_acl_cond(rule->cond);
 			free(rule->cond);
@@ -215,40 +215,40 @@
 	}
 
 	list_for_each_entry_safe(rdr, rdrb, &p->redirect_rules, list) {
-		LIST_DEL(&rdr->list);
+		LIST_DELETE(&rdr->list);
 		if (rdr->cond) {
 			prune_acl_cond(rdr->cond);
 			free(rdr->cond);
 		}
 		free(rdr->rdr_str);
 		list_for_each_entry_safe(lf, lfb, &rdr->rdr_fmt, list) {
-			LIST_DEL(&lf->list);
+			LIST_DELETE(&lf->list);
 			free(lf);
 		}
 		free(rdr);
 	}
 
 	list_for_each_entry_safe(log, logb, &p->logsrvs, list) {
-		LIST_DEL(&log->list);
+		LIST_DELETE(&log->list);
 		free(log);
 	}
 
 	list_for_each_entry_safe(lf, lfb, &p->logformat, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		release_sample_expr(lf->expr);
 		free(lf->arg);
 		free(lf);
 	}
 
 	list_for_each_entry_safe(lf, lfb, &p->logformat_sd, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		release_sample_expr(lf->expr);
 		free(lf->arg);
 		free(lf);
 	}
 
 	list_for_each_entry_safe(lf, lfb, &p->format_unique_id, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		release_sample_expr(lf->expr);
 		free(lf->arg);
 		free(lf);
@@ -293,8 +293,8 @@
 	}/* end while(s) */
 
 	list_for_each_entry_safe(l, l_next, &p->conf.listeners, by_fe) {
-		LIST_DEL(&l->by_fe);
-		LIST_DEL(&l->by_bind);
+		LIST_DELETE(&l->by_fe);
+		LIST_DELETE(&l->by_bind);
 		free(l->name);
 		free(l->counters);
 
@@ -308,7 +308,7 @@
 			bind_conf->xprt->destroy_bind_conf(bind_conf);
 		free(bind_conf->file);
 		free(bind_conf->arg);
-		LIST_DEL(&bind_conf->by_fe);
+		LIST_DELETE(&bind_conf->by_fe);
 		free(bind_conf);
 	}
 
@@ -1684,7 +1684,7 @@
 		memcpy(node, tmplogsrv, sizeof(struct logsrv));
 		node->ref = tmplogsrv->ref;
 		LIST_INIT(&node->list);
-		LIST_ADDQ(&curproxy->logsrvs, &node->list);
+		LIST_APPEND(&curproxy->logsrvs, &node->list);
 	}
 
 	curproxy->conf.uniqueid_format_string = defproxy->conf.uniqueid_format_string;
diff --git a/src/quic_sock.c b/src/quic_sock.c
index 8ded828..82d6270 100644
--- a/src/quic_sock.c
+++ b/src/quic_sock.c
@@ -151,7 +151,7 @@
 		goto err;
 
 	qc = pkt->qc;
-	LIST_DEL(&pkt->rx_list);
+	LIST_DELETE(&pkt->rx_list);
 	if (!new_quic_cli_conn(qc, l, &pkt->saddr))
 		goto err;
 
diff --git a/src/resolvers.c b/src/resolvers.c
index 1ba5d66..88e8d76 100644
--- a/src/resolvers.c
+++ b/src/resolvers.c
@@ -210,7 +210,7 @@
 			 proxy_type_str(px), px->id, srv->id);
 		goto err;
 	}
-	LIST_ADDQ(&resolv_srvrq_list, &srvrq->list);
+	LIST_APPEND(&resolv_srvrq_list, &srvrq->list);
 	return srvrq;
 
   err:
@@ -378,8 +378,8 @@
 	}
 
 	/* Push the resolution at the end of the active list */
-	LIST_DEL(&resolution->list);
-	LIST_ADDQ(&resolvers->resolutions.curr, &resolution->list);
+	LIST_DELETE(&resolution->list);
+	LIST_APPEND(&resolvers->resolutions.curr, &resolution->list);
 	return 0;
 }
 
@@ -617,7 +617,7 @@
 			}
 
 		  rm_obselete_item:
-			LIST_DEL(&item->list);
+			LIST_DELETE(&item->list);
 			if (item->ar_item) {
 				pool_free(resolv_answer_item_pool, item->ar_item);
 				item->ar_item = NULL;
@@ -854,7 +854,7 @@
 		if (query_record_id > DNS_MAX_QUERY_RECORDS)
 			goto invalid_resp;
 		query = &resolution->response_query_records[query_record_id];
-		LIST_ADDQ(&r_res->query_list, &query->list);
+		LIST_APPEND(&r_res->query_list, &query->list);
 
 		/* Name is a NULL terminated string in our case, since we have
 		 * one query per response and the first one can't be compressed
@@ -1103,7 +1103,7 @@
 		else {
 			answer_record->last_seen = now_ms;
 			answer_record->ar_item = NULL;
-			LIST_ADDQ(&r_res->answer_list, &answer_record->list);
+			LIST_APPEND(&r_res->answer_list, &answer_record->list);
 			answer_record = NULL;
 		}
 	} /* for i 0 to ancount */
@@ -1496,8 +1496,8 @@
 	list_for_each_entry(record, &r_res->answer_list, list) {
 		/* Move the first record to the end of the list, for internal
 		 * round robin */
-		LIST_DEL(&record->list);
-		LIST_ADDQ(&r_res->answer_list, &record->list);
+		LIST_DELETE(&record->list);
+		LIST_APPEND(&r_res->answer_list, &record->list);
 		break;
 	}
 	return RSLV_UPD_SRVIP_NOT_FOUND;
@@ -1678,7 +1678,7 @@
 		++resolution_uuid;
 
 		/* Move the resolution to the resolvers wait queue */
-		LIST_ADDQ(&resolvers->resolutions.wait, &res->list);
+		LIST_APPEND(&resolvers->resolutions.wait, &res->list);
 	}
 	return res;
 }
@@ -1688,7 +1688,7 @@
 	struct resolv_answer_item *item, *itemback;
 
 	list_for_each_entry_safe(item, itemback, &resolution->response.answer_list, list) {
-		LIST_DEL(&item->list);
+		LIST_DELETE(&item->list);
 		pool_free(resolv_answer_item_pool, item->ar_item);
 		pool_free(resolv_answer_item_pool, item);
 	}
@@ -1705,11 +1705,11 @@
 	resolution->hostname_dn_len = 0;
 
 	list_for_each_entry_safe(req, reqback, &resolution->requesters, list) {
-		LIST_DEL(&req->list);
+		LIST_DELETE(&req->list);
 		req->resolution = NULL;
 	}
 	resolv_purge_resolution_answer_records(resolution);
-	LIST_DEL(&resolution->list);
+	LIST_DELETE(&resolution->list);
 	pool_free(resolv_resolution_pool, resolution);
 }
 
@@ -1814,7 +1814,7 @@
 
 	req->resolution         = res;
 
-	LIST_ADDQ(&res->requesters, &req->list);
+	LIST_APPEND(&res->requesters, &req->list);
 	return 0;
 
   err:
@@ -1838,7 +1838,7 @@
 	res = requester->resolution;
 
 	/* Clean up the requester */
-	LIST_DEL(&requester->list);
+	LIST_DELETE(&requester->list);
 	requester->resolution = NULL;
 
 	/* We need to find another requester linked on this resolution */
@@ -2036,8 +2036,8 @@
 		list_for_each_entry(req, &res->requesters, list)
 			req->requester_error_cb(req, dns_resp);
 		resolv_reset_resolution(res);
-		LIST_DEL(&res->list);
-		LIST_ADDQ(&resolvers->resolutions.wait, &res->list);
+		LIST_DELETE(&res->list);
+		LIST_APPEND(&resolvers->resolutions.wait, &res->list);
 		continue;
 
 	report_res_success:
@@ -2056,8 +2056,8 @@
 		}
 
 		resolv_reset_resolution(res);
-		LIST_DEL(&res->list);
-		LIST_ADDQ(&resolvers->resolutions.wait, &res->list);
+		LIST_DELETE(&res->list);
+		LIST_APPEND(&resolvers->resolutions.wait, &res->list);
 		continue;
 	}
 	resolv_update_resolvers_timeout(resolvers);
@@ -2106,8 +2106,8 @@
 			/* Clean up resolution info and remove it from the
 			 * current list */
 			resolv_reset_resolution(res);
-			LIST_DEL(&res->list);
-			LIST_ADDQ(&resolvers->resolutions.wait, &res->list);
+			LIST_DELETE(&res->list);
+			LIST_APPEND(&resolvers->resolutions.wait, &res->list);
 		}
 		else {
 			/* Otherwise resend the DNS query and requeue the resolution */
@@ -2144,8 +2144,8 @@
 
 		if (resolv_run_resolution(res) != 1) {
 			res->last_resolution = now_ms;
-			LIST_DEL(&res->list);
-			LIST_ADDQ(&resolvers->resolutions.wait, &res->list);
+			LIST_DELETE(&res->list);
+			LIST_APPEND(&resolvers->resolutions.wait, &res->list);
 		}
 	}
 
@@ -2185,14 +2185,14 @@
 					task_destroy(ns->stream->task_rsp);
 				free(ns->stream);
 			}
-			LIST_DEL(&ns->list);
+			LIST_DELETE(&ns->list);
 			EXTRA_COUNTERS_FREE(ns->extra_counters);
 			free(ns);
 		}
 
 		list_for_each_entry_safe(res, resback, &resolvers->resolutions.curr, list) {
 			list_for_each_entry_safe(req, reqback, &res->requesters, list) {
-				LIST_DEL(&req->list);
+				LIST_DELETE(&req->list);
 				pool_free(resolv_requester_pool, req);
 			}
 			resolv_free_resolution(res);
@@ -2200,7 +2200,7 @@
 
 		list_for_each_entry_safe(res, resback, &resolvers->resolutions.wait, list) {
 			list_for_each_entry_safe(req, reqback, &res->requesters, list) {
-				LIST_DEL(&req->list);
+				LIST_DELETE(&req->list);
 				pool_free(resolv_requester_pool, req);
 			}
 			resolv_free_resolution(res);
@@ -2209,14 +2209,14 @@
 		free(resolvers->id);
 		free((char *)resolvers->conf.file);
 		task_destroy(resolvers->t);
-		LIST_DEL(&resolvers->list);
+		LIST_DELETE(&resolvers->list);
 		free(resolvers);
 	}
 
 	list_for_each_entry_safe(srvrq, srvrqback, &resolv_srvrq_list, list) {
 		free(srvrq->name);
 		free(srvrq->hostname_dn);
-		LIST_DEL(&srvrq->list);
+		LIST_DELETE(&srvrq->list);
 		free(srvrq);
 	}
 }
@@ -2945,7 +2945,7 @@
                 curr_resolvers->px = p;
 
 		/* default values */
-		LIST_ADDQ(&sec_resolvers, &curr_resolvers->list);
+		LIST_APPEND(&sec_resolvers, &curr_resolvers->list);
 		curr_resolvers->conf.file = strdup(file);
 		curr_resolvers->conf.line = linenum;
 		curr_resolvers->id = strdup(args[1]);
@@ -3048,7 +3048,7 @@
 		newnameserver->process_responses = resolv_process_responses;
 		newnameserver->conf.line = linenum;
 		/* the nameservers are linked backward first */
-		LIST_ADDQ(&curr_resolvers->nameservers, &newnameserver->list);
+		LIST_APPEND(&curr_resolvers->nameservers, &newnameserver->list);
 	}
 	else if (strcmp(args[0], "parse-resolv-conf") == 0) {
 		struct dns_nameserver *newnameserver = NULL;
@@ -3163,7 +3163,7 @@
 			newnameserver->parent = curr_resolvers;
 			newnameserver->process_responses = resolv_process_responses;
 			newnameserver->conf.line = resolv_linenum;
-			LIST_ADDQ(&curr_resolvers->nameservers, &newnameserver->list);
+			LIST_APPEND(&curr_resolvers->nameservers, &newnameserver->list);
 		}
 
 resolv_out:
diff --git a/src/ring.c b/src/ring.c
index e7664d0..4f1bca2 100644
--- a/src/ring.c
+++ b/src/ring.c
@@ -363,7 +363,7 @@
 		if (!si_oc(si)->output && !(si_oc(si)->flags & CF_SHUTW)) {
 			/* let's be woken up once new data arrive */
 			HA_RWLOCK_WRLOCK(LOGSRV_LOCK, &ring->lock);
-			LIST_ADDQ(&ring->waiters, &appctx->wait_entry);
+			LIST_APPEND(&ring->waiters, &appctx->wait_entry);
 			HA_RWLOCK_WRUNLOCK(LOGSRV_LOCK, &ring->lock);
 			si_rx_endp_done(si);
 			ret = 0;
diff --git a/src/sample.c b/src/sample.c
index ed60631..b48cf71 100644
--- a/src/sample.c
+++ b/src/sample.c
@@ -398,7 +398,7 @@
 			if (sf->use & (1 << bit))
 				sf->val |= fetch_cap[bit];
 	}
-	LIST_ADDQ(&sample_fetches.list, &kwl->list);
+	LIST_APPEND(&sample_fetches.list, &kwl->list);
 }
 
 /*
@@ -407,7 +407,7 @@
  */
 void sample_register_convs(struct sample_conv_kw_list *pckl)
 {
-	LIST_ADDQ(&sample_convs.list, &pckl->list);
+	LIST_APPEND(&sample_convs.list, &pckl->list);
 }
 
 /*
@@ -1018,7 +1018,7 @@
 		if (!conv_expr)
 			goto out_error;
 
-		LIST_ADDQ(&(expr->conv_exprs), &(conv_expr->list));
+		LIST_APPEND(&(expr->conv_exprs), &(conv_expr->list));
 		conv_expr->conv = conv;
 
 		al->kw = expr->fetch->kw;
@@ -1372,7 +1372,7 @@
 
 		}
 
-		LIST_DEL(&cur->list);
+		LIST_DELETE(&cur->list);
 		free(cur);
 	} /* end of args processing */
 
@@ -1455,7 +1455,7 @@
 		return;
 
 	list_for_each_entry_safe(conv_expr, conv_exprb, &expr->conv_exprs, list) {
-		LIST_DEL(&conv_expr->list);
+		LIST_DELETE(&conv_expr->list);
 		release_sample_arg(conv_expr->arg_p);
 		free(conv_expr);
 	}
diff --git a/src/server.c b/src/server.c
index fb7b750..d8fb65a 100644
--- a/src/server.c
+++ b/src/server.c
@@ -233,7 +233,7 @@
  */
 void srv_register_keywords(struct srv_kw_list *kwl)
 {
-	LIST_ADDQ(&srv_keywords.list, &kwl->list);
+	LIST_APPEND(&srv_keywords.list, &kwl->list);
 }
 
 /* Return a pointer to the server keyword <kw>, or NULL if not found. If the
@@ -2151,7 +2151,7 @@
 	srv->obj_type = OBJ_TYPE_SERVER;
 	srv->proxy = proxy;
 	srv->pendconns = EB_ROOT;
-	LIST_ADDQ(&servers_list, &srv->global_list);
+	LIST_APPEND(&servers_list, &srv->global_list);
 
 	srv->next_state = SRV_ST_RUNNING; /* early server setup */
 	srv->last_change = now.tv_sec;
@@ -2204,7 +2204,7 @@
 	}
 	HA_SPIN_DESTROY(&srv->lock);
 
-	LIST_DEL(&srv->global_list);
+	LIST_DELETE(&srv->global_list);
 
 	EXTRA_COUNTERS_FREE(srv->extra_counters);
 
@@ -2313,7 +2313,7 @@
 #endif
 		free_check(&newsrv->agent);
 		free_check(&newsrv->check);
-		LIST_DEL(&newsrv->global_list);
+		LIST_DELETE(&newsrv->global_list);
 	}
 	free(newsrv);
 	return i - srv->tmpl_info.nb_low;
@@ -5045,7 +5045,7 @@
 
 		hash_node = ebmb_entry(node, struct conn_hash_node, node);
 		eb_delete(node);
-		MT_LIST_ADDQ(toremove_list, &hash_node->conn->toremove_list);
+		MT_LIST_APPEND(toremove_list, &hash_node->conn->toremove_list);
 		i++;
 
 		node = next;
diff --git a/src/shctx.c b/src/shctx.c
index f4002a4..1160a1b 100644
--- a/src/shctx.c
+++ b/src/shctx.c
@@ -371,7 +371,7 @@
 		cur_block->len = 0;
 		cur_block->refcount = 0;
 		cur_block->block_count = 1;
-		LIST_ADDQ(&shctx->avail, &cur_block->list);
+		LIST_APPEND(&shctx->avail, &cur_block->list);
 		shctx->nbav++;
 		cur += sizeof(struct shared_block) + blocksize;
 	}
diff --git a/src/signal.c b/src/signal.c
index 946157e..5ec7142 100644
--- a/src/signal.c
+++ b/src/signal.c
@@ -154,7 +154,7 @@
 		if (sig != SIGPROF)
 			signal(sig, SIG_DFL);
 		list_for_each_entry_safe(sh, shb, &signal_state[sig].handlers, list) {
-			LIST_DEL(&sh->list);
+			LIST_DELETE(&sh->list);
 			pool_free(pool_head_sig_handlers, sh);
 		}
 	}
@@ -188,7 +188,7 @@
 	sh->handler = fct;
 	sh->arg = arg;
 	sh->flags = SIG_F_TYPE_FCT;
-	LIST_ADDQ(&signal_state[sig].handlers, &sh->list);
+	LIST_APPEND(&signal_state[sig].handlers, &sh->list);
 	return sh;
 }
 
@@ -220,7 +220,7 @@
 	sh->handler = task;
 	sh->arg = reason & ~TASK_WOKEN_ANY;
 	sh->flags = SIG_F_TYPE_TASK;
-	LIST_ADDQ(&signal_state[sig].handlers, &sh->list);
+	LIST_APPEND(&signal_state[sig].handlers, &sh->list);
 	return sh;
 }
 
@@ -229,7 +229,7 @@
  */
 void signal_unregister_handler(struct sig_handler *handler)
 {
-	LIST_DEL(&handler->list);
+	LIST_DELETE(&handler->list);
 	pool_free(pool_head_sig_handlers, handler);
 }
 
@@ -251,7 +251,7 @@
 
 	list_for_each_entry_safe(sh, shb, &signal_state[sig].handlers, list) {
 		if (sh->handler == target) {
-			LIST_DEL(&sh->list);
+			LIST_DELETE(&sh->list);
 			pool_free(pool_head_sig_handlers, sh);
 			break;
 		}
@@ -271,7 +271,7 @@
 		return;
 
 	list_for_each_entry_safe(sh, shb, &signal_state[sig].handlers, list) {
-		LIST_DEL(&sh->list);
+		LIST_DELETE(&sh->list);
 		pool_free(pool_head_sig_handlers, sh);
 	}
 
diff --git a/src/sink.c b/src/sink.c
index 1c6536a..63d3778 100644
--- a/src/sink.c
+++ b/src/sink.c
@@ -77,7 +77,7 @@
 	sink->ctx.fd = -1;
 	sink->ctx.dropped = 0;
 	HA_RWLOCK_INIT(&sink->ctx.lock);
-	LIST_ADDQ(&sink_list, &sink->sink_list);
+	LIST_APPEND(&sink_list, &sink->sink_list);
  end:
 	return sink;
 
@@ -139,7 +139,7 @@
 
 	sink->ctx.ring = ring_new(size);
 	if (!sink->ctx.ring) {
-		LIST_DEL(&sink->sink_list);
+		LIST_DELETE(&sink->sink_list);
 		free(sink->name);
 		free(sink->desc);
 		free(sink);
@@ -410,7 +410,7 @@
 	if (ret) {
 		/* let's be woken up once new data arrive */
 		HA_RWLOCK_WRLOCK(LOGSRV_LOCK, &ring->lock);
-		LIST_ADDQ(&ring->waiters, &appctx->wait_entry);
+		LIST_APPEND(&ring->waiters, &appctx->wait_entry);
 		HA_RWLOCK_WRUNLOCK(LOGSRV_LOCK, &ring->lock);
 		si_rx_endp_done(si);
 	}
@@ -554,7 +554,7 @@
 	if (ret) {
 		/* let's be woken up once new data arrive */
 		HA_RWLOCK_WRLOCK(LOGSRV_LOCK, &ring->lock);
-		LIST_ADDQ(&ring->waiters, &appctx->wait_entry);
+		LIST_APPEND(&ring->waiters, &appctx->wait_entry);
 		HA_RWLOCK_WRUNLOCK(LOGSRV_LOCK, &ring->lock);
 		si_rx_endp_done(si);
 	}
@@ -680,7 +680,7 @@
 
 	/* Error unrolling */
  out_free_strm:
-	LIST_DEL(&s->list);
+	LIST_DELETE(&s->list);
 	pool_free(pool_head_stream, s);
  out_free_sess:
 	session_free(sess);
@@ -1061,7 +1061,7 @@
 		if (sink->ctx.ring)
 			ring_free(sink->ctx.ring);
 
-		LIST_DEL(&sink->sink_list);
+		LIST_DELETE(&sink->sink_list);
 		free(sink->name);
 		free(sink->desc);
 		free(sink);
@@ -1256,7 +1256,7 @@
 	list_for_each_entry_safe(sink, sb, &sink_list, sink_list) {
 		if (sink->type == SINK_TYPE_BUFFER)
 			ring_free(sink->ctx.ring);
-		LIST_DEL(&sink->sink_list);
+		LIST_DELETE(&sink->sink_list);
 		free(sink->name);
 		free(sink->desc);
 		free(sink);
diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c
index 7c3da05..7504c55 100644
--- a/src/ssl_ckch.c
+++ b/src/ssl_ckch.c
@@ -894,14 +894,14 @@
 
 	list_for_each_entry_safe(sni, sni_s, &inst->sni_ctx, by_ckch_inst) {
 		SSL_CTX_free(sni->ctx);
-		LIST_DEL(&sni->by_ckch_inst);
+		LIST_DELETE(&sni->by_ckch_inst);
 		ebmb_delete(&sni->name);
 		free(sni);
 	}
 	SSL_CTX_free(inst->ctx);
 	inst->ctx = NULL;
-	LIST_DEL(&inst->by_ckchs);
-	LIST_DEL(&inst->by_crtlist_entry);
+	LIST_DELETE(&inst->by_ckchs);
+	LIST_DELETE(&inst->by_crtlist_entry);
 	free(inst);
 }
 
@@ -1359,7 +1359,7 @@
 					/* display one dot per new instance */
 					chunk_appendf(trash, ".");
 					/* link the new ckch_inst to the duplicate */
-					LIST_ADDQ(&new_ckchs->ckch_inst, &new_inst->by_ckchs);
+					LIST_APPEND(&new_ckchs->ckch_inst, &new_inst->by_ckchs);
 					y++;
 				}
 				appctx->st2 = SETCERT_ST_INSERT;
@@ -1385,7 +1385,7 @@
 				/* insert the new ckch_insts in the crtlist_entry */
 				list_for_each_entry(ckchi, &new_ckchs->ckch_inst, by_ckchs) {
 					if (ckchi->crtlist_entry)
-						LIST_ADD(&ckchi->crtlist_entry->ckch_inst, &ckchi->by_crtlist_entry);
+						LIST_INSERT(&ckchi->crtlist_entry->ckch_inst, &ckchi->by_crtlist_entry);
 				}
 
 				/* First, we insert every new SNIs in the trees, also replace the default_ctx */
diff --git a/src/ssl_crtlist.c b/src/ssl_crtlist.c
index e7a8b53..f8f5360 100644
--- a/src/ssl_crtlist.c
+++ b/src/ssl_crtlist.c
@@ -177,8 +177,8 @@
 		return;
 
 	ebpt_delete(&entry->node);
-	LIST_DEL(&entry->by_crtlist);
-	LIST_DEL(&entry->by_ckch_store);
+	LIST_DELETE(&entry->by_crtlist);
+	LIST_DELETE(&entry->by_ckch_store);
 	crtlist_free_filters(entry->filters);
 	ssl_sock_free_ssl_conf(entry->ssl_conf);
 	free(entry->ssl_conf);
@@ -240,7 +240,7 @@
 
 	LIST_INIT(&entry->ckch_inst);
 
-	/* initialize the nodes so we can LIST_DEL in any cases */
+	/* initialize the nodes so we can LIST_DELETE in any cases */
 	LIST_INIT(&entry->by_crtlist);
 	LIST_INIT(&entry->by_ckch_store);
 
@@ -540,8 +540,8 @@
 				entry->node.key = ckchs;
 				entry->crtlist = newlist;
 				ebpt_insert(&newlist->entries, &entry->node);
-				LIST_ADDQ(&newlist->ord_entries, &entry->by_crtlist);
-				LIST_ADDQ(&ckchs->crtlist_entry, &entry->by_ckch_store);
+				LIST_APPEND(&newlist->ord_entries, &entry->by_crtlist);
+				LIST_APPEND(&ckchs->crtlist_entry, &entry->by_ckch_store);
 
 			} else if (global_ssl.extra_files & SSL_GF_BUNDLE) {
 				/* If we didn't find the file, this could be a
@@ -588,8 +588,8 @@
 					entry_dup->node.key = ckchs;
 					entry_dup->crtlist = newlist;
 					ebpt_insert(&newlist->entries, &entry_dup->node);
-					LIST_ADDQ(&newlist->ord_entries, &entry_dup->by_crtlist);
-					LIST_ADDQ(&ckchs->crtlist_entry, &entry_dup->by_ckch_store);
+					LIST_APPEND(&newlist->ord_entries, &entry_dup->by_crtlist);
+					LIST_APPEND(&ckchs->crtlist_entry, &entry_dup->by_ckch_store);
 
 					entry_dup = NULL; /* the entry was used, we need a new one next round */
 				}
@@ -611,8 +611,8 @@
 			entry->node.key = ckchs;
 			entry->crtlist = newlist;
 			ebpt_insert(&newlist->entries, &entry->node);
-			LIST_ADDQ(&newlist->ord_entries, &entry->by_crtlist);
-			LIST_ADDQ(&ckchs->crtlist_entry, &entry->by_ckch_store);
+			LIST_APPEND(&newlist->ord_entries, &entry->by_crtlist);
+			LIST_APPEND(&ckchs->crtlist_entry, &entry->by_ckch_store);
 			found++;
 		}
 		entry = NULL;
@@ -706,8 +706,8 @@
 			}
 			entry->node.key = ckchs;
 			entry->crtlist = dir;
-			LIST_ADDQ(&ckchs->crtlist_entry, &entry->by_ckch_store);
-			LIST_ADDQ(&dir->ord_entries, &entry->by_crtlist);
+			LIST_APPEND(&ckchs->crtlist_entry, &entry->by_ckch_store);
+			LIST_APPEND(&dir->ord_entries, &entry->by_crtlist);
 			ebpt_insert(&dir->entries, &entry->node);
 
 ignore_entry:
@@ -1016,8 +1016,8 @@
 		struct ckch_inst *inst, *inst_s;
 		/* upon error free the ckch_inst and everything inside */
 		ebpt_delete(&entry->node);
-		LIST_DEL(&entry->by_crtlist);
-		LIST_DEL(&entry->by_ckch_store);
+		LIST_DELETE(&entry->by_crtlist);
+		LIST_DELETE(&entry->by_ckch_store);
 
 		list_for_each_entry_safe(inst, inst_s, &entry->ckch_inst, by_ckchs) {
 			ckch_inst_free(inst);
@@ -1102,8 +1102,8 @@
 					/* display one dot for each new instance */
 					chunk_appendf(trash, ".");
 					i++;
-					LIST_ADDQ(&store->ckch_inst, &new_inst->by_ckchs);
-					LIST_ADDQ(&entry->ckch_inst, &new_inst->by_crtlist_entry);
+					LIST_APPEND(&store->ckch_inst, &new_inst->by_ckchs);
+					LIST_APPEND(&entry->ckch_inst, &new_inst->by_crtlist_entry);
 					new_inst->crtlist_entry = entry;
 				}
 				appctx->st2 = SETCERT_ST_INSERT;
@@ -1272,9 +1272,9 @@
 		goto error;
 	}
 
-	LIST_ADDQ(&crtlist->ord_entries, &entry->by_crtlist);
+	LIST_APPEND(&crtlist->ord_entries, &entry->by_crtlist);
 	entry->crtlist = crtlist;
-	LIST_ADDQ(&store->crtlist_entry, &entry->by_ckch_store);
+	LIST_APPEND(&store->crtlist_entry, &entry->by_ckch_store);
 
 	appctx->st2 = SETCERT_ST_INIT;
 	appctx->ctx.cli.p0 = crtlist;
@@ -1402,8 +1402,8 @@
 	/* upon error free the ckch_inst and everything inside */
 
 	ebpt_delete(&entry->node);
-	LIST_DEL(&entry->by_crtlist);
-	LIST_DEL(&entry->by_ckch_store);
+	LIST_DELETE(&entry->by_crtlist);
+	LIST_DELETE(&entry->by_ckch_store);
 
 	list_for_each_entry_safe(inst, inst_s, &entry->ckch_inst, by_crtlist_entry) {
 		struct sni_ctx *sni, *sni_s;
@@ -1411,12 +1411,12 @@
 		HA_RWLOCK_WRLOCK(SNI_LOCK, &inst->bind_conf->sni_lock);
 		list_for_each_entry_safe(sni, sni_s, &inst->sni_ctx, by_ckch_inst) {
 			ebmb_delete(&sni->name);
-			LIST_DEL(&sni->by_ckch_inst);
+			LIST_DELETE(&sni->by_ckch_inst);
 			SSL_CTX_free(sni->ctx);
 			free(sni);
 		}
 		HA_RWLOCK_WRUNLOCK(SNI_LOCK, &inst->bind_conf->sni_lock);
-		LIST_DEL(&inst->by_ckchs);
+		LIST_DELETE(&inst->by_ckchs);
 		free(inst);
 	}
 
diff --git a/src/ssl_sock.c b/src/ssl_sock.c
index d3e5931..fbf23d5 100644
--- a/src/ssl_sock.c
+++ b/src/ssl_sock.c
@@ -590,7 +590,7 @@
 
 	cbk->func = func;
 
-	LIST_ADDQ(&ssl_sock_msg_callbacks, &cbk->list);
+	LIST_APPEND(&ssl_sock_msg_callbacks, &cbk->list);
 
 	return 1;
 }
@@ -625,7 +625,7 @@
 	struct ssl_sock_msg_callback *cbk, *cbkback;
 
 	list_for_each_entry_safe(cbk, cbkback, &ssl_sock_msg_callbacks, list) {
-		LIST_DEL(&cbk->list);
+		LIST_DELETE(&cbk->list);
 		free(cbk);
 	}
 }
@@ -686,7 +686,7 @@
 
 	el = calloc(1, sizeof(*el));
 	el->e = engine;
-	LIST_ADD(&openssl_engines, &el->list);
+	LIST_INSERT(&openssl_engines, &el->list);
 	nb_engines++;
 	if (global_ssl.async)
 		global.ssl_used_async_engines = nb_engines;
@@ -1233,20 +1233,20 @@
 
 	/* This sort the reference list by id. */
 	list_for_each_entry_safe(ref, ref2, &tlskeys_reference, list) {
-		LIST_DEL(&ref->list);
+		LIST_DELETE(&ref->list);
 		list_for_each_entry(ref3, &tkr, list) {
 			if (ref->unique_id < ref3->unique_id) {
-				LIST_ADDQ(&ref3->list, &ref->list);
+				LIST_APPEND(&ref3->list, &ref->list);
 				break;
 			}
 		}
 		if (&ref3->list == &tkr)
-			LIST_ADDQ(&tkr, &ref->list);
+			LIST_APPEND(&tkr, &ref->list);
 	}
 
 	/* swap root */
-	LIST_ADD(&tkr, &tlskeys_reference);
-	LIST_DEL(&tkr);
+	LIST_INSERT(&tkr, &tlskeys_reference);
+	LIST_DELETE(&tkr);
 	return ERR_NONE;
 }
 #endif /* SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB */
@@ -2926,7 +2926,7 @@
 		sc->wild = wild;
 		sc->name.node.leaf_p = NULL;
 		sc->ckch_inst = ckch_inst;
-		LIST_ADDQ(&ckch_inst->sni_ctx, &sc->by_ckch_inst);
+		LIST_APPEND(&ckch_inst->sni_ctx, &sc->by_ckch_inst);
 	}
 	return order;
 }
@@ -2960,7 +2960,7 @@
 			if (sc1->ctx == sc0->ctx && sc1->conf == sc0->conf
 			    && sc1->neg == sc0->neg && sc1->wild == sc0->wild) {
 				/* it's a duplicate, we should remove and free it */
-				LIST_DEL(&sc0->by_ckch_inst);
+				LIST_DELETE(&sc0->by_ckch_inst);
 				SSL_CTX_free(sc0->ctx);
 				ha_free(&sc0);
 				break;
@@ -3526,7 +3526,7 @@
 	ssl_sock_load_cert_sni(*ckch_inst, bind_conf);
 
 	/* succeed, add the instance to the ckch_store's list of instance */
-	LIST_ADDQ(&ckchs->ckch_inst, &((*ckch_inst)->by_ckchs));
+	LIST_APPEND(&ckchs->ckch_inst, &((*ckch_inst)->by_ckchs));
 	return errcode;
 }
 
@@ -3550,7 +3550,7 @@
 	SSL_CTX_up_ref((*ckch_inst)->ctx);
 	server->ssl_ctx.ctx = (*ckch_inst)->ctx;
 	/* succeed, add the instance to the ckch_store's list of instance */
-	LIST_ADDQ(&ckchs->ckch_inst, &((*ckch_inst)->by_ckchs));
+	LIST_APPEND(&ckchs->ckch_inst, &((*ckch_inst)->by_ckchs));
 	return errcode;
 }
 
@@ -3634,7 +3634,7 @@
 			memprintf(err, "error processing line %d in file '%s' : %s", entry->linenum, file, *err);
 			goto error;
 		}
-		LIST_ADDQ(&entry->ckch_inst, &ckch_inst->by_crtlist_entry);
+		LIST_APPEND(&entry->ckch_inst, &ckch_inst->by_crtlist_entry);
 		ckch_inst->crtlist_entry = entry;
 	}
 
@@ -5037,7 +5037,7 @@
 		back = ebmb_next(node);
 		ebmb_delete(node);
 		SSL_CTX_free(sni->ctx);
-		LIST_DEL(&sni->by_ckch_inst);
+		LIST_DELETE(&sni->by_ckch_inst);
 		free(sni);
 		node = back;
 	}
@@ -5048,7 +5048,7 @@
 		back = ebmb_next(node);
 		ebmb_delete(node);
 		SSL_CTX_free(sni->ctx);
-		LIST_DEL(&sni->by_ckch_inst);
+		LIST_DELETE(&sni->by_ckch_inst);
 		free(sni);
 		node = back;
 	}
@@ -5079,7 +5079,7 @@
 	if (bind_conf->keys_ref && !--bind_conf->keys_ref->refcount) {
 		free(bind_conf->keys_ref->filename);
 		free(bind_conf->keys_ref->tlskeys);
-		LIST_DEL(&bind_conf->keys_ref->list);
+		LIST_DELETE(&bind_conf->keys_ref->list);
 		free(bind_conf->keys_ref);
 	}
 	bind_conf->keys_ref = NULL;
@@ -7217,7 +7217,7 @@
 	list_for_each_entry_safe(wl, wlb, &openssl_engines, list) {
 		ENGINE_finish(wl->e);
 		ENGINE_free(wl->e);
-		LIST_DEL(&wl->list);
+		LIST_DELETE(&wl->list);
 		free(wl);
 	}
 }
diff --git a/src/stats.c b/src/stats.c
index bfd05bb..a2741da 100644
--- a/src/stats.c
+++ b/src/stats.c
@@ -4935,7 +4935,7 @@
 {
 	const uint8_t domain = stats_get_domain(m->domain_flags);
 
-	LIST_ADDQ(&stats_module_list[domain], &m->list);
+	LIST_APPEND(&stats_module_list[domain], &m->list);
 	stat_count[domain] += m->stats_count;
 }
 
diff --git a/src/stream.c b/src/stream.c
index 6c60cd4..99552c4 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -548,7 +548,7 @@
 
 	s->tunnel_timeout = TICK_ETERNITY;
 
-	LIST_ADDQ(&ti->streams, &s->list);
+	LIST_APPEND(&ti->streams, &s->list);
 
 	if (flt_stream_init(s) < 0 || flt_stream_start(s) < 0)
 		goto out_fail_accept;
@@ -586,7 +586,7 @@
 	flt_stream_release(s, 0);
 	task_destroy(t);
 	tasklet_free(s->si[1].wait_event.tasklet);
-	LIST_DEL(&s->list);
+	LIST_DELETE(&s->list);
 out_fail_alloc_si1:
 	tasklet_free(s->si[0].wait_event.tasklet);
  out_fail_alloc:
@@ -641,7 +641,7 @@
 		put_pipe(s->res.pipe);
 
 	/* We may still be present in the buffer wait queue */
-	if (LIST_ADDED(&s->buffer_wait.list))
+	if (LIST_INLIST(&s->buffer_wait.list))
 		LIST_DEL_INIT(&s->buffer_wait.list);
 
 	if (s->req.buf.size || s->res.buf.size) {
@@ -721,11 +721,11 @@
 		 */
 		LIST_DEL_INIT(&bref->users);
 		if (s->list.n != &ti->streams)
-			LIST_ADDQ(&LIST_ELEM(s->list.n, struct stream *, list)->back_refs, &bref->users);
+			LIST_APPEND(&LIST_ELEM(s->list.n, struct stream *, list)->back_refs, &bref->users);
 		bref->ref = s->list.n;
 		__ha_barrier_store();
 	}
-	LIST_DEL(&s->list);
+	LIST_DELETE(&s->list);
 
 	/* applets do not release session yet */
 	must_free_sess = objt_appctx(sess->origin) && sess->origin == s->si[0].end;
@@ -772,13 +772,13 @@
  */
 static int stream_alloc_work_buffer(struct stream *s)
 {
-	if (LIST_ADDED(&s->buffer_wait.list))
+	if (LIST_INLIST(&s->buffer_wait.list))
 		LIST_DEL_INIT(&s->buffer_wait.list);
 
 	if (b_alloc(&s->res.buf))
 		return 1;
 
-	LIST_ADDQ(&ti->buffer_wq, &s->buffer_wait.list);
+	LIST_APPEND(&ti->buffer_wq, &s->buffer_wait.list);
 	return 0;
 }
 
@@ -2988,7 +2988,7 @@
 
 void service_keywords_register(struct action_kw_list *kw_list)
 {
-	LIST_ADDQ(&service_keywords, &kw_list->list);
+	LIST_APPEND(&service_keywords, &kw_list->list);
 }
 
 struct action_kw *service_find(const char *kw)
@@ -3074,7 +3074,7 @@
 		chunk_appendf(&trash,
 			     "  flags=0x%x, conn_retries=%d, srv_conn=%p, pend_pos=%p waiting=%d epoch=%#x\n",
 			     strm->flags, strm->si[1].conn_retries, strm->srv_conn, strm->pend_pos,
-			     LIST_ADDED(&strm->buffer_wait.list), strm->stream_epoch);
+			     LIST_INLIST(&strm->buffer_wait.list), strm->stream_epoch);
 
 		chunk_appendf(&trash,
 			     "  frontend=%s (id=%u mode=%s), listener=%s (id=%u)",
@@ -3398,7 +3398,7 @@
 		 */
 		if (appctx->st2 == STAT_ST_LIST) {
 			if (!LIST_ISEMPTY(&appctx->ctx.sess.bref.users)) {
-				LIST_DEL(&appctx->ctx.sess.bref.users);
+				LIST_DELETE(&appctx->ctx.sess.bref.users);
 				LIST_INIT(&appctx->ctx.sess.bref.users);
 			}
 		}
@@ -3424,7 +3424,7 @@
 	case STAT_ST_LIST:
 		/* first, let's detach the back-ref from a possible previous stream */
 		if (!LIST_ISEMPTY(&appctx->ctx.sess.bref.users)) {
-			LIST_DEL(&appctx->ctx.sess.bref.users);
+			LIST_DELETE(&appctx->ctx.sess.bref.users);
 			LIST_INIT(&appctx->ctx.sess.bref.users);
 		}
 
@@ -3455,13 +3455,13 @@
 				if (appctx->ctx.sess.target != (void *)-1 && appctx->ctx.sess.target != curr_strm)
 					goto next_sess;
 
-				LIST_ADDQ(&curr_strm->back_refs, &appctx->ctx.sess.bref.users);
+				LIST_APPEND(&curr_strm->back_refs, &appctx->ctx.sess.bref.users);
 				/* call the proper dump() function and return if we're missing space */
 				if (!stats_dump_full_strm_to_buffer(si, curr_strm))
 					goto full;
 
 				/* stream dump complete */
-				LIST_DEL(&appctx->ctx.sess.bref.users);
+				LIST_DELETE(&appctx->ctx.sess.bref.users);
 				LIST_INIT(&appctx->ctx.sess.bref.users);
 				if (appctx->ctx.sess.target != (void *)-1) {
 					appctx->ctx.sess.target = NULL;
@@ -3583,7 +3583,7 @@
 				/* let's try again later from this stream. We add ourselves into
 				 * this stream's users so that it can remove us upon termination.
 				 */
-				LIST_ADDQ(&curr_strm->back_refs, &appctx->ctx.sess.bref.users);
+				LIST_APPEND(&curr_strm->back_refs, &appctx->ctx.sess.bref.users);
 				goto full;
 			}
 
@@ -3630,7 +3630,7 @@
 		 */
 		thread_isolate();
 		if (!LIST_ISEMPTY(&appctx->ctx.sess.bref.users))
-			LIST_DEL(&appctx->ctx.sess.bref.users);
+			LIST_DELETE(&appctx->ctx.sess.bref.users);
 		thread_release();
 	}
 }
diff --git a/src/task.c b/src/task.c
index ca678d3..6763327 100644
--- a/src/task.c
+++ b/src/task.c
@@ -92,7 +92,7 @@
 			thr = my_ffsl(t->thread_mask) - 1;
 
 			/* Beware: tasks that have never run don't have their ->list empty yet! */
-			MT_LIST_ADDQ(&task_per_thread[thr].shared_tasklet_list,
+			MT_LIST_APPEND(&task_per_thread[thr].shared_tasklet_list,
 			             (struct mt_list *)&((struct tasklet *)t)->list);
 			_HA_ATOMIC_INC(&task_per_thread[thr].rq_total);
 			_HA_ATOMIC_INC(&task_per_thread[thr].tasks_in_list);
@@ -115,30 +115,30 @@
 	if (likely(thr < 0)) {
 		/* this tasklet runs on the caller thread */
 		if (tl->state & TASK_HEAVY) {
-			LIST_ADDQ(&sched->tasklets[TL_HEAVY], &tl->list);
+			LIST_APPEND(&sched->tasklets[TL_HEAVY], &tl->list);
 			sched->tl_class_mask |= 1 << TL_HEAVY;
 		}
 		else if (tl->state & TASK_SELF_WAKING) {
-			LIST_ADDQ(&sched->tasklets[TL_BULK], &tl->list);
+			LIST_APPEND(&sched->tasklets[TL_BULK], &tl->list);
 			sched->tl_class_mask |= 1 << TL_BULK;
 		}
 		else if ((struct task *)tl == sched->current) {
 			_HA_ATOMIC_OR(&tl->state, TASK_SELF_WAKING);
-			LIST_ADDQ(&sched->tasklets[TL_BULK], &tl->list);
+			LIST_APPEND(&sched->tasklets[TL_BULK], &tl->list);
 			sched->tl_class_mask |= 1 << TL_BULK;
 		}
 		else if (sched->current_queue < 0) {
-			LIST_ADDQ(&sched->tasklets[TL_URGENT], &tl->list);
+			LIST_APPEND(&sched->tasklets[TL_URGENT], &tl->list);
 			sched->tl_class_mask |= 1 << TL_URGENT;
 		}
 		else {
-			LIST_ADDQ(&sched->tasklets[sched->current_queue], &tl->list);
+			LIST_APPEND(&sched->tasklets[sched->current_queue], &tl->list);
 			sched->tl_class_mask |= 1 << sched->current_queue;
 		}
 		_HA_ATOMIC_INC(&sched->rq_total);
 	} else {
 		/* this tasklet runs on a specific thread. */
-		MT_LIST_ADDQ(&task_per_thread[thr].shared_tasklet_list, (struct mt_list *)&tl->list);
+		MT_LIST_APPEND(&task_per_thread[thr].shared_tasklet_list, (struct mt_list *)&tl->list);
 		_HA_ATOMIC_INC(&task_per_thread[thr].rq_total);
 		if (sleeping_thread_mask & (1UL << thr)) {
 			_HA_ATOMIC_AND(&sleeping_thread_mask, ~(1UL << thr));
@@ -688,7 +688,7 @@
 	 * 100% due to rounding, this is not a problem. Note that while in
 	 * theory the sum cannot be NULL as we cannot get there without tasklets
 	 * to process, in practice it seldom happens when multiple writers
-	 * conflict and rollback on MT_LIST_TRY_ADDQ(shared_tasklet_list), causing
+	 * conflict and rollback on MT_LIST_TRY_APPEND(shared_tasklet_list), causing
 	 * a first MT_LIST_ISEMPTY() to succeed for thread_has_task() and the
 	 * one above to finally fail. This is extremely rare and not a problem.
 	 */
@@ -766,7 +766,7 @@
 			_HA_ATOMIC_DEC(&niced_tasks);
 
 		/* Add it to the local task list */
-		LIST_ADDQ(&tt->tasklets[TL_NORMAL], &((struct tasklet *)t)->list);
+		LIST_APPEND(&tt->tasklets[TL_NORMAL], &((struct tasklet *)t)->list);
 	}
 
 	/* release the rqueue lock */
diff --git a/src/tcp_rules.c b/src/tcp_rules.c
index bb25e1c..2e1eac4 100644
--- a/src/tcp_rules.c
+++ b/src/tcp_rules.c
@@ -45,22 +45,22 @@
  */
 void tcp_req_conn_keywords_register(struct action_kw_list *kw_list)
 {
-	LIST_ADDQ(&tcp_req_conn_keywords, &kw_list->list);
+	LIST_APPEND(&tcp_req_conn_keywords, &kw_list->list);
 }
 
 void tcp_req_sess_keywords_register(struct action_kw_list *kw_list)
 {
-	LIST_ADDQ(&tcp_req_sess_keywords, &kw_list->list);
+	LIST_APPEND(&tcp_req_sess_keywords, &kw_list->list);
 }
 
 void tcp_req_cont_keywords_register(struct action_kw_list *kw_list)
 {
-	LIST_ADDQ(&tcp_req_cont_keywords, &kw_list->list);
+	LIST_APPEND(&tcp_req_cont_keywords, &kw_list->list);
 }
 
 void tcp_res_cont_keywords_register(struct action_kw_list *kw_list)
 {
-	LIST_ADDQ(&tcp_res_cont_keywords, &kw_list->list);
+	LIST_APPEND(&tcp_res_cont_keywords, &kw_list->list);
 }
 
 /*
@@ -1097,7 +1097,7 @@
 			warn++;
 		}
 
-		LIST_ADDQ(&curpx->tcp_rep.inspect_rules, &rule->list);
+		LIST_APPEND(&curpx->tcp_rep.inspect_rules, &rule->list);
 	}
 	else {
 		memprintf(err,
@@ -1213,7 +1213,7 @@
 
 		/* the following function directly emits the warning */
 		warnif_misplaced_tcp_cont(curpx, file, line, args[0]);
-		LIST_ADDQ(&curpx->tcp_req.inspect_rules, &rule->list);
+		LIST_APPEND(&curpx->tcp_req.inspect_rules, &rule->list);
 	}
 	else if (strcmp(args[1], "connection") == 0) {
 		arg++;
@@ -1258,7 +1258,7 @@
 
 		/* the following function directly emits the warning */
 		warnif_misplaced_tcp_conn(curpx, file, line, args[0]);
-		LIST_ADDQ(&curpx->tcp_req.l4_rules, &rule->list);
+		LIST_APPEND(&curpx->tcp_req.l4_rules, &rule->list);
 	}
 	else if (strcmp(args[1], "session") == 0) {
 		arg++;
@@ -1302,7 +1302,7 @@
 
 		/* the following function directly emits the warning */
 		warnif_misplaced_tcp_sess(curpx, file, line, args[0]);
-		LIST_ADDQ(&curpx->tcp_req.l5_rules, &rule->list);
+		LIST_APPEND(&curpx->tcp_req.l5_rules, &rule->list);
 	}
 	else {
 		if (curpx == defpx)
diff --git a/src/tcpcheck.c b/src/tcpcheck.c
index 5a51471..bc6eb3c 100644
--- a/src/tcpcheck.c
+++ b/src/tcpcheck.c
@@ -79,7 +79,7 @@
 	struct logformat_node *lf, *lfb;
 
 	list_for_each_entry_safe(lf, lfb, fmt, list) {
-		LIST_DEL(&lf->list);
+		LIST_DELETE(&lf->list);
 		release_sample_expr(lf->expr);
 		free(lf->arg);
 		free(lf);
@@ -105,7 +105,7 @@
 	struct tcpcheck_http_hdr *hdr, *bhdr;
 
 	list_for_each_entry_safe(hdr, bhdr, hdrs, list) {
-		LIST_DEL(&hdr->list);
+		LIST_DELETE(&hdr->list);
 		free_tcpcheck_http_hdr(hdr);
 	}
 }
@@ -251,7 +251,7 @@
 	struct tcpcheck_var *var, *back;
 
 	list_for_each_entry_safe(var, back, vars, list) {
-		LIST_DEL(&var->list);
+		LIST_DELETE(&var->list);
 		free_tcpcheck_var(var);
 	}
 }
@@ -281,7 +281,7 @@
 		}
 		else
 			new->data.u = var->data.u;
-		LIST_ADDQ(dst, &new->list);
+		LIST_APPEND(dst, &new->list);
 	}
 	return 1;
 
@@ -337,7 +337,7 @@
 	ebpt_delete(&rs->node);
 	free(rs->node.key);
 	list_for_each_entry_safe(r, rb, &rs->rules, list) {
-		LIST_DEL(&r->list);
+		LIST_DELETE(&r->list);
 		free_tcpcheck(r, 0);
 	}
 	free(rs);
@@ -2772,7 +2772,7 @@
 		ist0(hdrs[i].v);
 		if (!parse_logformat_string(istptr(hdrs[i].v), px, &hdr->value, 0, SMP_VAL_BE_CHK_RUL, errmsg))
 			goto error;
-		LIST_ADDQ(&chk->send.http.hdrs, &hdr->list);
+		LIST_APPEND(&chk->send.http.hdrs, &hdr->list);
 		hdr = NULL;
 	}
 
@@ -3470,8 +3470,8 @@
 		old->send.http.flags |= TCPCHK_SND_HTTP_FL_URI_FMT;
 		LIST_INIT(&old->send.http.uri_fmt);
 		list_for_each_entry_safe(lf, lfb, &new->send.http.uri_fmt, list) {
-			LIST_DEL(&lf->list);
-			LIST_ADDQ(&old->send.http.uri_fmt, &lf->list);
+			LIST_DELETE(&lf->list);
+			LIST_APPEND(&old->send.http.uri_fmt, &lf->list);
 		}
 	}
 
@@ -3483,8 +3483,8 @@
 
 	free_tcpcheck_http_hdrs(&old->send.http.hdrs);
 	list_for_each_entry_safe(hdr, bhdr, &new->send.http.hdrs, list) {
-		LIST_DEL(&hdr->list);
-		LIST_ADDQ(&old->send.http.hdrs, &hdr->list);
+		LIST_DELETE(&hdr->list);
+		LIST_APPEND(&old->send.http.hdrs, &hdr->list);
 	}
 
 	if (!(new->send.http.flags & TCPCHK_SND_HTTP_FL_BODY_FMT) && isttest(new->send.http.body)) {
@@ -3504,8 +3504,8 @@
 		old->send.http.flags |= TCPCHK_SND_HTTP_FL_BODY_FMT;
 		LIST_INIT(&old->send.http.body_fmt);
 		list_for_each_entry_safe(lf, lfb, &new->send.http.body_fmt, list) {
-			LIST_DEL(&lf->list);
-			LIST_ADDQ(&old->send.http.body_fmt, &lf->list);
+			LIST_DELETE(&lf->list);
+			LIST_APPEND(&old->send.http.body_fmt, &lf->list);
 		}
 	}
 }
@@ -3546,11 +3546,11 @@
 		if (r && r->action == TCPCHK_ACT_CONNECT)
 			r = get_next_tcpcheck_rule(rules, r);
 		if (!r || r->action != TCPCHK_ACT_SEND)
-			LIST_ADD(rules->list, &chk->list);
+			LIST_INSERT(rules->list, &chk->list);
 		else if (r->send.http.flags & TCPCHK_SND_HTTP_FROM_OPT) {
-			LIST_DEL(&r->list);
+			LIST_DELETE(&r->list);
 			free_tcpcheck(r, 0);
-			LIST_ADD(rules->list, &chk->list);
+			LIST_INSERT(rules->list, &chk->list);
 		}
 		else {
 			tcpcheck_overwrite_send_http_rule(r, chk);
@@ -3588,12 +3588,12 @@
 			if (r && r->action == TCPCHK_ACT_SEND && (r->send.http.flags & TCPCHK_SND_HTTP_FROM_OPT)) {
 				tcpcheck_overwrite_send_http_rule(r, chk);
 				free_tcpcheck(chk, 0);
-				LIST_DEL(&r->list);
+				LIST_DELETE(&r->list);
 				r->send.http.flags &= ~TCPCHK_SND_HTTP_FROM_OPT;
 				chk = r;
 			}
 		}
-		LIST_ADDQ(rules->list, &chk->list);
+		LIST_APPEND(rules->list, &chk->list);
 	}
 	return 1;
 }
@@ -3632,8 +3632,8 @@
 		if (chk && chk->action == TCPCHK_ACT_SEND && (chk->send.http.flags & TCPCHK_SND_HTTP_FROM_OPT)) {
 			next = get_next_tcpcheck_rule(&px->tcpcheck_rules, chk);
 			if (next && next->action == TCPCHK_ACT_CONNECT) {
-				LIST_DEL(&chk->list);
-				LIST_ADD(&next->list, &chk->list);
+				LIST_DELETE(&chk->list);
+				LIST_INSERT(&next->list, &chk->list);
 				chk->index = next->index;
 			}
 		}
@@ -3654,7 +3654,7 @@
 				ret |= ERR_ALERT | ERR_FATAL;
 				goto out;
 			}
-			LIST_ADDQ(px->tcpcheck_rules.list, &next->list);
+			LIST_APPEND(px->tcpcheck_rules.list, &next->list);
 			next->index = chk->index;
 		}
 	}
@@ -3675,7 +3675,7 @@
 		}
 		chk->action = TCPCHK_ACT_CONNECT;
 		chk->connect.options = (TCPCHK_OPT_DEFAULT_CONNECT|TCPCHK_OPT_IMPLICIT);
-		LIST_ADD(px->tcpcheck_rules.list, &chk->list);
+		LIST_INSERT(px->tcpcheck_rules.list, &chk->list);
 	}
 
 	/* Remove all comment rules. To do so, when a such rule is found, the
@@ -3690,7 +3690,7 @@
 		case TCPCHK_ACT_COMMENT:
 			free(comment);
 			comment = chk->comment;
-			LIST_DEL(&chk->list);
+			LIST_DELETE(&chk->list);
 			free(chk);
 			break;
 		case TCPCHK_ACT_CONNECT:
@@ -3733,7 +3733,7 @@
 		free(node->key);
 		rs = container_of(node, typeof(*rs), node);
 		list_for_each_entry_safe(r, rb, &rs->rules, list) {
-			LIST_DEL(&r->list);
+			LIST_DELETE(&r->list);
 			free_tcpcheck(r, 0);
 		}
 		free(rs);
@@ -3776,7 +3776,7 @@
 		if (prev_check->action != TCPCHK_ACT_COMMENT && prev_check->action != TCPCHK_ACT_ACTION_KW)
 			break;
 	}
-	LIST_ADDQ(rules->list, &tcpcheck->list);
+	LIST_APPEND(rules->list, &tcpcheck->list);
 	return 1;
 }
 
@@ -3809,7 +3809,7 @@
 		for (in = strs[i]; (*dst = *in++); dst++);
 	*dst = 0;
 
-	LIST_ADDQ(rules->list, &tcpcheck->list);
+	LIST_APPEND(rules->list, &tcpcheck->list);
 	return 1;
 }
 
@@ -3877,7 +3877,7 @@
 
 	/* No error: add the tcp-check rule in the list */
 	chk->index = index;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	if ((curpx->options2 & PR_O2_CHK_ANY) == PR_O2_TCPCHK_CHK &&
 	    (curpx->tcpcheck_rules.flags & TCPCHK_RULES_PROTO_CHK) == TCPCHK_RULES_TCP_CHK) {
@@ -3991,7 +3991,7 @@
 	else {
 		/* mark this ruleset as unused for now */
 		curpx->tcpcheck_rules.flags |= TCPCHK_RULES_UNUSED_HTTP_RS;
-		LIST_ADDQ(&rs->rules, &chk->list);
+		LIST_APPEND(&rs->rules, &chk->list);
 	}
 
   out:
@@ -4046,7 +4046,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "string", redis_res,
 				               "error-status", "L7STS",
@@ -4059,7 +4059,7 @@
 		goto error;
 	}
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -4147,7 +4147,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "rbinary", "^1[56]",
 				                "min-recv", "5", "ok-status", "L6OK",
@@ -4159,7 +4159,7 @@
 		goto error;
 	}
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -4225,7 +4225,7 @@
 	var->data.u.str.area = cmd;
 	var->data.u.str.data = strlen(cmd);
 	LIST_INIT(&var->list);
-	LIST_ADDQ(&rules->preset_vars, &var->list);
+	LIST_APPEND(&rules->preset_vars, &var->list);
 	cmd = NULL;
 	var = NULL;
 
@@ -4246,7 +4246,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "rstring", "^[0-9]{3}[ \r]",
 				               "min-recv", "4",
@@ -4259,7 +4259,7 @@
 		goto error;
 	}
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "rstring", "^2[0-9]{2}[ \r]",
 				               "min-recv", "4",
@@ -4273,7 +4273,7 @@
 		goto error;
 	}
 	chk->index = 2;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_send((char *[]){"tcp-check", "send-lf", smtp_req, ""},
 				  1, curpx, &rs->rules, file, line, &errmsg);
@@ -4282,7 +4282,7 @@
 		goto error;
 	}
 	chk->index = 3;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "rstring", "^2[0-9]{2}[- \r]",
 				               "min-recv", "4",
@@ -4297,7 +4297,7 @@
 		goto error;
 	}
 	chk->index = 4;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -4369,7 +4369,7 @@
 		var->data.u.str.area = user;
 		var->data.u.str.data = strlen(user);
 		LIST_INIT(&var->list);
-		LIST_ADDQ(&rules->preset_vars, &var->list);
+		LIST_APPEND(&rules->preset_vars, &var->list);
 		user = NULL;
 		var = NULL;
 
@@ -4381,7 +4381,7 @@
 		var->data.type = SMP_T_SINT;
 		var->data.u.sint = packetlen;
 		LIST_INIT(&var->list);
-		LIST_ADDQ(&rules->preset_vars, &var->list);
+		LIST_APPEND(&rules->preset_vars, &var->list);
 		var = NULL;
 	}
 	else {
@@ -4407,7 +4407,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_send((char *[]){"tcp-check", "send-binary-lf", pgsql_req, ""},
 				  1, curpx, &rs->rules, file, line, &errmsg);
@@ -4416,7 +4416,7 @@
 		goto error;
 	}
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "!rstring", "^E",
 				               "min-recv", "5",
@@ -4429,7 +4429,7 @@
 		goto error;
 	}
 	chk->index = 2;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "rbinary", "^52000000(08|0A|0C)000000(00|02|03|04|05|06)",
 				               "min-recv", "9",
@@ -4443,7 +4443,7 @@
 		goto error;
 	}
 	chk->index = 3;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -4599,7 +4599,7 @@
 		var->data.u.str.area = hdr;
 		var->data.u.str.data = 4;
 		LIST_INIT(&var->list);
-		LIST_ADDQ(&rules->preset_vars, &var->list);
+		LIST_APPEND(&rules->preset_vars, &var->list);
 		hdr = NULL;
 		var = NULL;
 
@@ -4612,7 +4612,7 @@
 		var->data.u.str.area = user;
 		var->data.u.str.data = strlen(user);
 		LIST_INIT(&var->list);
-		LIST_ADDQ(&rules->preset_vars, &var->list);
+		LIST_APPEND(&rules->preset_vars, &var->list);
 		user = NULL;
 		var = NULL;
 	}
@@ -4634,7 +4634,7 @@
 		goto error;
 	}
 	chk->index = index++;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	if (mysql_req) {
 		chk = parse_tcpcheck_send((char *[]){"tcp-check", "send-binary-lf", mysql_req, ""},
@@ -4644,7 +4644,7 @@
 			goto error;
 		}
 		chk->index = index++;
-		LIST_ADDQ(&rs->rules, &chk->list);
+		LIST_APPEND(&rs->rules, &chk->list);
 	}
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "custom", ""},
@@ -4655,7 +4655,7 @@
 	}
 	chk->expect.custom = tcpcheck_mysql_expect_iniths;
 	chk->index = index++;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	if (mysql_req) {
 		chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "custom", ""},
@@ -4666,7 +4666,7 @@
 		}
 		chk->expect.custom = tcpcheck_mysql_expect_ok;
 		chk->index = index++;
-		LIST_ADDQ(&rs->rules, &chk->list);
+		LIST_APPEND(&rs->rules, &chk->list);
 	}
 
   ruleset_found:
@@ -4729,7 +4729,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "rbinary", "^30",
 				               "min-recv", "14",
@@ -4741,7 +4741,7 @@
 		goto error;
 	}
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "custom", ""},
 		                    1, curpx, &rs->rules, TCPCHK_RULES_LDAP_CHK, file, line, &errmsg);
@@ -4751,7 +4751,7 @@
 	}
 	chk->expect.custom = tcpcheck_ldap_expect_bindrsp;
 	chk->index = 2;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -4817,7 +4817,7 @@
 		goto error;
 	}
 	chk->index = 0;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
 	chk = parse_tcpcheck_expect((char *[]){"tcp-check", "expect", "custom", "min-recv", "4", ""},
 		                    1, curpx, &rs->rules, TCPCHK_RULES_SPOP_CHK, file, line, &errmsg);
@@ -4827,7 +4827,7 @@
 	}
 	chk->expect.custom = tcpcheck_spop_expect_agenthello;
 	chk->index = 1;
-	LIST_ADDQ(&rs->rules, &chk->list);
+	LIST_APPEND(&rs->rules, &chk->list);
 
   ruleset_found:
 	rules->list = &rs->rules;
@@ -4951,7 +4951,7 @@
 			ist0(tmp_hdrs[i].v);
 			if (!parse_logformat_string(istptr(tmp_hdrs[i].v), px, &hdr->value, 0, SMP_VAL_BE_CHK_RUL, errmsg))
 				goto error;
-			LIST_ADDQ(&chk->send.http.hdrs, &hdr->list);
+			LIST_APPEND(&chk->send.http.hdrs, &hdr->list);
 		}
 	}
 
diff --git a/src/tools.c b/src/tools.c
index 7bb9b05..c103817 100644
--- a/src/tools.c
+++ b/src/tools.c
@@ -4427,7 +4427,7 @@
 		goto fail_wl_s;
 	}
 
-	LIST_ADDQ(li, &wl->list);
+	LIST_APPEND(li, &wl->list);
 
 	return 1;
 
diff --git a/src/vars.c b/src/vars.c
index 980b669..03aade2 100644
--- a/src/vars.c
+++ b/src/vars.c
@@ -150,7 +150,7 @@
 		ha_free(&var->data.u.meth.str.area);
 		size += var->data.u.meth.str.data;
 	}
-	LIST_DEL(&var->l);
+	LIST_DELETE(&var->l);
 	pool_free(var_pool, var);
 	size += sizeof(struct var);
 	return size;
@@ -373,7 +373,7 @@
 		var = pool_alloc(var_pool);
 		if (!var)
 			return 0;
-		LIST_ADDQ(&vars->head, &var->l);
+		LIST_APPEND(&vars->head, &var->l);
 		var->name = name;
 	}
 
diff --git a/src/xprt_quic.c b/src/xprt_quic.c
index 2d51a99..68d0f60 100644
--- a/src/xprt_quic.c
+++ b/src/xprt_quic.c
@@ -855,7 +855,7 @@
 		frm->type = QUIC_FT_CRYPTO;
 		frm->crypto.offset = cf_offset;
 		frm->crypto.len = cf_len;
-		LIST_ADDQ(&qel->pktns->tx.frms, &frm->list);
+		LIST_APPEND(&qel->pktns->tx.frms, &frm->list);
 	}
 
 	return len == 0;
@@ -1156,7 +1156,7 @@
                                          struct quic_conn_ctx *ctx)
 {
 	TRACE_PROTO("Removing frame", QUIC_EV_CONN_PRSAFRM, ctx->conn, frm);
-	LIST_DEL(&frm->list);
+	LIST_DELETE(&frm->list);
 	pool_free(pool_head_quic_tx_frm, frm);
 }
 
@@ -1188,7 +1188,7 @@
 
 		pkt = eb64_entry(&node->node, struct quic_tx_packet, pn_node);
 		*pkt_flags |= pkt->flags;
-		LIST_ADD(newly_acked_pkts, &pkt->list);
+		LIST_INSERT(newly_acked_pkts, &pkt->list);
 		TRACE_PROTO("Removing packet #", QUIC_EV_CONN_PRSAFRM, ctx->conn,, &pkt->pn_node.key);
 		list_for_each_entry_safe(frm, frmbak, &pkt->frms, list)
 			qc_treat_acked_tx_frm(frm, ctx);
@@ -1207,8 +1207,8 @@
                                           struct quic_conn_ctx *ctx)
 {
 	TRACE_PROTO("to resend frame", QUIC_EV_CONN_PRSAFRM, ctx->conn, frm);
-	LIST_DEL(&frm->list);
-	LIST_ADD(&pktns->tx.frms, &frm->list);
+	LIST_DELETE(&frm->list);
+	LIST_INSERT(&pktns->tx.frms, &frm->list);
 }
 
 
@@ -1218,7 +1218,7 @@
 	struct quic_tx_packet *pkt, *tmp;
 
 	list_for_each_entry_safe(pkt, tmp, pkts, list) {
-		LIST_DEL(&pkt->list);
+		LIST_DELETE(&pkt->list);
 		eb64_delete(&pkt->pn_node);
 		pool_free(pool_head_quic_tx_packet, pkt);
 	}
@@ -1267,7 +1267,7 @@
 		ev.ack.acked = pkt->in_flight_len;
 		ev.ack.time_sent = pkt->time_sent;
 		quic_cc_event(&qc->path->cc, &ev);
-		LIST_DEL(&pkt->list);
+		LIST_DELETE(&pkt->list);
 		eb64_delete(&pkt->pn_node);
 		pool_free(pool_head_quic_tx_packet, pkt);
 	}
@@ -1302,7 +1302,7 @@
 		/* Treat the frames of this lost packet. */
 		list_for_each_entry_safe(frm, frmbak, &pkt->frms, list)
 			qc_treat_nacked_tx_frm(frm, pktns, ctx);
-		LIST_DEL(&pkt->list);
+		LIST_DELETE(&pkt->list);
 		if (!oldest_lost) {
 			oldest_lost = newest_lost = pkt;
 		}
@@ -1368,7 +1368,7 @@
 		if (tick_is_le(time_sent, now_ms) ||
 			(int64_t)largest_acked_pn >= pkt->pn_node.key + QUIC_LOSS_PACKET_THRESHOLD) {
 			eb64_delete(&pkt->pn_node);
-			LIST_ADDQ(lost_pkts, &pkt->list);
+			LIST_APPEND(lost_pkts, &pkt->list);
 		}
 		else {
 			pktns->tx.loss_time = tick_first(pktns->tx.loss_time, loss_time_limit);
@@ -1851,7 +1851,7 @@
 			if (p->in_flight_len)
 				qc_set_timer(ctx);
 			TRACE_PROTO("sent pkt", QUIC_EV_CONN_SPPKTS, ctx->conn, p);
-			LIST_DEL(&p->list);
+			LIST_DELETE(&p->list);
 		}
 	}
 
@@ -1875,7 +1875,7 @@
 			return 0;
 
 		frm->type = QUIC_FT_HANDSHAKE_DONE;
-		LIST_ADDQ(&conn->tx.frms_to_send, &frm->list);
+		LIST_APPEND(&conn->tx.frms_to_send, &frm->list);
 	}
 
 	for (i = 1; i < conn->rx_tps.active_connection_id_limit; i++) {
@@ -1887,7 +1887,7 @@
 			goto err;
 
 		quic_connection_id_to_frm_cpy(frm, cid);
-		LIST_ADDQ(&conn->tx.frms_to_send, &frm->list);
+		LIST_APPEND(&conn->tx.frms_to_send, &frm->list);
 	}
 
     return 1;
@@ -2982,7 +2982,7 @@
 			 */
 			pkt->odcid_len = dcid_len;
 			/* Enqueue this packet. */
-			LIST_ADDQ(&l->rx.qpkts, &pkt->rx_list);
+			LIST_APPEND(&l->rx.qpkts, &pkt->rx_list);
 			/* Try to accept a new connection. */
 			listener_accept(l);
 			if (!qc->conn) {
@@ -3276,8 +3276,8 @@
 		room -= cflen;
 		if (dlen == cf->crypto.len) {
 			/* <cf> CRYPTO data have been consumed. */
-			LIST_DEL(&cf->list);
-			LIST_ADDQ(&pkt->frms, &cf->list);
+			LIST_DELETE(&cf->list);
+			LIST_APPEND(&pkt->frms, &cf->list);
 		}
 		else {
 			struct quic_tx_frm *new_cf;
@@ -3291,7 +3291,7 @@
 			new_cf->type = QUIC_FT_CRYPTO;
 			new_cf->crypto.len = dlen;
 			new_cf->crypto.offset = cf->crypto.offset;
-			LIST_ADDQ(&pkt->frms, &new_cf->list);
+			LIST_APPEND(&pkt->frms, &new_cf->list);
 			/* Consume <dlen> bytes of the current frame. */
 			cf->crypto.len -= dlen;
 			cf->crypto.offset += dlen;
@@ -3516,7 +3516,7 @@
 	struct quic_tx_frm *frm, *frmbak;
 
 	list_for_each_entry_safe(frm, frmbak, &pkt->frms, list) {
-		LIST_DEL(&frm->list);
+		LIST_DELETE(&frm->list);
 		pool_free(pool_head_quic_tx_frm, frm);
 	}
 	pool_free(pool_head_quic_tx_packet, pkt);
@@ -3594,7 +3594,7 @@
 	/* Increment the number of bytes in <buf> buffer by the length of this packet. */
 	buf->data += pkt_len;
 	/* Attach this packet to <buf>. */
-	LIST_ADDQ(&buf->pkts, &pkt->list);
+	LIST_APPEND(&buf->pkts, &pkt->list);
 	TRACE_LEAVE(QUIC_EV_CONN_HPKT, qc->conn, pkt);
 
 	return pkt_len;
@@ -3712,8 +3712,8 @@
 			break;
 		}
 
-		LIST_DEL(&frm->list);
-		LIST_ADDQ(&pkt->frms, &frm->list);
+		LIST_DELETE(&frm->list);
+		LIST_APPEND(&pkt->frms, &frm->list);
 		pos = ppos;
 	}
 
@@ -3792,7 +3792,7 @@
 	/* Increment the number of bytes in <buf> buffer by the length of this packet. */
 	wbuf->data += pkt_len;
 	/* Attach this packet to <buf>. */
-	LIST_ADDQ(&wbuf->pkts, &pkt->list);
+	LIST_APPEND(&wbuf->pkts, &pkt->list);
 
 	TRACE_LEAVE(QUIC_EV_CONN_PAPKT, qc->conn, pkt);