MISR Toolkit  1.5.1
Macros
hqueue.h File Reference

Go to the source code of this file.

Macros

#define LIST_HEAD(name, type)
 
#define LIST_ENTRY(type)
 
#define LIST_INIT(head)
 
#define LIST_INSERT_AFTER(listelm, elm, field)
 
#define LIST_INSERT_HEAD(head, elm, field)
 
#define LIST_REMOVE(elm, field)
 
#define TAILQ_HEAD(name, type)
 
#define TAILQ_ENTRY(type)
 
#define TAILQ_INIT(head)
 
#define TAILQ_INSERT_HEAD(head, elm, field)
 
#define TAILQ_INSERT_TAIL(head, elm, field)
 
#define TAILQ_INSERT_AFTER(head, listelm, elm, field)
 
#define TAILQ_REMOVE(head, elm, field)
 
#define CIRCLEQ_HEAD(name, type)
 
#define CIRCLEQ_ENTRY(type)
 
#define CIRCLEQ_INIT(head)
 
#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field)
 
#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field)
 
#define CIRCLEQ_INSERT_HEAD(head, elm, field)
 
#define CIRCLEQ_INSERT_TAIL(head, elm, field)
 
#define CIRCLEQ_REMOVE(head, elm, field)
 

Macro Definition Documentation

◆ CIRCLEQ_ENTRY

#define CIRCLEQ_ENTRY (   type)
Value:
struct { \
struct type *cqe_next; /* next element */ \
struct type *cqe_prev; /* previous element */ \
}
HDFFCLIBAPI intf intf intf * type

Definition at line 191 of file hqueue.h.

◆ CIRCLEQ_HEAD

#define CIRCLEQ_HEAD (   name,
  type 
)
Value:
struct name { \
struct type *cqh_first; /* first element */ \
struct type *cqh_last; /* last element */ \
}
HDFFCLIBAPI _fcd name
HDFFCLIBAPI intf intf intf * type

Definition at line 185 of file hqueue.h.

◆ CIRCLEQ_INIT

#define CIRCLEQ_INIT (   head)
Value:
{ \
(head)->cqh_first = (void *)(head); \
(head)->cqh_last = (void *)(head); \
}

Definition at line 200 of file hqueue.h.

◆ CIRCLEQ_INSERT_AFTER

#define CIRCLEQ_INSERT_AFTER (   head,
  listelm,
  elm,
  field 
)
Value:
{ \
(elm)->field.cqe_next = (listelm)->field.cqe_next; \
(elm)->field.cqe_prev = (listelm); \
if ((listelm)->field.cqe_next == (void *)(head)) \
(head)->cqh_last = (elm); \
else \
(listelm)->field.cqe_next->field.cqe_prev = (elm); \
(listelm)->field.cqe_next = (elm); \
}
HDFFCLIBAPI _fcd field

Definition at line 205 of file hqueue.h.

◆ CIRCLEQ_INSERT_BEFORE

#define CIRCLEQ_INSERT_BEFORE (   head,
  listelm,
  elm,
  field 
)
Value:
{ \
(elm)->field.cqe_next = (listelm); \
(elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
if ((listelm)->field.cqe_prev == (void *)(head)) \
(head)->cqh_first = (elm); \
else \
(listelm)->field.cqe_prev->field.cqe_next = (elm); \
(listelm)->field.cqe_prev = (elm); \
}
HDFFCLIBAPI _fcd field

Definition at line 215 of file hqueue.h.

◆ CIRCLEQ_INSERT_HEAD

#define CIRCLEQ_INSERT_HEAD (   head,
  elm,
  field 
)
Value:
{ \
(elm)->field.cqe_next = (head)->cqh_first; \
(elm)->field.cqe_prev = (void *)(head); \
if ((head)->cqh_last == (void *)(head)) \
(head)->cqh_last = (elm); \
else \
(head)->cqh_first->field.cqe_prev = (elm); \
(head)->cqh_first = (elm); \
}
HDFFCLIBAPI _fcd field

Definition at line 225 of file hqueue.h.

◆ CIRCLEQ_INSERT_TAIL

#define CIRCLEQ_INSERT_TAIL (   head,
  elm,
  field 
)
Value:
{ \
(elm)->field.cqe_next = (void *)(head); \
(elm)->field.cqe_prev = (head)->cqh_last; \
if ((head)->cqh_first == (void *)(head)) \
(head)->cqh_first = (elm); \
else \
(head)->cqh_last->field.cqe_next = (elm); \
(head)->cqh_last = (elm); \
}
HDFFCLIBAPI _fcd field

Definition at line 235 of file hqueue.h.

◆ CIRCLEQ_REMOVE

#define CIRCLEQ_REMOVE (   head,
  elm,
  field 
)
Value:
{ \
if ((elm)->field.cqe_next == (void *)(head)) \
(head)->cqh_last = (elm)->field.cqe_prev; \
else \
(elm)->field.cqe_next->field.cqe_prev = \
(elm)->field.cqe_prev; \
if ((elm)->field.cqe_prev == (void *)(head)) \
(head)->cqh_first = (elm)->field.cqe_next; \
else \
(elm)->field.cqe_prev->field.cqe_next = \
(elm)->field.cqe_next; \
}
HDFFCLIBAPI _fcd field

Definition at line 245 of file hqueue.h.

◆ LIST_ENTRY

#define LIST_ENTRY (   type)
Value:
struct { \
struct type *le_next; /* next element */ \
struct type **le_prev; /* address of previous next element */ \
}
HDFFCLIBAPI intf intf intf * type

Definition at line 87 of file hqueue.h.

◆ LIST_HEAD

#define LIST_HEAD (   name,
  type 
)
Value:
struct name { \
struct type *lh_first; /* first element */ \
}
HDFFCLIBAPI _fcd name
HDFFCLIBAPI intf intf intf * type

Definition at line 82 of file hqueue.h.

◆ LIST_INIT

#define LIST_INIT (   head)
Value:
{ \
(head)->lh_first = NULL; \
}

Definition at line 96 of file hqueue.h.

◆ LIST_INSERT_AFTER

#define LIST_INSERT_AFTER (   listelm,
  elm,
  field 
)
Value:
{ \
if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
(listelm)->field.le_next->field.le_prev = \
&(elm)->field.le_next; \
(listelm)->field.le_next = (elm); \
(elm)->field.le_prev = &(listelm)->field.le_next; \
}
HDFFCLIBAPI _fcd field

Definition at line 100 of file hqueue.h.

◆ LIST_INSERT_HEAD

#define LIST_INSERT_HEAD (   head,
  elm,
  field 
)
Value:
{ \
if (((elm)->field.le_next = (head)->lh_first) != NULL) \
(head)->lh_first->field.le_prev = &(elm)->field.le_next;\
(head)->lh_first = (elm); \
(elm)->field.le_prev = &(head)->lh_first; \
}
HDFFCLIBAPI _fcd field

Definition at line 108 of file hqueue.h.

◆ LIST_REMOVE

#define LIST_REMOVE (   elm,
  field 
)
Value:
{ \
if ((elm)->field.le_next != NULL) \
(elm)->field.le_next->field.le_prev = \
(elm)->field.le_prev; \
*(elm)->field.le_prev = (elm)->field.le_next; \
}
HDFFCLIBAPI _fcd field

Definition at line 115 of file hqueue.h.

◆ TAILQ_ENTRY

#define TAILQ_ENTRY (   type)
Value:
struct { \
struct type *tqe_next; /* next element */ \
struct type **tqe_prev; /* address of previous next element */ \
}
HDFFCLIBAPI intf intf intf * type

Definition at line 132 of file hqueue.h.

◆ TAILQ_HEAD

#define TAILQ_HEAD (   name,
  type 
)
Value:
struct name { \
struct type *tqh_first; /* first element */ \
struct type **tqh_last; /* addr of last next element */ \
}
HDFFCLIBAPI _fcd name
HDFFCLIBAPI intf intf intf * type

Definition at line 126 of file hqueue.h.

◆ TAILQ_INIT

#define TAILQ_INIT (   head)
Value:
{ \
(head)->tqh_first = NULL; \
(head)->tqh_last = &(head)->tqh_first; \
}

Definition at line 141 of file hqueue.h.

◆ TAILQ_INSERT_AFTER

#define TAILQ_INSERT_AFTER (   head,
  listelm,
  elm,
  field 
)
Value:
{ \
if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
(elm)->field.tqe_next->field.tqe_prev = \
&(elm)->field.tqe_next; \
else \
(head)->tqh_last = &(elm)->field.tqe_next; \
(listelm)->field.tqe_next = (elm); \
(elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
}
HDFFCLIBAPI _fcd field

Definition at line 163 of file hqueue.h.

◆ TAILQ_INSERT_HEAD

#define TAILQ_INSERT_HEAD (   head,
  elm,
  field 
)
Value:
{ \
if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
(elm)->field.tqe_next->field.tqe_prev = \
&(elm)->field.tqe_next; \
else \
(head)->tqh_last = &(elm)->field.tqe_next; \
(head)->tqh_first = (elm); \
(elm)->field.tqe_prev = &(head)->tqh_first; \
}
HDFFCLIBAPI _fcd field

Definition at line 146 of file hqueue.h.

◆ TAILQ_INSERT_TAIL

#define TAILQ_INSERT_TAIL (   head,
  elm,
  field 
)
Value:
{ \
(elm)->field.tqe_next = NULL; \
(elm)->field.tqe_prev = (head)->tqh_last; \
*(head)->tqh_last = (elm); \
(head)->tqh_last = &(elm)->field.tqe_next; \
}
HDFFCLIBAPI _fcd field

Definition at line 156 of file hqueue.h.

◆ TAILQ_REMOVE

#define TAILQ_REMOVE (   head,
  elm,
  field 
)
Value:
{ \
if (((elm)->field.tqe_next) != NULL) \
(elm)->field.tqe_next->field.tqe_prev = \
(elm)->field.tqe_prev; \
else \
(head)->tqh_last = (elm)->field.tqe_prev; \
*(elm)->field.tqe_prev = (elm)->field.tqe_next; \
}
HDFFCLIBAPI _fcd field

Definition at line 173 of file hqueue.h.


MISR Toolkit - Copyright © 2005 - 2020 Jet Propulsion Laboratory
Generated on Fri Jun 19 2020 22:49:54