summaryrefslogtreecommitdiffstats
path: root/src/shutdown/umount.h
blob: fac1a12406a79591fc603bb3e9a8d7ff63ca8ec2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
/* SPDX-License-Identifier: LGPL-2.1-or-later */
#pragma once

/***
  Copyright © 2010 ProFUSION embedded systems
***/

#include "list.h"

int umount_all(bool *changed, int umount_log_level);

int swapoff_all(bool *changed);

int loopback_detach_all(bool *changed, int umount_log_level);

int dm_detach_all(bool *changed, int umount_log_level);

int md_detach_all(bool *changed, int umount_log_level);

/* This is exported just for testing */
typedef struct MountPoint {
        char *path;
        char *remount_options;
        unsigned long remount_flags;
        bool try_remount_ro;
        dev_t devnum;
        LIST_FIELDS(struct MountPoint, mount_point);
} MountPoint;

int mount_points_list_get(const char *mountinfo, MountPoint **head);
void mount_points_list_free(MountPoint **head);
int swap_list_get(const char *swaps, MountPoint **head);