Status of insque/remque

Ryan S. Arnold ryan.arnold@gmail.com
Thu Apr 12 14:42:00 GMT 2012


On Thu, Apr 12, 2012 at 7:59 AM, Bryan Evenson <bevenson@melinkcorp.com> wrote:
> I am writing a userspace application for an Angstrom Linux distribution (embedded Linux based on kernel 2.6.39) and I need some linked lists.  I don't need doubly linked list; simple singly linked list with insert, remove and forward searching are sufficient.  Instead of rolling my own, I'd prefer to use one that is already in existence.
>
> I am using glibc 2.12.2 and I see the insque/remque functions under search.h on my system.  Before I start using insque/remque, I wanted to verify that there isn't a better linked list interface hiding somewhere in glibc or that there weren't plans to discontinue this interface in the near future.  If I want a linked list, is this the interface to use?

The GLIBC provided versions of insque/remque are very simple.  They
handle insertion and removal.  Traversal/forward-searching is
something you'll have to do yourself (not terribly complicated).  I
don't see any indication in the POSIX specification that these
interfaces are going anywhere so I suspect their implementation in
GLIBC is quite concrete.

You could also checkout out include/sys/queue.h for some linked list
helper macros which actually DO provide searching.

A more robust list interface is provided by Glib in the GSList mechanism:

http://developer.gnome.org/glib/2.32/glib-Singly-Linked-Lists.html

I suspect that this may not be available in your embedded environment.

Ryan



More information about the Libc-help mailing list