ab9423d3464c51f370b2fd58c6af127ed4c18720
1 /*****************************************************************************
4 * LTT generic userspace tracing header
6 * Mathieu Desnoyers, March 2006
10 #define _LTT_GENERIC_H
14 #include <linux/unistd.h>
15 #include <asm/atomic.h>
17 #include <sys/types.h>
21 #define min(a,b) ((a)<(b)?(a):(b))
24 //Put in asm-i486/unistd.h
25 #define __NR_ltt_trace_generic 294
26 #define __NR_ltt_register_generic 295
29 #define NR_syscalls 296
31 //FIXME : setup for ARM
32 //FIXME : setup for MIPS
35 // Put in bits/syscall.h
36 #define SYS_ltt_trace_generic __NR_ltt_trace_generic
37 #define SYS_ltt_register_generic __NR_ltt_register_generic
40 #define FACNAME_LEN 32
42 typedef unsigned int ltt_facility_t
;
44 struct user_facility_info
{
45 char name
[FACNAME_LEN
];
46 unsigned int num_events
;
55 static inline _syscall4(int, ltt_trace_generic
, unsigned int, facility_id
,
56 unsigned int, event_id
, void *, data
, size_t, data_size
)
57 static inline _syscall2(int, ltt_register_generic
, unsigned int *, facility_id
, const struct user_facility_info
*, info
)
60 /* Calculate the offset needed to align the type */
61 static inline unsigned int ltt_align(size_t align_drift
,
64 size_t alignment
= min(sizeof(void*), size_of_type
);
66 return ((alignment
- align_drift
) & (alignment
-1));
69 static inline unsigned int ltt_align(size_t align_drift
,
76 #endif //_LTT_GENERIC_H
This page took 0.041241 seconds and 4 git commands to generate.