]>
Commit | Line | Data |
---|---|---|
18c528e9 LP |
1 | /* SPDX-License-Identifier: LGPL-2.1+ */ |
2 | #pragma once | |
3 | ||
18c528e9 LP |
4 | #include <sys/types.h> |
5 | ||
6 | #include "macro.h" | |
7 | #include "stdio-util.h" | |
8 | #include "string-util.h" | |
9 | ||
10 | #define SYS_BLOCK_PATH_MAX(suffix) \ | |
11 | (STRLEN("/sys/dev/block/") + DECIMAL_STR_MAX(dev_t) + 1 + DECIMAL_STR_MAX(dev_t) + strlen_ptr(suffix)) | |
12 | #define xsprintf_sys_block_path(buf, suffix, devno) \ | |
13 | xsprintf(buf, "/sys/dev/block/%u:%u%s", major(devno), minor(devno), strempty(suffix)) | |
14 | ||
15 | int block_get_whole_disk(dev_t d, dev_t *ret); | |
880f09bd | 16 | int block_get_originating(dev_t d, dev_t *ret); |
18c528e9 LP |
17 | |
18 | int get_block_device(const char *path, dev_t *dev); | |
19 | ||
20 | int get_block_device_harder(const char *path, dev_t *dev); | |
ac83e5ae LP |
21 | |
22 | int lock_whole_block_device(dev_t devt, int operation); | |
e8467cd3 LP |
23 | |
24 | int blockdev_partscan_enabled(int fd); |