Lines Matching refs:hook
96 typedef int ng_newhook_t(node_p node, hook_p hook, const char *name);
98 typedef int ng_connect_t(hook_p hook);
100 typedef int ng_rcvdata_t(hook_p hook, item_p item);
101 typedef int ng_disconnect_t(hook_p hook);
102 typedef int ng_rcvitem (node_p node, hook_p hook, item_p item);
140 void ng_unref_hook(hook_p hook); /* don't move this */
141 #define _NG_HOOK_REF(hook) atomic_add_int(&(hook)->hk_refs, 1) argument
142 #define _NG_HOOK_NAME(hook) ((hook)->hk_name) argument
143 #define _NG_HOOK_UNREF(hook) ng_unref_hook(hook) argument
144 #define _NG_HOOK_SET_PRIVATE(hook, val) do {(hook)->hk_private = val;} while (0) argument
145 #define _NG_HOOK_SET_RCVMSG(hook, val) do {(hook)->hk_rcvmsg = val;} while (0) argument
146 #define _NG_HOOK_SET_RCVDATA(hook, val) do {(hook)->hk_rcvdata = val;} while (0) argument
147 #define _NG_HOOK_PRIVATE(hook) ((hook)->hk_private) argument
148 #define _NG_HOOK_NOT_VALID(hook) ((hook)->hk_flags & HK_INVALID) argument
149 #define _NG_HOOK_IS_VALID(hook) (!((hook)->hk_flags & HK_INVALID)) argument
150 #define _NG_HOOK_NODE(hook) ((hook)->hk_node) /* only rvalue! */ argument
151 #define _NG_HOOK_PEER(hook) ((hook)->hk_peer) /* only rvalue! */ argument
152 #define _NG_HOOK_FORCE_WRITER(hook) \ argument
153 do { hook->hk_flags |= HK_FORCE_WRITER; } while (0)
154 #define _NG_HOOK_FORCE_QUEUE(hook) do { hook->hk_flags |= HK_QUEUE; } while (0) argument
155 #define _NG_HOOK_HI_STACK(hook) do { hook->hk_flags |= HK_HI_STACK; } while (0) argument
158 #define NG_PEER_NODE(hook) NG_HOOK_NODE(NG_HOOK_PEER(hook)) argument
159 #define NG_PEER_HOOK_NAME(hook) NG_HOOK_NAME(NG_HOOK_PEER(hook)) argument
160 #define NG_PEER_NODE_NAME(hook) NG_NODE_NAME(NG_PEER_NODE(hook)) argument
164 void dumphook (hook_p hook, char *file, int line);
165 static __inline void _chkhook(hook_p hook, char *file, int line);
166 static __inline void _ng_hook_ref(hook_p hook, char * file, int line);
167 static __inline char * _ng_hook_name(hook_p hook, char * file, int line);
168 static __inline void _ng_hook_unref(hook_p hook, char * file, int line);
169 static __inline void _ng_hook_set_private(hook_p hook,
171 static __inline void _ng_hook_set_rcvmsg(hook_p hook,
173 static __inline void _ng_hook_set_rcvdata(hook_p hook,
175 static __inline void * _ng_hook_private(hook_p hook, char * file, int line);
176 static __inline int _ng_hook_not_valid(hook_p hook, char * file, int line);
177 static __inline int _ng_hook_is_valid(hook_p hook, char * file, int line);
178 static __inline node_p _ng_hook_node(hook_p hook, char * file, int line);
179 static __inline hook_p _ng_hook_peer(hook_p hook, char * file, int line);
180 static __inline void _ng_hook_force_writer(hook_p hook, char * file,
182 static __inline void _ng_hook_force_queue(hook_p hook, char * file, int line);
185 _chkhook(hook_p hook, char *file, int line) in _chkhook() argument
187 if (hook->hk_magic != HK_MAGIC) { in _chkhook()
189 dumphook(hook, file, line); in _chkhook()
191 hook->lastline = line; in _chkhook()
192 hook->lastfile = file; in _chkhook()
196 _ng_hook_ref(hook_p hook, char * file, int line) in _ng_hook_ref() argument
198 _chkhook(hook, file, line); in _ng_hook_ref()
199 _NG_HOOK_REF(hook); in _ng_hook_ref()
203 _ng_hook_name(hook_p hook, char * file, int line) in _ng_hook_name() argument
205 _chkhook(hook, file, line); in _ng_hook_name()
206 return (_NG_HOOK_NAME(hook)); in _ng_hook_name()
210 _ng_hook_unref(hook_p hook, char * file, int line) in _ng_hook_unref() argument
212 _chkhook(hook, file, line); in _ng_hook_unref()
213 _NG_HOOK_UNREF(hook); in _ng_hook_unref()
217 _ng_hook_set_private(hook_p hook, void *val, char * file, int line) in _ng_hook_set_private() argument
219 _chkhook(hook, file, line); in _ng_hook_set_private()
220 _NG_HOOK_SET_PRIVATE(hook, val); in _ng_hook_set_private()
224 _ng_hook_set_rcvmsg(hook_p hook, ng_rcvmsg_t *val, char * file, int line) in _ng_hook_set_rcvmsg() argument
226 _chkhook(hook, file, line); in _ng_hook_set_rcvmsg()
227 _NG_HOOK_SET_RCVMSG(hook, val); in _ng_hook_set_rcvmsg()
231 _ng_hook_set_rcvdata(hook_p hook, ng_rcvdata_t *val, char * file, int line) in _ng_hook_set_rcvdata() argument
233 _chkhook(hook, file, line); in _ng_hook_set_rcvdata()
234 _NG_HOOK_SET_RCVDATA(hook, val); in _ng_hook_set_rcvdata()
238 _ng_hook_private(hook_p hook, char * file, int line) in _ng_hook_private() argument
240 _chkhook(hook, file, line); in _ng_hook_private()
241 return (_NG_HOOK_PRIVATE(hook)); in _ng_hook_private()
245 _ng_hook_not_valid(hook_p hook, char * file, int line) in _ng_hook_not_valid() argument
247 _chkhook(hook, file, line); in _ng_hook_not_valid()
248 return (_NG_HOOK_NOT_VALID(hook)); in _ng_hook_not_valid()
252 _ng_hook_is_valid(hook_p hook, char * file, int line) in _ng_hook_is_valid() argument
254 _chkhook(hook, file, line); in _ng_hook_is_valid()
255 return (_NG_HOOK_IS_VALID(hook)); in _ng_hook_is_valid()
259 _ng_hook_node(hook_p hook, char * file, int line) in _ng_hook_node() argument
261 _chkhook(hook, file, line); in _ng_hook_node()
262 return (_NG_HOOK_NODE(hook)); in _ng_hook_node()
266 _ng_hook_peer(hook_p hook, char * file, int line) in _ng_hook_peer() argument
268 _chkhook(hook, file, line); in _ng_hook_peer()
269 return (_NG_HOOK_PEER(hook)); in _ng_hook_peer()
273 _ng_hook_force_writer(hook_p hook, char * file, int line) in _ng_hook_force_writer() argument
275 _chkhook(hook, file, line); in _ng_hook_force_writer()
276 _NG_HOOK_FORCE_WRITER(hook); in _ng_hook_force_writer()
280 _ng_hook_force_queue(hook_p hook, char * file, int line) in _ng_hook_force_queue() argument
282 _chkhook(hook, file, line); in _ng_hook_force_queue()
283 _NG_HOOK_FORCE_QUEUE(hook); in _ng_hook_force_queue()
287 _ng_hook_hi_stack(hook_p hook, char * file, int line) in _ng_hook_hi_stack() argument
289 _chkhook(hook, file, line); in _ng_hook_hi_stack()
290 _NG_HOOK_HI_STACK(hook); in _ng_hook_hi_stack()
294 #define NG_HOOK_REF(hook) _ng_hook_ref(hook, _NN_) argument
295 #define NG_HOOK_NAME(hook) _ng_hook_name(hook, _NN_) argument
296 #define NG_HOOK_UNREF(hook) _ng_hook_unref(hook, _NN_) argument
297 #define NG_HOOK_SET_PRIVATE(hook, val) _ng_hook_set_private(hook, val, _NN_) argument
298 #define NG_HOOK_SET_RCVMSG(hook, val) _ng_hook_set_rcvmsg(hook, val, _NN_) argument
299 #define NG_HOOK_SET_RCVDATA(hook, val) _ng_hook_set_rcvdata(hook, val, _NN_) argument
300 #define NG_HOOK_PRIVATE(hook) _ng_hook_private(hook, _NN_) argument
301 #define NG_HOOK_NOT_VALID(hook) _ng_hook_not_valid(hook, _NN_) argument
302 #define NG_HOOK_IS_VALID(hook) _ng_hook_is_valid(hook, _NN_) argument
303 #define NG_HOOK_NODE(hook) _ng_hook_node(hook, _NN_) argument
304 #define NG_HOOK_PEER(hook) _ng_hook_peer(hook, _NN_) argument
305 #define NG_HOOK_FORCE_WRITER(hook) _ng_hook_force_writer(hook, _NN_) argument
306 #define NG_HOOK_FORCE_QUEUE(hook) _ng_hook_force_queue(hook, _NN_) argument
307 #define NG_HOOK_HI_STACK(hook) _ng_hook_hi_stack(hook, _NN_) argument
311 #define NG_HOOK_REF(hook) _NG_HOOK_REF(hook) argument
312 #define NG_HOOK_NAME(hook) _NG_HOOK_NAME(hook) argument
313 #define NG_HOOK_UNREF(hook) _NG_HOOK_UNREF(hook) argument
314 #define NG_HOOK_SET_PRIVATE(hook, val) _NG_HOOK_SET_PRIVATE(hook, val) argument
315 #define NG_HOOK_SET_RCVMSG(hook, val) _NG_HOOK_SET_RCVMSG(hook, val) argument
316 #define NG_HOOK_SET_RCVDATA(hook, val) _NG_HOOK_SET_RCVDATA(hook, val) argument
317 #define NG_HOOK_PRIVATE(hook) _NG_HOOK_PRIVATE(hook) argument
318 #define NG_HOOK_NOT_VALID(hook) _NG_HOOK_NOT_VALID(hook) argument
319 #define NG_HOOK_IS_VALID(hook) _NG_HOOK_IS_VALID(hook) argument
320 #define NG_HOOK_NODE(hook) _NG_HOOK_NODE(hook) argument
321 #define NG_HOOK_PEER(hook) _NG_HOOK_PEER(hook) argument
322 #define NG_HOOK_FORCE_WRITER(hook) _NG_HOOK_FORCE_WRITER(hook) argument
323 #define NG_HOOK_FORCE_QUEUE(hook) _NG_HOOK_FORCE_QUEUE(hook) argument
324 #define NG_HOOK_HI_STACK(hook) _NG_HOOK_HI_STACK(hook) argument
398 typedef int ng_fn_eachhook(hook_p hook, void* arg);
543 hook_p hook; in _ng_node_foreach_hook() local
545 _NG_NODE_FOREACH_HOOK(node, fn, arg, hook); in _ng_node_foreach_hook()
546 return (hook); in _ng_node_foreach_hook()
593 typedef void ng_item_fn(node_p node, hook_p hook, void *arg1, int arg2);
594 typedef int ng_item_fn2(node_p node, struct ng_item *item, hook_p hook);
861 #define NG_FWD_ITEM_HOOK_FLAGS(error, item, hook, flags) \ argument
864 ng_address_hook(NULL, (item), (hook), NG_NOFLAGS); \
871 #define NG_FWD_ITEM_HOOK(error, item, hook) \ argument
872 NG_FWD_ITEM_HOOK_FLAGS(error, item, hook, NG_NOFLAGS)
881 #define NG_FWD_NEW_DATA_FLAGS(error, item, hook, m, flags) \ argument
885 NG_FWD_ITEM_HOOK_FLAGS(error, item, hook, flags); \
887 #define NG_FWD_NEW_DATA(error, item, hook, m) \ argument
888 NG_FWD_NEW_DATA_FLAGS(error, item, hook, m, NG_NOFLAGS)
894 #define NG_SEND_DATA_FLAGS(error, hook, m, flags) \ argument
898 NG_FWD_ITEM_HOOK_FLAGS(error, _item, hook, flags);\
905 #define NG_SEND_DATA_ONLY(error, hook, m) \ argument
906 NG_SEND_DATA_FLAGS(error, hook, m, NG_NOFLAGS)
908 #define NG_SEND_DATA(error, hook, m, x) \ argument
909 NG_SEND_DATA_FLAGS(error, hook, m, NG_NOFLAGS)
931 #define NG_SEND_MSG_HOOK(error, here, msg, hook, retaddr) \ argument
940 (hook), (retaddr))) == 0) { \
984 #define NG_FWD_MSG_HOOK(error, here, item, hook, retaddr) \ argument
987 (hook), (retaddr))) == 0) { \
1118 int ng_address_hook(node_p here, item_p item, hook_p hook, ng_ID_t retaddr);
1129 item_p ng_package_msg_self(node_p here, hook_p hook, struct ng_mesg *msg);
1131 int ng_rmhook_self(hook_p hook); /* if a node wants to kill a hook */
1135 int ng_send_fn(node_p node, hook_p hook, ng_item_fn *fn, void *arg1,
1137 int ng_send_fn1(node_p node, hook_p hook, ng_item_fn *fn, void *arg1,
1139 int ng_send_fn2(node_p node, hook_p hook, item_p pitem, ng_item_fn2 *fn,
1142 int ng_callout(struct callout *c, node_p node, hook_p hook, int ticks,