| /* SPDX-License-Identifier: GPL-2.0-or-later |
| * Copyright (C) 2012 Cyril Hrubis chrubis@suse.cz |
| */ |
| |
| #ifndef TST_SAFE_FILE_OPS |
| #define TST_SAFE_FILE_OPS |
| |
| #include "safe_file_ops_fn.h" |
| |
| #define FILE_SCANF(path, fmt, ...) \ |
| file_scanf(__FILE__, __LINE__, (path), (fmt), ## __VA_ARGS__) |
| |
| #define SAFE_FILE_SCANF(path, fmt, ...) \ |
| safe_file_scanf(__FILE__, __LINE__, NULL, \ |
| (path), (fmt), ## __VA_ARGS__) |
| |
| #define FILE_LINES_SCANF(path, fmt, ...) \ |
| file_lines_scanf(__FILE__, __LINE__, NULL, 0,\ |
| (path), (fmt), ## __VA_ARGS__) |
| |
| #define SAFE_FILE_LINES_SCANF(path, fmt, ...) \ |
| file_lines_scanf(__FILE__, __LINE__, NULL, 1,\ |
| (path), (fmt), ## __VA_ARGS__) |
| |
| #define SAFE_READ_MEMINFO(item) \ |
| ({long tst_rval; \ |
| SAFE_FILE_LINES_SCANF("/proc/meminfo", item " %ld", \ |
| &tst_rval); \ |
| tst_rval;}) |
| |
| #define SAFE_READ_PROC_STATUS(pid, item) \ |
| ({long tst_rval_; \ |
| char tst_path_[128]; \ |
| sprintf(tst_path_, "/proc/%d/status", pid); \ |
| SAFE_FILE_LINES_SCANF(tst_path_, item " %ld", \ |
| &tst_rval_); \ |
| tst_rval_;}) |
| |
| #define FILE_PRINTF(path, fmt, ...) \ |
| file_printf(__FILE__, __LINE__, \ |
| (path), (fmt), ## __VA_ARGS__) |
| |
| #define SAFE_FILE_PRINTF(path, fmt, ...) \ |
| safe_file_printf(__FILE__, __LINE__, NULL, \ |
| (path), (fmt), ## __VA_ARGS__) |
| |
| #define SAFE_CP(src, dst) \ |
| safe_cp(__FILE__, __LINE__, NULL, (src), (dst)) |
| |
| #define SAFE_TOUCH(pathname, mode, times) \ |
| safe_touch(__FILE__, __LINE__, NULL, \ |
| (pathname), (mode), (times)) |
| |
| #define SAFE_MOUNT_OVERLAY() \ |
| ((void) mount_overlay(__FILE__, __LINE__, 1)) |
| |
| #define TST_MOUNT_OVERLAY() \ |
| (mount_overlay(__FILE__, __LINE__, 0) == 0) |
| |
| #endif /* TST_SAFE_FILE_OPS */ |