1/****************************************************************************
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 ****************************************************************************/
19#ifndef __UBLOCK_H_
20#define __UBLOCK_H_
21#include <linux/types.h>
22#define UBLOCK_VERSION 0
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24enum {
25 UBLOCK_INIT_IN = 0,
26 UBLOCK_INIT_OUT = 1,
27 UBLOCK_READY_IN = 2,
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 UBLOCK_READY_OUT = 3,
30 UBLOCK_READ_IN = 4,
31 UBLOCK_READ_OUT = 5,
32 UBLOCK_WRITE_IN = 6,
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34 UBLOCK_WRITE_OUT = 7,
35};
36struct ublock_in_header {
37 __u32 seq;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 __u32 opcode;
40};
41struct ublock_out_header {
42 __u32 seq;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 __u32 opcode;
45};
46struct ublock_init_in {
47 __u32 version;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 __u32 max_buf;
50 __u32 index;
51};
52struct ublock_init_out {
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54 __u32 version;
55 __u32 max_buf;
56 __u64 size;
57};
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59struct ublock_ready_in {
60 __u32 _unused;
61};
62struct ublock_ready_out {
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 __u32 _unused;
65};
66struct ublock_read_in {
67 __u64 offset;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 __u64 length;
70};
71struct ublock_read_out {
72 __s32 status;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 __u8 data[];
75};
76struct ublock_write_in {
77 __u64 offset;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 __u64 length;
80 __u8 data[];
81};
82struct ublock_write_out {
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 __s32 status;
85};
86#endif
87