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); ...@@ -206,6 +206,7 @@ extern void hex_dump(void *addr, unsigned long len);
int open_pid_proc(pid_t pid); int open_pid_proc(pid_t pid);
int open_proc(int pid_dir_fd, char *fmt, ...); 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, ...); DIR *opendir_proc(int pid_dir_fd, char *fmt, ...);
FILE *fopen_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) ...@@ -217,7 +217,7 @@ int open_pid_proc(pid_t pid)
return fd; return fd;
} }
#define do_open_proc(pid_dir_fd, fmt) \ #define do_open_proc(pid_dir_fd, fmt, flags) \
({ \ ({ \
char fname[64]; \ char fname[64]; \
va_list args; \ va_list args; \
...@@ -226,12 +226,17 @@ int open_pid_proc(pid_t pid) ...@@ -226,12 +226,17 @@ int open_pid_proc(pid_t pid)
vsnprintf(fname, sizeof(fname), fmt, args); \ vsnprintf(fname, sizeof(fname), fmt, args); \
va_end(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, ...) 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, ...) 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