tools lib fs: Adopt filename__read_int from tools/perf/
Will be useful for new helpers to read sysctl values. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Borislav Petkov <bp@suse.de> Cc: David Ahern <dsahern@gmail.com> Cc: Don Zickus <dzickus@redhat.com> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
		
					parent
					
						
							
								99d348a84c
							
						
					
				
			
			
				commit
				
					
						3a351127cb
					
				
			
		
					 4 changed files with 23 additions and 18 deletions
				
			
		| 
						 | 
				
			
			@ -7,6 +7,10 @@
 | 
			
		|||
#include <stdlib.h>
 | 
			
		||||
#include <string.h>
 | 
			
		||||
#include <sys/vfs.h>
 | 
			
		||||
#include <sys/types.h>
 | 
			
		||||
#include <sys/stat.h>
 | 
			
		||||
#include <fcntl.h>
 | 
			
		||||
#include <unistd.h>
 | 
			
		||||
 | 
			
		||||
#include "debugfs.h"
 | 
			
		||||
#include "fs.h"
 | 
			
		||||
| 
						 | 
				
			
			@ -163,3 +167,20 @@ const char *name##__mountpoint(void)	\
 | 
			
		|||
 | 
			
		||||
FS__MOUNTPOINT(sysfs,  FS__SYSFS);
 | 
			
		||||
FS__MOUNTPOINT(procfs, FS__PROCFS);
 | 
			
		||||
 | 
			
		||||
int filename__read_int(const char *filename, int *value)
 | 
			
		||||
{
 | 
			
		||||
	char line[64];
 | 
			
		||||
	int fd = open(filename, O_RDONLY), err = -1;
 | 
			
		||||
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		return -1;
 | 
			
		||||
 | 
			
		||||
	if (read(fd, line, sizeof(line)) > 0) {
 | 
			
		||||
		*value = atoi(line);
 | 
			
		||||
		err = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	close(fd);
 | 
			
		||||
	return err;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,4 +11,6 @@
 | 
			
		|||
 | 
			
		||||
const char *sysfs__mountpoint(void);
 | 
			
		||||
const char *procfs__mountpoint(void);
 | 
			
		||||
 | 
			
		||||
int filename__read_int(const char *filename, int *value);
 | 
			
		||||
#endif /* __API_FS__ */
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -442,23 +442,6 @@ unsigned long parse_tag_value(const char *str, struct parse_tag *tags)
 | 
			
		|||
	return (unsigned long) -1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int filename__read_int(const char *filename, int *value)
 | 
			
		||||
{
 | 
			
		||||
	char line[64];
 | 
			
		||||
	int fd = open(filename, O_RDONLY), err = -1;
 | 
			
		||||
 | 
			
		||||
	if (fd < 0)
 | 
			
		||||
		return -1;
 | 
			
		||||
 | 
			
		||||
	if (read(fd, line, sizeof(line)) > 0) {
 | 
			
		||||
		*value = atoi(line);
 | 
			
		||||
		err = 0;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	close(fd);
 | 
			
		||||
	return err;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
int filename__read_str(const char *filename, char **buf, size_t *sizep)
 | 
			
		||||
{
 | 
			
		||||
	size_t size = 0, alloc_size = 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -343,7 +343,6 @@ char *get_srcline(struct dso *dso, unsigned long addr, struct symbol *sym,
 | 
			
		|||
		  bool show_sym);
 | 
			
		||||
void free_srcline(char *srcline);
 | 
			
		||||
 | 
			
		||||
int filename__read_int(const char *filename, int *value);
 | 
			
		||||
int filename__read_str(const char *filename, char **buf, size_t *sizep);
 | 
			
		||||
int perf_event_paranoid(void);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue