blktrace_api.h revision 11cd02dfb91661c65134cac258cf5924270e9d2
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