Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
tools
perf
util
target.h
Go to the documentation of this file.
1
#ifndef _PERF_TARGET_H
2
#define _PERF_TARGET_H
3
4
#include <stdbool.h>
5
#include <sys/types.h>
6
7
struct
perf_target
{
8
const
char
*
pid
;
9
const
char
*
tid
;
10
const
char
*
cpu_list
;
11
const
char
*
uid_str
;
12
uid_t
uid
;
13
bool
system_wide
;
14
bool
uses_mmap
;
15
};
16
17
enum
perf_target_errno
{
18
PERF_ERRNO_TARGET__SUCCESS
= 0,
19
20
/*
21
* Choose an arbitrary negative big number not to clash with standard
22
* errno since SUS requires the errno has distinct positive values.
23
* See 'Issue 6' in the link below.
24
*
25
* http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/errno.h.html
26
*/
27
__PERF_ERRNO_TARGET__START
= -10000,
28
29
30
/* for perf_target__validate() */
31
PERF_ERRNO_TARGET__PID_OVERRIDE_CPU
=
__PERF_ERRNO_TARGET__START
,
32
PERF_ERRNO_TARGET__PID_OVERRIDE_UID
,
33
PERF_ERRNO_TARGET__UID_OVERRIDE_CPU
,
34
PERF_ERRNO_TARGET__PID_OVERRIDE_SYSTEM
,
35
PERF_ERRNO_TARGET__UID_OVERRIDE_SYSTEM
,
36
37
/* for perf_target__parse_uid() */
38
PERF_ERRNO_TARGET__INVALID_UID
,
39
PERF_ERRNO_TARGET__USER_NOT_FOUND
,
40
41
__PERF_ERRNO_TARGET__END
,
42
};
43
44
enum
perf_target_errno
perf_target__validate
(
struct
perf_target
*
target
);
45
enum
perf_target_errno
perf_target__parse_uid
(
struct
perf_target
*
target
);
46
47
int
perf_target__strerror
(
struct
perf_target
*
target
,
int
errnum,
char
*
buf
,
48
size_t
buflen
);
49
50
static
inline
bool
perf_target__has_task(
struct
perf_target
*
target
)
51
{
52
return
target->
tid
|| target->
pid
|| target->
uid_str
;
53
}
54
55
static
inline
bool
perf_target__has_cpu(
struct
perf_target
*
target
)
56
{
57
return
target->
system_wide
|| target->
cpu_list
;
58
}
59
60
static
inline
bool
perf_target__none(
struct
perf_target
*
target
)
61
{
62
return
!perf_target__has_task(target) && !perf_target__has_cpu(target);
63
}
64
65
#endif
/* _PERF_TARGET_H */
Generated on Thu Jan 10 2013 14:08:44 for Linux Kernel by
1.8.2