1#ifndef _LINUX_SUSPEND_IOCTLS_H 2#define _LINUX_SUSPEND_IOCTLS_H 3 4#include <linux/types.h> 5/* 6 * This structure is used to pass the values needed for the identification 7 * of the resume swap area from a user space to the kernel via the 8 * SNAPSHOT_SET_SWAP_AREA ioctl 9 */ 10struct resume_swap_area { 11 __kernel_loff_t offset; 12 __u32 dev; 13} __attribute__((packed)); 14 15#define SNAPSHOT_IOC_MAGIC '3' 16#define SNAPSHOT_FREEZE _IO(SNAPSHOT_IOC_MAGIC, 1) 17#define SNAPSHOT_UNFREEZE _IO(SNAPSHOT_IOC_MAGIC, 2) 18#define SNAPSHOT_ATOMIC_RESTORE _IO(SNAPSHOT_IOC_MAGIC, 4) 19#define SNAPSHOT_FREE _IO(SNAPSHOT_IOC_MAGIC, 5) 20#define SNAPSHOT_FREE_SWAP_PAGES _IO(SNAPSHOT_IOC_MAGIC, 9) 21#define SNAPSHOT_S2RAM _IO(SNAPSHOT_IOC_MAGIC, 11) 22#define SNAPSHOT_SET_SWAP_AREA _IOW(SNAPSHOT_IOC_MAGIC, 13, \ 23 struct resume_swap_area) 24#define SNAPSHOT_GET_IMAGE_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 14, __kernel_loff_t) 25#define SNAPSHOT_PLATFORM_SUPPORT _IO(SNAPSHOT_IOC_MAGIC, 15) 26#define SNAPSHOT_POWER_OFF _IO(SNAPSHOT_IOC_MAGIC, 16) 27#define SNAPSHOT_CREATE_IMAGE _IOW(SNAPSHOT_IOC_MAGIC, 17, int) 28#define SNAPSHOT_PREF_IMAGE_SIZE _IO(SNAPSHOT_IOC_MAGIC, 18) 29#define SNAPSHOT_AVAIL_SWAP_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 19, __kernel_loff_t) 30#define SNAPSHOT_ALLOC_SWAP_PAGE _IOR(SNAPSHOT_IOC_MAGIC, 20, __kernel_loff_t) 31#define SNAPSHOT_IOC_MAXNR 20 32 33#endif /* _LINUX_SUSPEND_IOCTLS_H */ 34