Changeset 1128:7c5449ddc434 in freeDiameter
- Timestamp:
- May 15, 2013, 12:18:30 PM (11 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/dbg_msg_dumps/dbg_msg_dumps.c
r1126 r1128 64 64 TRACE_ENTRY("%p", conffile); 65 65 66 CHECK_FCT( fd_hook_register( ((1 << HOOK_MESSAGE_RECEIVED) | (1 << HOOK_MESSAGE_SENT)),66 CHECK_FCT( fd_hook_register( HOOK_MASK( HOOK_MESSAGE_RECEIVED, HOOK_MESSAGE_SENT ), 67 67 md_hook_cb, NULL, NULL, &md_hdl) ); 68 68 -
extensions/dbg_msg_timings/dbg_msg_timings.c
r1121 r1128 117 117 CHECK_FCT( fd_hook_data_register( sizeof(struct fd_hook_permsgdata), NULL, NULL, &mt_data_hdl ) ); 118 118 119 CHECK_FCT( fd_hook_register( ((1 << HOOK_MESSAGE_RECEIVED) | (1 << HOOK_MESSAGE_SENT) | (1 << HOOK_DATA_RECEIVED)),119 CHECK_FCT( fd_hook_register( HOOK_MASK( HOOK_MESSAGE_RECEIVED, HOOK_MESSAGE_SENT, HOOK_DATA_RECEIVED ), 120 120 mt_hook_cb, NULL, mt_data_hdl, &mt_hdl) ); 121 121 -
include/freeDiameter/libfdcore.h
r1127 r1128 1077 1077 struct fd_hook_hdl; 1078 1078 1079 /* Helper for building a mask of hooks for registration */ 1080 #define HOOK_MASK(hooklist...) fd_hook_mask_helper(0, ## hooklist, -1) 1081 1079 1082 /* 1080 1083 * FUNCTION: fd_hook_register 1081 1084 * 1082 1085 * PARAMETERS: 1083 * type_mask : A bitmask of fd_hook_type bits for which this cb is registered, e.g. ((1 << HOOK_MESSAGE_RECEIVED) | (1 << HOOK_MESSAGE_SENT))1086 * type_mask : A bitmask of fd_hook_type bits for which this cb is registered, e.g. HOOK_MASK( HOOK_MESSAGE_RECEIVED, HOOK_MESSAGE_SENT ) 1084 1087 * fd_hook_cb : The callback function to register (see prototype above). 1085 1088 * regdata : Pointer to pass to the callback when it is called. The data is opaque to the daemon. … … 1110 1113 struct fd_hook_permsgdata * fd_hook_get_request_pmd(struct fd_hook_data_hdl *data_hdl, struct msg * answer); 1111 1114 1115 /* The following is used by HOOK_MASK macro */ 1116 uint32_t fd_hook_mask_helper(int dummy, ...); 1112 1117 1113 1118 /*============================================================*/ -
libfdcore/hooks.c
r1120 r1128 263 263 } 264 264 265 /* Create a mask */ 266 uint32_t fd_hook_mask_helper(int dummy, ...) 267 { 268 va_list ap; 269 uint32_t ret = 0; 270 int next; 271 272 va_start(ap, dummy); 273 while ((next = va_arg(ap, int)) >= 0) { 274 if (next > HOOK_PEER_LAST) 275 break; /* invalid parameter */ 276 ret |= (1<<next); 277 } 278 va_end(ap); 279 280 return ret; 281 } 282 265 283 /* The function that does the work of calling the extension's callbacks and also managing the permessagedata structures */ 266 284 void fd_hook_call(enum fd_hook_type type, struct msg * msg, struct fd_peer * peer, void * other, struct fd_msg_pmdl * pmdl)
Note: See TracChangeset
for help on using the changeset viewer.