blob: bcce04e21c0dce71a833c1eb5a68b9cf2f08234f [file] [log] [blame]
Greg Kroah-Hartman6f52b162017-11-01 15:08:43 +01001/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
Rafael J. Wysocki3010f8c2007-10-26 01:05:05 +02002#ifndef _LINUX_SUSPEND_IOCTLS_H
3#define _LINUX_SUSPEND_IOCTLS_H
4
Arnd Bergmann85efde62009-02-26 00:51:39 +01005#include <linux/types.h>
Rafael J. Wysocki3010f8c2007-10-26 01:05:05 +02006/*
7 * This structure is used to pass the values needed for the identification
8 * of the resume swap area from a user space to the kernel via the
9 * SNAPSHOT_SET_SWAP_AREA ioctl
10 */
11struct resume_swap_area {
Arnd Bergmann85efde62009-02-26 00:51:39 +010012 __kernel_loff_t offset;
13 __u32 dev;
Rafael J. Wysocki3010f8c2007-10-26 01:05:05 +020014} __attribute__((packed));
15
16#define SNAPSHOT_IOC_MAGIC '3'
17#define SNAPSHOT_FREEZE _IO(SNAPSHOT_IOC_MAGIC, 1)
18#define SNAPSHOT_UNFREEZE _IO(SNAPSHOT_IOC_MAGIC, 2)
19#define SNAPSHOT_ATOMIC_RESTORE _IO(SNAPSHOT_IOC_MAGIC, 4)
20#define SNAPSHOT_FREE _IO(SNAPSHOT_IOC_MAGIC, 5)
21#define SNAPSHOT_FREE_SWAP_PAGES _IO(SNAPSHOT_IOC_MAGIC, 9)
22#define SNAPSHOT_S2RAM _IO(SNAPSHOT_IOC_MAGIC, 11)
23#define SNAPSHOT_SET_SWAP_AREA _IOW(SNAPSHOT_IOC_MAGIC, 13, \
24 struct resume_swap_area)
Arnd Bergmann85efde62009-02-26 00:51:39 +010025#define SNAPSHOT_GET_IMAGE_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 14, __kernel_loff_t)
Rafael J. Wysocki3010f8c2007-10-26 01:05:05 +020026#define SNAPSHOT_PLATFORM_SUPPORT _IO(SNAPSHOT_IOC_MAGIC, 15)
27#define SNAPSHOT_POWER_OFF _IO(SNAPSHOT_IOC_MAGIC, 16)
28#define SNAPSHOT_CREATE_IMAGE _IOW(SNAPSHOT_IOC_MAGIC, 17, int)
29#define SNAPSHOT_PREF_IMAGE_SIZE _IO(SNAPSHOT_IOC_MAGIC, 18)
Arnd Bergmann85efde62009-02-26 00:51:39 +010030#define SNAPSHOT_AVAIL_SWAP_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 19, __kernel_loff_t)
31#define SNAPSHOT_ALLOC_SWAP_PAGE _IOR(SNAPSHOT_IOC_MAGIC, 20, __kernel_loff_t)
Rafael J. Wysocki3010f8c2007-10-26 01:05:05 +020032#define SNAPSHOT_IOC_MAXNR 20
33
34#endif /* _LINUX_SUSPEND_IOCTLS_H */