struct probe_info_new *info_new;
info_new = probe_info_get_val(ip->info, struct probe_info_new *);
- if (info_new->entry_handler)
- return info_new->entry_handler(ri, regs);
+ if (info_new->u.rp.entry_handler)
+ return info_new->u.rp.entry_handler(ri, regs);
}
struct probe_info_new *info_new;
info_new = probe_info_get_val(ip->info, struct probe_info_new *);
- if (info_new->ret_handler)
- return info_new->ret_handler(ri, regs);
+ if (info_new->u.rp.ret_handler)
+ return info_new->u.rp.ret_handler(ri, regs);
}
return 0;
struct probe_info_new *info_new;
info_new = probe_info_get_val(ip->info, struct probe_info_new *);
- if (info_new->handler)
- return info_new->handler(p, regs);
+ if (info_new->u.p.handler)
+ return info_new->u.p.handler(p, regs);
return 0;
}
union {
struct {
kprobe_pre_handler_t handler;
- };
+ } p;
struct {
uretprobe_handler_t entry_handler;
* currently data_size = sizeof(void *)
*/
size_t data_size;
- };
- };
+ } rp;
+ } u;
/* private */
struct probe_info *info;
#define MAKE_UPROBE(_handler) \
{ \
.type = SWAP_NEW_UP, \
- .handler = _handler \
+ .u.p.handler = _handler \
}
#define MAKE_URPROBE(_entry, _ret, _size) \
{ \
.type = SWAP_NEW_URP, \
- .entry_handler = _entry, \
- .ret_handler = _ret, \
- .data_size = _size \
+ .u.rp.entry_handler = _entry, \
+ .u.rp.ret_handler = _ret, \
+ .u.rp.data_size = _size \
}
struct probe_info_otg {