Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 2014 05:07:39 +0000
From:      bugzilla-noreply@freebsd.org
To:        freebsd-doc@FreeBSD.org
Subject:   [Bug 192267] New: queue(3) doesn't note that HEADNAME argument in *_HEAD macro is optional/creates anonymous structs
Message-ID:  <bug-192267-9@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=192267

            Bug ID: 192267
           Summary: queue(3) doesn't note that HEADNAME argument in *_HEAD
                    macro is optional/creates anonymous structs
           Product: Documentation
           Version: Latest
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Some People
          Priority: ---
         Component: Documentation
          Assignee: freebsd-doc@FreeBSD.org
          Reporter: yaneurabeya@gmail.com

Some of the code in the tree uses the data structures in a one-off manner, such
that specifying the HEADNAME value for the *_HEAD macro isn't required. What
omitting HEADNAME does is creates an anonymous structure for describing the
data structure/pointers, whereas specifying HEADNAME creates a named structure
for describing the data structure/pointers, i.e.

149 #define SLIST_HEAD(name, type)                                          \
150 struct name {                                                           \
151         struct type *slh_first; /* first element */                     \
152 }
...
242 #define STAILQ_HEAD(name, type)                                         \
243 struct name {                                                           \
244         struct type *stqh_first;/* first element */                     \
245         struct type **stqh_last;/* addr of last next element */         \
246 }
...
363 #define LIST_HEAD(name, type)                                           \
364 struct name {                                                           \
365         struct type *lh_first;  /* first element */                     \
366 }
...
491 #define TAILQ_HEAD(name, type)                                          \
492 struct name {                                                           \
493         struct type *tqh_first; /* first element */                     \
494         struct type **tqh_last; /* addr of last next element */         \
495         TRACEBUF                                                        \
496 }

-- 
You are receiving this mail because:
You are the assignee for the bug.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-192267-9>