]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/shared/loop-util.h
grypt-util: drop two emacs modelines
[thirdparty/systemd.git] / src / shared / loop-util.h
1 /* SPDX-License-Identifier: LGPL-2.1+ */
2 #pragma once
3
4 /***
5 Copyright 2016 Lennart Poettering
6 ***/
7
8 #include "macro.h"
9
10 typedef struct LoopDevice LoopDevice;
11
12 /* Some helpers for setting up loopback block devices */
13
14 struct LoopDevice {
15 int fd;
16 int nr;
17 char *node;
18 bool relinquished;
19 };
20
21 int loop_device_make(int fd, int open_flags, LoopDevice **ret);
22 int loop_device_make_by_path(const char *path, int open_flags, LoopDevice **ret);
23
24 LoopDevice* loop_device_unref(LoopDevice *d);
25 DEFINE_TRIVIAL_CLEANUP_FUNC(LoopDevice*, loop_device_unref);
26
27 void loop_device_relinquish(LoopDevice *d);