1f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/****************************************************************************
2f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ****************************************************************************
3f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***
4f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   This header was automatically generated from a Linux kernel header
5f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   of the same name, to make information necessary for userspace to
6f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   call into the kernel available to libc.  It contains only constants,
7f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   structures, and macros generated from the original header, and thus,
8f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   contains no copyrightable information.
9f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***
10f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   To edit the content of this header, modify the corresponding
11f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   source file (e.g. under external/kernel-headers/original/) then
12f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   run bionic/libc/kernel/tools/update_all.py
13f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***
14f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   Any manual change here will be lost the next time this script will
15f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***   be run. You've been warned!
16f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ***
17f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ****************************************************************************
18f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin ****************************************************************************/
19f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#ifndef LINUX_MMC_IOCTL_H
20f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#define LINUX_MMC_IOCTL_H
21f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#include <linux/types.h>
22f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjinstruct mmc_ioc_cmd {
23f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin int write_flag;
25f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin int is_acmd;
26f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin __u32 opcode;
27f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin __u32 arg;
28f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin __u32 response[4];
30f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int flags;
31f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int blksz;
32f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int blocks;
33f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int postsleep_min_us;
35f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int postsleep_max_us;
36f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int data_timeout_ns;
37f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin unsigned int cmd_timeout_ms;
38f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin __u32 __pad;
40f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin __u64 data_ptr;
41f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin};
42f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#define mmc_ioc_cmd_set_data(ic, ptr) ic.data_ptr = (__u64)(unsigned long) ptr
43f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
45f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#define MMC_IOC_MAX_RPMB_CMD 3
46f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjinstruct mmc_ioc_rpmb {
47f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin struct mmc_ioc_cmd cmds[MMC_IOC_MAX_RPMB_CMD];
48f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin};
50f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#define MMC_IOC_RPMB_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_rpmb)
51f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#define MMC_IOC_MAX_BYTES (512L * 256)
52f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin#endif
53f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54f480e4ae237223b7bc93acc0e32551db571c8f1bPatrick Tjin
55