blob: 101eb8c02965dd5076d07a4b5d59e6363a5bf0fd [file] [log] [blame]
Nick Kralevicha67e4de2013-01-14 11:28:26 -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 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
Ben Cheng655a7c02013-10-16 16:09:24 -070019#ifndef LINUX_MMC_IOCTL_H
20#define LINUX_MMC_IOCTL_H
21#include <linux/types.h>
22struct mmc_ioc_cmd {
Tao Baod7db5942015-01-28 10:07:51 -080023 int write_flag;
24 int is_acmd;
25 __u32 opcode;
26 __u32 arg;
Tao Baod7db5942015-01-28 10:07:51 -080027 __u32 response[4];
28 unsigned int flags;
29 unsigned int blksz;
30 unsigned int blocks;
Tao Baod7db5942015-01-28 10:07:51 -080031 unsigned int postsleep_min_us;
32 unsigned int postsleep_max_us;
33 unsigned int data_timeout_ns;
34 unsigned int cmd_timeout_ms;
Tao Baod7db5942015-01-28 10:07:51 -080035 __u32 __pad;
36 __u64 data_ptr;
Ben Cheng655a7c02013-10-16 16:09:24 -070037};
Tao Baod7db5942015-01-28 10:07:51 -080038#define mmc_ioc_cmd_set_data(ic,ptr) ic.data_ptr = (__u64) (unsigned long) ptr
Christopher Ferris05d08e92016-02-04 13:16:38 -080039struct mmc_ioc_multi_cmd {
40 __u64 num_of_cmds;
41 struct mmc_ioc_cmd cmds[0];
42};
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
Christopher Ferris05d08e92016-02-04 13:16:38 -080044#define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJOR, 1, struct mmc_ioc_multi_cmd)
Christopher Ferris48af7cb2017-02-21 12:35:09 -080045#define MMC_IOC_MAX_BYTES (512L * 1024)
Christopher Ferris05d08e92016-02-04 13:16:38 -080046#define MMC_IOC_MAX_CMDS 255
Nick Kralevicha67e4de2013-01-14 11:28:26 -080047#endif