blob: afea6a5b038060c4fa9bbbbcde95b1c90faed540 [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>
Christopher Ferris8177cdf2020-08-03 11:53:55 -070022#include <linux/major.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070023struct mmc_ioc_cmd {
Tao Baod7db5942015-01-28 10:07:51 -080024 int write_flag;
25 int is_acmd;
26 __u32 opcode;
27 __u32 arg;
Tao Baod7db5942015-01-28 10:07:51 -080028 __u32 response[4];
29 unsigned int flags;
30 unsigned int blksz;
31 unsigned int blocks;
Tao Baod7db5942015-01-28 10:07:51 -080032 unsigned int postsleep_min_us;
33 unsigned int postsleep_max_us;
34 unsigned int data_timeout_ns;
35 unsigned int cmd_timeout_ms;
Tao Baod7db5942015-01-28 10:07:51 -080036 __u32 __pad;
37 __u64 data_ptr;
Ben Cheng655a7c02013-10-16 16:09:24 -070038};
Tao Baod7db5942015-01-28 10:07:51 -080039#define mmc_ioc_cmd_set_data(ic,ptr) ic.data_ptr = (__u64) (unsigned long) ptr
Christopher Ferris05d08e92016-02-04 13:16:38 -080040struct mmc_ioc_multi_cmd {
41 __u64 num_of_cmds;
42 struct mmc_ioc_cmd cmds[0];
43};
Ben Cheng655a7c02013-10-16 16:09:24 -070044#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
Christopher Ferris05d08e92016-02-04 13:16:38 -080045#define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJOR, 1, struct mmc_ioc_multi_cmd)
Christopher Ferris48af7cb2017-02-21 12:35:09 -080046#define MMC_IOC_MAX_BYTES (512L * 1024)
Christopher Ferris05d08e92016-02-04 13:16:38 -080047#define MMC_IOC_MAX_CMDS 255
Nick Kralevicha67e4de2013-01-14 11:28:26 -080048#endif