Commit 03294077 authored by Kir Kolyshkin's avatar Kir Kolyshkin Committed by Cyrill Gorcunov

util.c: introduce open_proc_rw()

To be used by the next patch
Signed-off-by: 's avatarKir Kolyshkin <kir@openvz.org>
Acked-by: 's avatarPavel Emelyanov <xemul@parallels.com>
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
parent 389bd830
......@@ -206,6 +206,7 @@ extern void hex_dump(void *addr, unsigned long len);
int open_pid_proc(pid_t pid);
int open_proc(int pid_dir_fd, char *fmt, ...);
int open_proc_rw(int pid_dir_fd, char *fmt, ...)
DIR *opendir_proc(int pid_dir_fd, char *fmt, ...);
FILE *fopen_proc(int pid_dir_fd, char *fmt, ...);
......
......@@ -217,7 +217,7 @@ int open_pid_proc(pid_t pid)
return fd;
}
#define do_open_proc(pid_dir_fd, fmt) \
#define do_open_proc(pid_dir_fd, fmt, flags) \
({ \
char fname[64]; \
va_list args; \
......@@ -226,12 +226,17 @@ int open_pid_proc(pid_t pid)
vsnprintf(fname, sizeof(fname), fmt, args); \
va_end(args); \
\
openat(pid_dir_fd, fname, O_RDONLY); \
openat(pid_dir_fd, fname, flags); \
})
int open_proc(int pid_dir_fd, char *fmt, ...)
{
return do_open_proc(pid_dir_fd, fmt);
return do_open_proc(pid_dir_fd, fmt, O_RDONLY);
}
int open_proc_rw(int pid_dir_fd, char *fmt, ...)
{
return do_open_proc(pid_dir_fd, fmt, O_RDWR);
}
DIR *opendir_proc(int pid_dir_fd, char *fmt, ...)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment