]>
git.ipfire.org Git - thirdparty/util-linux.git/blob - sys-utils/irq-common.h
1 #ifndef UTIL_LINUX_H_IRQ_COMMON
2 #define UTIL_LINUX_H_IRQ_COMMON
8 /* supported columns */
19 char *irq
; /* short name of this irq */
20 char *name
; /* descriptive name of this irq */
21 unsigned long total
; /* total count since system start up */
22 unsigned long delta
; /* delta count since previous update */
31 unsigned long nr_irq
; /* number of irq vector */
32 unsigned long nr_irq_info
; /* number of irq info */
33 struct irq_info
*irq_info
; /* array of irq_info */
34 struct irq_cpu
*cpus
; /* array of irq_cpu */
35 size_t nr_active_cpu
; /* number of active cpu */
36 unsigned long total_irq
; /* total irqs */
37 unsigned long delta_irq
; /* delta irqs */
41 typedef int (irq_cmp_t
)(const struct irq_info
*, const struct irq_info
*);
43 /* output definition */
45 int columns
[__COL_COUNT
* 2];
48 irq_cmp_t
*sort_cmp_func
;
51 json
:1, /* JSON output */
52 pairs
:1, /* export, NAME="value" aoutput */
53 no_headings
:1; /* don't print header */
56 int irq_column_name_to_id(char const *const name
, size_t const namesz
);
57 void free_irqstat(struct irq_stat
*stat
);
59 void irq_print_columns(FILE *f
, int nodelta
);
61 void set_sort_func_by_name(struct irq_output
*out
, const char *name
);
62 void set_sort_func_by_key(struct irq_output
*out
, const char c
);
64 struct libscols_table
*get_scols_table(struct irq_output
*out
,
65 struct irq_stat
*prev
,
66 struct irq_stat
**xstat
,
71 struct libscols_table
*get_scols_cpus_table(struct irq_output
*out
,
72 struct irq_stat
*prev
,
73 struct irq_stat
*curr
,
77 #endif /* UTIL_LINUX_H_IRQ_COMMON */