| 
									
										
										
										
											2013-10-15 16:27:32 +02:00
										 |  |  | #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 { | 
					
						
							| 
									
										
										
										
											2013-11-28 11:30:17 +01:00
										 |  |  | 	const char		*path; | 
					
						
							|  |  |  | 	int			 fd; | 
					
						
							|  |  |  | 	bool			 is_pipe; | 
					
						
							|  |  |  | 	bool			 force; | 
					
						
							|  |  |  | 	unsigned long		 size; | 
					
						
							|  |  |  | 	enum perf_data_mode	 mode; | 
					
						
							| 
									
										
										
										
											2013-10-15 16:27:32 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-15 16:27:34 +02:00
										 |  |  | 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; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-15 16:27:33 +02:00
										 |  |  | int perf_data_file__open(struct perf_data_file *file); | 
					
						
							|  |  |  | void perf_data_file__close(struct perf_data_file *file); | 
					
						
							| 
									
										
										
										
											2013-11-28 11:30:17 +01:00
										 |  |  | ssize_t perf_data_file__write(struct perf_data_file *file, | 
					
						
							|  |  |  | 			      void *buf, size_t size); | 
					
						
							| 
									
										
										
										
											2013-10-15 16:27:33 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2013-10-15 16:27:32 +02:00
										 |  |  | #endif /* __PERF_DATA_H */
 |