diff options
Diffstat (limited to 'tapset/aux_syscalls.stp')
-rw-r--r-- | tapset/aux_syscalls.stp | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/tapset/aux_syscalls.stp b/tapset/aux_syscalls.stp index 2f19ab16..6e45e8e1 100644 --- a/tapset/aux_syscalls.stp +++ b/tapset/aux_syscalls.stp @@ -1891,3 +1891,49 @@ function _struct_sigaction32_u:string(uaddr:long) } #endif %} + +/* + * Function irqflags_str : + * Returns the symbolic string representation of the IRQ flags. + * + */ + +%{ +#include <linux/interrupt.h> +#ifndef IRQF_ONESHOT +#define IRQF_ONESHOT 0x00002000 +#endif +static const _stp_val_array const _stp_irq_list[] = { +#ifdef IRQF_DISABLED + V(IRQF_DISABLED), +#endif +#ifdef IRQF_SAMPLE_RANDOM + V(IRQF_SAMPLE_RANDOM), +#endif +#ifdef IRQF_SHARED + V(IRQF_SHARED), +#endif +#ifdef IRQF_PROBE_SHARED + V(IRQF_PROBE_SHARED), +#endif +#ifdef IRQF_TIMER + V(IRQF_TIMER), +#endif +#ifdef IRQF_PERCPU + V(IRQF_PERCPU), +#endif +#ifdef IRQF_NOBALANCING + V(IRQF_NOBALANCING), +#endif +#ifdef IRQF_IRQPOLL + V(IRQF_IRQPOLL), +#endif + V(IRQF_ONESHOT), + {0, NULL} +}; +%} + +function irqflags_str:string(f:long) +%{ /* pure */ + _stp_lookup_or_str(_stp_irq_list, THIS->f, THIS->__retvalue, MAXSTRINGLEN); +%} |