Lines Matching full:link

61  * First set of macros is used when the link is embedded into sub-struct
66 #define INSERT_OBJECT_OID_LINK_INDEX_TYPE(PTR, LIST, LINK, INDEX, SUBF) do {\ argument
70 TAILQ_FOREACH(_lelem, (LIST), LINK) \
74 TAILQ_INSERT_TAIL((LIST), &(PTR)->SUBF, LINK); \
76 TAILQ_INSERT_BEFORE(_lelem, &(PTR)->SUBF, LINK); \
79 #define NEXT_OBJECT_OID_LINK_INDEX_TYPE(LIST, OID, SUB, LINK, INDEX, TYPE) ({\ argument
82 TAILQ_FOREACH(_lelem, (LIST), LINK) \
88 #define FIND_OBJECT_OID_LINK_INDEX_TYPE(LIST, OID, SUB, LINK, INDEX, TYPE) ({\ argument
91 TAILQ_FOREACH(_lelem, (LIST), LINK) \
98 * This set of macros allows specification of the link and index name.
101 #define INSERT_OBJECT_OID_LINK_INDEX(PTR, LIST, LINK, INDEX) do { \ argument
104 TAILQ_FOREACH(_lelem, (LIST), LINK) \
108 TAILQ_INSERT_TAIL((LIST), (PTR), LINK); \
110 TAILQ_INSERT_BEFORE(_lelem, (PTR), LINK); \
113 #define INSERT_OBJECT_INT_LINK_INDEX(PTR, LIST, LINK, INDEX) do { \ argument
116 TAILQ_FOREACH(_lelem, (LIST), LINK) \
120 TAILQ_INSERT_TAIL((LIST), (PTR), LINK); \
122 TAILQ_INSERT_BEFORE(_lelem, (PTR), LINK); \
125 #define INSERT_OBJECT_FUNC_LINK(PTR, LIST, LINK, FUNC) do { \ argument
128 TAILQ_FOREACH(_lelem, (LIST), LINK) \
132 TAILQ_INSERT_TAIL((LIST), (PTR), LINK); \
134 TAILQ_INSERT_BEFORE(_lelem, (PTR), LINK); \
137 #define INSERT_OBJECT_FUNC_LINK_REV(PTR, LIST, HEAD, LINK, FUNC) do { \ argument
140 TAILQ_FOREACH_REVERSE(_lelem, (LIST), HEAD, LINK) \
144 TAILQ_INSERT_HEAD((LIST), (PTR), LINK); \
146 TAILQ_INSERT_AFTER((LIST), _lelem, (PTR), LINK); \
149 #define FIND_OBJECT_OID_LINK_INDEX(LIST, OID, SUB, LINK, INDEX) ({ \ argument
152 TAILQ_FOREACH(_lelem, (LIST), LINK) \
158 #define NEXT_OBJECT_OID_LINK_INDEX(LIST, OID, SUB, LINK, INDEX) ({ \ argument
161 TAILQ_FOREACH(_lelem, (LIST), LINK) \
167 #define FIND_OBJECT_INT_LINK_INDEX(LIST, OID, SUB, LINK, INDEX) ({ \ argument
173 TAILQ_FOREACH(_lelem, (LIST), LINK) \
179 #define NEXT_OBJECT_INT_LINK_INDEX(LIST, OID, SUB, LINK, INDEX) ({ \ argument
185 TAILQ_FOREACH(_lelem, (LIST), LINK) \
191 #define FIND_OBJECT_FUNC_LINK(LIST, OID, SUB, LINK, FUNC) ({ \ argument
194 TAILQ_FOREACH(_lelem, (LIST), LINK) \
200 #define NEXT_OBJECT_FUNC_LINK(LIST, OID, SUB, LINK, FUNC) ({ \ argument
203 TAILQ_FOREACH(_lelem, (LIST), LINK) \
212 #define INSERT_OBJECT_OID_LINK(PTR, LIST, LINK) \ argument
213 INSERT_OBJECT_OID_LINK_INDEX(PTR, LIST, LINK, index)
215 #define INSERT_OBJECT_INT_LINK(PTR, LIST, LINK) do { \ argument
216 INSERT_OBJECT_INT_LINK_INDEX(PTR, LIST, LINK, index)
218 #define FIND_OBJECT_OID_LINK(LIST, OID, SUB, LINK) \ argument
219 FIND_OBJECT_OID_LINK_INDEX(LIST, OID, SUB, LINK, index)
221 #define NEXT_OBJECT_OID_LINK(LIST, OID, SUB, LINK) \ argument
222 NEXT_OBJECT_OID_LINK_INDEX(LIST, OID, SUB, LINK, index)
224 #define FIND_OBJECT_INT_LINK(LIST, OID, SUB, LINK) \ argument
225 FIND_OBJECT_INT_LINK_INDEX(LIST, OID, SUB, LINK, index)
227 #define NEXT_OBJECT_INT_LINK(LIST, OID, SUB, LINK) \ argument
228 NEXT_OBJECT_INT_LINK_INDEX(LIST, OID, SUB, LINK, index)
232 * link field 'link'.
235 INSERT_OBJECT_OID_LINK_INDEX(PTR, LIST, link, index)
238 INSERT_OBJECT_INT_LINK_INDEX(PTR, LIST, link, index)
241 INSERT_OBJECT_FUNC_LINK_REV(PTR, LIST, HEAD, link, FUNC)
244 FIND_OBJECT_OID_LINK_INDEX(LIST, OID, SUB, link, index)
247 FIND_OBJECT_INT_LINK_INDEX(LIST, OID, SUB, link, index)
250 FIND_OBJECT_FUNC_LINK(LIST, OID, SUB, link, FUNC)
253 NEXT_OBJECT_OID_LINK_INDEX(LIST, OID, SUB, link, index)
256 NEXT_OBJECT_INT_LINK_INDEX(LIST, OID, SUB, link, index)
259 NEXT_OBJECT_FUNC_LINK(LIST, OID, SUB, link, FUNC)