xref: /linux/include/uapi/linux/suspend_ioctls.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2607ca46eSDavid Howells #ifndef _LINUX_SUSPEND_IOCTLS_H
3607ca46eSDavid Howells #define _LINUX_SUSPEND_IOCTLS_H
4607ca46eSDavid Howells 
5607ca46eSDavid Howells #include <linux/types.h>
6607ca46eSDavid Howells /*
7607ca46eSDavid Howells  * This structure is used to pass the values needed for the identification
8607ca46eSDavid Howells  * of the resume swap area from a user space to the kernel via the
9607ca46eSDavid Howells  * SNAPSHOT_SET_SWAP_AREA ioctl
10607ca46eSDavid Howells  */
11607ca46eSDavid Howells struct resume_swap_area {
12607ca46eSDavid Howells 	__kernel_loff_t offset;
13607ca46eSDavid Howells 	__u32 dev;
14607ca46eSDavid Howells } __attribute__((packed));
15607ca46eSDavid Howells 
16607ca46eSDavid Howells #define SNAPSHOT_IOC_MAGIC	'3'
17607ca46eSDavid Howells #define SNAPSHOT_FREEZE			_IO(SNAPSHOT_IOC_MAGIC, 1)
18607ca46eSDavid Howells #define SNAPSHOT_UNFREEZE		_IO(SNAPSHOT_IOC_MAGIC, 2)
19607ca46eSDavid Howells #define SNAPSHOT_ATOMIC_RESTORE		_IO(SNAPSHOT_IOC_MAGIC, 4)
20607ca46eSDavid Howells #define SNAPSHOT_FREE			_IO(SNAPSHOT_IOC_MAGIC, 5)
21607ca46eSDavid Howells #define SNAPSHOT_FREE_SWAP_PAGES	_IO(SNAPSHOT_IOC_MAGIC, 9)
22607ca46eSDavid Howells #define SNAPSHOT_S2RAM			_IO(SNAPSHOT_IOC_MAGIC, 11)
23607ca46eSDavid Howells #define SNAPSHOT_SET_SWAP_AREA		_IOW(SNAPSHOT_IOC_MAGIC, 13, \
24607ca46eSDavid Howells 							struct resume_swap_area)
25607ca46eSDavid Howells #define SNAPSHOT_GET_IMAGE_SIZE		_IOR(SNAPSHOT_IOC_MAGIC, 14, __kernel_loff_t)
26607ca46eSDavid Howells #define SNAPSHOT_PLATFORM_SUPPORT	_IO(SNAPSHOT_IOC_MAGIC, 15)
27607ca46eSDavid Howells #define SNAPSHOT_POWER_OFF		_IO(SNAPSHOT_IOC_MAGIC, 16)
28607ca46eSDavid Howells #define SNAPSHOT_CREATE_IMAGE		_IOW(SNAPSHOT_IOC_MAGIC, 17, int)
29607ca46eSDavid Howells #define SNAPSHOT_PREF_IMAGE_SIZE	_IO(SNAPSHOT_IOC_MAGIC, 18)
30607ca46eSDavid Howells #define SNAPSHOT_AVAIL_SWAP_SIZE	_IOR(SNAPSHOT_IOC_MAGIC, 19, __kernel_loff_t)
31607ca46eSDavid Howells #define SNAPSHOT_ALLOC_SWAP_PAGE	_IOR(SNAPSHOT_IOC_MAGIC, 20, __kernel_loff_t)
32607ca46eSDavid Howells #define SNAPSHOT_IOC_MAXNR	20
33607ca46eSDavid Howells 
34607ca46eSDavid Howells #endif /* _LINUX_SUSPEND_IOCTLS_H */
35