blob: ba8522774c78dd97e9db776465b775f0601fab9a [file] [log] [blame]
The Android Open Source Project1dc9e472009-03-03 19:28:35 -08001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 ****************************************************************************
11 ****************************************************************************/
12#ifndef _ANDROID_PMEM_H_
13#define _ANDROID_PMEM_H_
14
Steve Kondikd9702dc2011-03-21 17:05:27 -040015#include <linux/fs.h>
16
17#define PMEM_KERNEL_TEST_MAGIC 0xc0
18#define PMEM_KERNEL_TEST_NOMINAL_TEST_IOCTL _IO(PMEM_KERNEL_TEST_MAGIC, 1)
19#define PMEM_KERNEL_TEST_ADVERSARIAL_TEST_IOCTL _IO(PMEM_KERNEL_TEST_MAGIC, 2)
20#define PMEM_KERNEL_TEST_HUGE_ALLOCATION_TEST_IOCTL _IO(PMEM_KERNEL_TEST_MAGIC, 3)
21#define PMEM_KERNEL_TEST_FREE_UNALLOCATED_TEST_IOCTL _IO(PMEM_KERNEL_TEST_MAGIC, 4)
22#define PMEM_KERNEL_TEST_LARGE_REGION_NUMBER_TEST_IOCTL _IO(PMEM_KERNEL_TEST_MAGIC, 5)
23
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080024#define PMEM_IOCTL_MAGIC 'p'
Dima Zavinfcb10792009-08-19 18:48:57 -070025#define PMEM_GET_PHYS _IOW(PMEM_IOCTL_MAGIC, 1, unsigned int)
26#define PMEM_MAP _IOW(PMEM_IOCTL_MAGIC, 2, unsigned int)
27#define PMEM_GET_SIZE _IOW(PMEM_IOCTL_MAGIC, 3, unsigned int)
28#define PMEM_UNMAP _IOW(PMEM_IOCTL_MAGIC, 4, unsigned int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080029
30#define PMEM_ALLOCATE _IOW(PMEM_IOCTL_MAGIC, 5, unsigned int)
31
32#define PMEM_CONNECT _IOW(PMEM_IOCTL_MAGIC, 6, unsigned int)
33
Dima Zavinfcb10792009-08-19 18:48:57 -070034#define PMEM_GET_TOTAL_SIZE _IOW(PMEM_IOCTL_MAGIC, 7, unsigned int)
Steve Kondikd9702dc2011-03-21 17:05:27 -040035
Dima Zavinbd9a90c2010-03-02 16:10:21 -080036#define PMEM_CACHE_FLUSH _IOW(PMEM_IOCTL_MAGIC, 8, unsigned int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080037
Steve Kondikd9702dc2011-03-21 17:05:27 -040038#define PMEM_CLEAN_INV_CACHES _IOW(PMEM_IOCTL_MAGIC, 11, unsigned int)
39#define PMEM_CLEAN_CACHES _IOW(PMEM_IOCTL_MAGIC, 12, unsigned int)
40#define PMEM_INV_CACHES _IOW(PMEM_IOCTL_MAGIC, 13, unsigned int)
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080041
Steve Kondikd9702dc2011-03-21 17:05:27 -040042#define PMEM_GET_FREE_SPACE _IOW(PMEM_IOCTL_MAGIC, 14, unsigned int)
43#define PMEM_ALLOCATE_ALIGNED _IOW(PMEM_IOCTL_MAGIC, 15, unsigned int)
Dima Zavinfcb10792009-08-19 18:48:57 -070044struct pmem_region {
45 unsigned long offset;
46 unsigned long len;
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080047};
48
Steve Kondikd9702dc2011-03-21 17:05:27 -040049struct pmem_addr {
50 unsigned long vaddr;
51 unsigned long offset;
52 unsigned long length;
53};
The Android Open Source Project1dc9e472009-03-03 19:28:35 -080054
Steve Kondikd9702dc2011-03-21 17:05:27 -040055struct pmem_freespace {
56 unsigned long total;
57 unsigned long largest;
58};
59
60struct pmem_allocation {
61 unsigned long size;
62 unsigned int align;
63};
64
65#endif