Blame view

tools/perf/util/data.h 1.34 KB
f5fc14124   Jiri Olsa   perf tools: Add d...
1
2
3
4
5
6
7
8
9
10
11
  #ifndef __PERF_DATA_H
  #define __PERF_DATA_H
  
  #include <stdbool.h>
  
  enum perf_data_mode {
  	PERF_DATA_MODE_WRITE,
  	PERF_DATA_MODE_READ,
  };
  
  struct perf_data_file {
6f9a317f2   Jiri Olsa   perf tools: Add p...
12
13
14
15
16
17
  	const char		*path;
  	int			 fd;
  	bool			 is_pipe;
  	bool			 force;
  	unsigned long		 size;
  	enum perf_data_mode	 mode;
f5fc14124   Jiri Olsa   perf tools: Add d...
18
19
20
21
22
23
24
25
26
27
28
  };
  
  static inline bool perf_data_file__is_read(struct perf_data_file *file)
  {
  	return file->mode == PERF_DATA_MODE_READ;
  }
  
  static inline bool perf_data_file__is_write(struct perf_data_file *file)
  {
  	return file->mode == PERF_DATA_MODE_WRITE;
  }
cc9784bd9   Jiri Olsa   perf session: Sep...
29
30
31
32
33
34
35
36
37
38
39
40
41
42
  static inline int perf_data_file__is_pipe(struct perf_data_file *file)
  {
  	return file->is_pipe;
  }
  
  static inline int perf_data_file__fd(struct perf_data_file *file)
  {
  	return file->fd;
  }
  
  static inline unsigned long perf_data_file__size(struct perf_data_file *file)
  {
  	return file->size;
  }
6a4d98d78   Jiri Olsa   perf tools: Add p...
43
44
  int perf_data_file__open(struct perf_data_file *file);
  void perf_data_file__close(struct perf_data_file *file);
6f9a317f2   Jiri Olsa   perf tools: Add p...
45
46
  ssize_t perf_data_file__write(struct perf_data_file *file,
  			      void *buf, size_t size);
040f9915e   Wang Nan   perf data: Add pe...
47
48
49
50
51
52
53
54
55
56
  /*
   * If at_exit is set, only rename current perf.data to
   * perf.data.<postfix>, continue write on original file.
   * Set at_exit when flushing the last output.
   *
   * Return value is fd of new output.
   */
  int perf_data_file__switch(struct perf_data_file *file,
  			   const char *postfix,
  			   size_t pos, bool at_exit);
f5fc14124   Jiri Olsa   perf tools: Add d...
57
  #endif /* __PERF_DATA_H */