111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   To edit the content of this header, modify the corresponding
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   source file (e.g. under external/kernel-headers/original/) then
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   run bionic/libc/kernel/tools/update_all.py
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   Any manual change here will be lost the next time this script will
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   be run. You've been warned!
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _UAPIBLKTRACE_H
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _UAPIBLKTRACE_H
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/types.h>
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum blktrace_cat {
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_READ = 1 << 0,
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_WRITE = 1 << 1,
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_FLUSH = 1 << 2,
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_SYNC = 1 << 3,
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_SYNCIO = BLK_TC_SYNC,
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_QUEUE = 1 << 4,
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_REQUEUE = 1 << 5,
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_ISSUE = 1 << 6,
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_COMPLETE = 1 << 7,
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_FS = 1 << 8,
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_PC = 1 << 9,
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_NOTIFY = 1 << 10,
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_AHEAD = 1 << 11,
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_META = 1 << 12,
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_DISCARD = 1 << 13,
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_DRV_DATA = 1 << 14,
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_FUA = 1 << 15,
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert BLK_TC_END = 1 << 15,
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TC_SHIFT (16)
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TC_ACT(act) ((act) << BLK_TC_SHIFT)
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum blktrace_act {
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_QUEUE = 1,
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_BACKMERGE,
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_FRONTMERGE,
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_GETRQ,
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_SLEEPRQ,
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_REQUEUE,
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_ISSUE,
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_COMPLETE,
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_PLUG,
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_UNPLUG_IO,
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_UNPLUG_TIMER,
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_INSERT,
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_SPLIT,
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_BOUNCE,
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_REMAP,
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_ABORT,
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TA_DRV_DATA,
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum blktrace_notify {
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TN_PROCESS = 0,
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TN_TIMESTAMP,
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __BLK_TN_MESSAGE,
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_QUEUE (__BLK_TA_QUEUE | BLK_TC_ACT(BLK_TC_QUEUE))
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_BACKMERGE (__BLK_TA_BACKMERGE | BLK_TC_ACT(BLK_TC_QUEUE))
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_FRONTMERGE (__BLK_TA_FRONTMERGE | BLK_TC_ACT(BLK_TC_QUEUE))
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_GETRQ (__BLK_TA_GETRQ | BLK_TC_ACT(BLK_TC_QUEUE))
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_SLEEPRQ (__BLK_TA_SLEEPRQ | BLK_TC_ACT(BLK_TC_QUEUE))
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_REQUEUE (__BLK_TA_REQUEUE | BLK_TC_ACT(BLK_TC_REQUEUE))
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_ISSUE (__BLK_TA_ISSUE | BLK_TC_ACT(BLK_TC_ISSUE))
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_COMPLETE (__BLK_TA_COMPLETE| BLK_TC_ACT(BLK_TC_COMPLETE))
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_PLUG (__BLK_TA_PLUG | BLK_TC_ACT(BLK_TC_QUEUE))
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_UNPLUG_IO (__BLK_TA_UNPLUG_IO | BLK_TC_ACT(BLK_TC_QUEUE))
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_UNPLUG_TIMER (__BLK_TA_UNPLUG_TIMER | BLK_TC_ACT(BLK_TC_QUEUE))
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_INSERT (__BLK_TA_INSERT | BLK_TC_ACT(BLK_TC_QUEUE))
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_SPLIT (__BLK_TA_SPLIT)
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_BOUNCE (__BLK_TA_BOUNCE)
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_REMAP (__BLK_TA_REMAP | BLK_TC_ACT(BLK_TC_QUEUE))
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_ABORT (__BLK_TA_ABORT | BLK_TC_ACT(BLK_TC_QUEUE))
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TA_DRV_DATA (__BLK_TA_DRV_DATA | BLK_TC_ACT(BLK_TC_DRV_DATA))
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TN_PROCESS (__BLK_TN_PROCESS | BLK_TC_ACT(BLK_TC_NOTIFY))
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TN_TIMESTAMP (__BLK_TN_TIMESTAMP | BLK_TC_ACT(BLK_TC_NOTIFY))
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_TN_MESSAGE (__BLK_TN_MESSAGE | BLK_TC_ACT(BLK_TC_NOTIFY))
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_IO_TRACE_MAGIC 0x65617400
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLK_IO_TRACE_VERSION 0x07
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct blk_io_trace {
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 magic;
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 sequence;
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u64 time;
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u64 sector;
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 bytes;
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 action;
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 pid;
11711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 device;
11811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
11911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 cpu;
12011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 error;
12111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 pdu_len;
12211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
12311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct blk_io_trace_remap {
12511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be32 device_from;
12611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be32 device_to;
12711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __be64 sector_from;
12811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
12911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
13011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertenum {
13111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Blktrace_setup = 1,
13211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Blktrace_running,
13311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert Blktrace_stopped,
13511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
13611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define BLKTRACE_BDEV_SIZE 32
13711cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct blk_user_trace_setup {
13811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
13911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert char name[BLKTRACE_BDEV_SIZE];
14011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u16 act_mask;
14111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 buf_size;
14211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 buf_nr;
14311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u64 start_lba;
14511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u64 end_lba;
14611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 pid;
14711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
14811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
14911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
150