---
name: "remque"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/insque"
---

# remque(3)

doubly-linked list management

Part of [insque(3)](/insque/3.md).

## NAME

**insque**, **remque** – doubly-linked list management

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<search.h\>**

*void*\

**insque**(*void \*element1*, *void \*pred*);

*void*\

**remque**(*void \*element*);

## DESCRIPTION

The **insque**() and **remque**() functions encapsulate the ever-repeating task of doing insertion and removal operations on doubly linked lists. The functions expect their arguments to point to a structure whose first and second members are pointers to the next and previous element, respectively. The **insque**() function also allows the *pred* argument to be a NULL pointer for the initialization of a new list's head element.

## STANDARDS

The **insque**() and **remque**() functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

## HISTORY

The **insque**() and **remque**() functions appeared in 4.2BSD. In FreeBSD 5.0, they reappeared conforming to IEEE Std 1003.1-2001 (“POSIX.1”).
