mirror of
https://github.com/checkpoint-restore/criu
synced 2025-09-04 00:05:26 +00:00
util.c: introduce open_proc_rw()
To be used by the next patch Signed-off-by: Kir Kolyshkin <kir@openvz.org> Acked-by: Pavel Emelyanov <xemul@parallels.com> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
This commit is contained in:
committed by
Cyrill Gorcunov
parent
389bd830f1
commit
03294077af
@@ -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, ...);
|
||||||
|
|
||||||
|
11
util.c
11
util.c
@@ -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)
|
|||||||
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, ...)
|
||||||
|
Reference in New Issue
Block a user