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