1*6fa2df46SAndroid Build Coastguard Workersyntax = "proto2"; 2*6fa2df46SAndroid Build Coastguard Worker 3*6fa2df46SAndroid Build Coastguard Workerpackage dittosuiteproto; 4*6fa2df46SAndroid Build Coastguard Worker 5*6fa2df46SAndroid Build Coastguard Workerenum Order { 6*6fa2df46SAndroid Build Coastguard Worker SEQUENTIAL = 0; 7*6fa2df46SAndroid Build Coastguard Worker RANDOM = 1; 8*6fa2df46SAndroid Build Coastguard Worker} 9*6fa2df46SAndroid Build Coastguard Worker 10*6fa2df46SAndroid Build Coastguard Workerenum Reseeding { 11*6fa2df46SAndroid Build Coastguard Worker ONCE = 0; 12*6fa2df46SAndroid Build Coastguard Worker EACH_ROUND_OF_CYCLES = 1; 13*6fa2df46SAndroid Build Coastguard Worker EACH_CYCLE = 2; 14*6fa2df46SAndroid Build Coastguard Worker} 15*6fa2df46SAndroid Build Coastguard Worker 16*6fa2df46SAndroid Build Coastguard Workerenum AccessMode { 17*6fa2df46SAndroid Build Coastguard Worker READ_ONLY = 1; 18*6fa2df46SAndroid Build Coastguard Worker WRITE_ONLY = 2; 19*6fa2df46SAndroid Build Coastguard Worker READ_WRITE = 3; 20*6fa2df46SAndroid Build Coastguard Worker} 21*6fa2df46SAndroid Build Coastguard Worker 22*6fa2df46SAndroid Build Coastguard Workerenum FreePolicy { 23*6fa2df46SAndroid Build Coastguard Worker FREE_POLICY_UNSPECIFIED = 0; 24*6fa2df46SAndroid Build Coastguard Worker FREE_POLICY_EVERY_PERIOD = 1; 25*6fa2df46SAndroid Build Coastguard Worker FREE_POLICY_LAST_PERIOD = 2; 26*6fa2df46SAndroid Build Coastguard Worker FREE_POLICY_KEEP = 3; 27*6fa2df46SAndroid Build Coastguard Worker} 28*6fa2df46SAndroid Build Coastguard Worker 29*6fa2df46SAndroid Build Coastguard Workermessage MemoryAllocate { 30*6fa2df46SAndroid Build Coastguard Worker optional uint64 size = 1; 31*6fa2df46SAndroid Build Coastguard Worker optional FreePolicy free_policy = 2 [default = FREE_POLICY_KEEP]; 32*6fa2df46SAndroid Build Coastguard Worker} 33*6fa2df46SAndroid Build Coastguard Worker 34*6fa2df46SAndroid Build Coastguard Workermessage CpuWork { 35*6fa2df46SAndroid Build Coastguard Worker oneof type { 36*6fa2df46SAndroid Build Coastguard Worker uint64 cycles = 1; 37*6fa2df46SAndroid Build Coastguard Worker double utilization = 2; 38*6fa2df46SAndroid Build Coastguard Worker uint64 duration_us = 3; 39*6fa2df46SAndroid Build Coastguard Worker } 40*6fa2df46SAndroid Build Coastguard Worker} 41*6fa2df46SAndroid Build Coastguard Worker 42*6fa2df46SAndroid Build Coastguard Workermessage BinderService { 43*6fa2df46SAndroid Build Coastguard Worker optional string name = 1; 44*6fa2df46SAndroid Build Coastguard Worker optional uint32 threads = 2; 45*6fa2df46SAndroid Build Coastguard Worker} 46*6fa2df46SAndroid Build Coastguard Worker 47*6fa2df46SAndroid Build Coastguard Workermessage BinderRequest { 48*6fa2df46SAndroid Build Coastguard Worker enum RunningService { 49*6fa2df46SAndroid Build Coastguard Worker MOUNT_SERVICE = 0; 50*6fa2df46SAndroid Build Coastguard Worker }; 51*6fa2df46SAndroid Build Coastguard Worker message GenericService { 52*6fa2df46SAndroid Build Coastguard Worker message ParcelInput { 53*6fa2df46SAndroid Build Coastguard Worker message NestedParcel { 54*6fa2df46SAndroid Build Coastguard Worker repeated ParcelInput parcel_inputs = 1; 55*6fa2df46SAndroid Build Coastguard Worker } 56*6fa2df46SAndroid Build Coastguard Worker enum Type { 57*6fa2df46SAndroid Build Coastguard Worker // Write the 32-bit integer into the send parcel. 58*6fa2df46SAndroid Build Coastguard Worker I32 = 0; 59*6fa2df46SAndroid Build Coastguard Worker // Write the 64-bit integer into the send parcel. 60*6fa2df46SAndroid Build Coastguard Worker I64 = 1; 61*6fa2df46SAndroid Build Coastguard Worker // Write the UTF-16 string STR into the send parcel. 62*6fa2df46SAndroid Build Coastguard Worker STRING_16 = 2; 63*6fa2df46SAndroid Build Coastguard Worker // Write the 32-bit single-precision number into the send parcel. 64*6fa2df46SAndroid Build Coastguard Worker F = 3; 65*6fa2df46SAndroid Build Coastguard Worker // Write the 64-bit double-precision number into the send parcel. 66*6fa2df46SAndroid Build Coastguard Worker D = 4; 67*6fa2df46SAndroid Build Coastguard Worker // Write a null binder into the send parcel. 68*6fa2df46SAndroid Build Coastguard Worker NULL = 5; 69*6fa2df46SAndroid Build Coastguard Worker // Data: File name 70*6fa2df46SAndroid Build Coastguard Worker // Write a file descriptor for the file with given path into the send 71*6fa2df46SAndroid Build Coastguard Worker // parcel. 72*6fa2df46SAndroid Build Coastguard Worker FD_PATH = 6; 73*6fa2df46SAndroid Build Coastguard Worker // Data: File name 74*6fa2df46SAndroid Build Coastguard Worker // Write an ashmem file descriptor for a region containing the data 75*6fa2df46SAndroid Build Coastguard Worker // from file the given path into the send parcel. 76*6fa2df46SAndroid Build Coastguard Worker ASHMEM_FD_PATH = 7; 77*6fa2df46SAndroid Build Coastguard Worker // Data: FD number 78*6fa2df46SAndroid Build Coastguard Worker // Write the file descriptor into the send parcel. 79*6fa2df46SAndroid Build Coastguard Worker FD = 8; 80*6fa2df46SAndroid Build Coastguard Worker // Parcel input that is nested inside. 81*6fa2df46SAndroid Build Coastguard Worker PARCEL = 9; 82*6fa2df46SAndroid Build Coastguard Worker } 83*6fa2df46SAndroid Build Coastguard Worker optional Type type = 1; 84*6fa2df46SAndroid Build Coastguard Worker oneof data_oneof { 85*6fa2df46SAndroid Build Coastguard Worker string data = 2; 86*6fa2df46SAndroid Build Coastguard Worker NestedParcel nested_parcel = 3; 87*6fa2df46SAndroid Build Coastguard Worker } 88*6fa2df46SAndroid Build Coastguard Worker } 89*6fa2df46SAndroid Build Coastguard Worker optional string name = 1; 90*6fa2df46SAndroid Build Coastguard Worker optional int32 code = 2; 91*6fa2df46SAndroid Build Coastguard Worker repeated ParcelInput parcel_input = 3; 92*6fa2df46SAndroid Build Coastguard Worker } 93*6fa2df46SAndroid Build Coastguard Worker oneof service_oneof { 94*6fa2df46SAndroid Build Coastguard Worker string service_name = 1; 95*6fa2df46SAndroid Build Coastguard Worker RunningService running_service = 2; 96*6fa2df46SAndroid Build Coastguard Worker GenericService generic_service = 3; 97*6fa2df46SAndroid Build Coastguard Worker } 98*6fa2df46SAndroid Build Coastguard Worker} 99*6fa2df46SAndroid Build Coastguard Worker 100*6fa2df46SAndroid Build Coastguard Workermessage OpenFile { 101*6fa2df46SAndroid Build Coastguard Worker oneof file { 102*6fa2df46SAndroid Build Coastguard Worker string path_name = 1; 103*6fa2df46SAndroid Build Coastguard Worker string input = 2; 104*6fa2df46SAndroid Build Coastguard Worker } 105*6fa2df46SAndroid Build Coastguard Worker optional string output_fd = 3; 106*6fa2df46SAndroid Build Coastguard Worker optional bool create = 4 [default = true]; 107*6fa2df46SAndroid Build Coastguard Worker optional bool direct_io = 5 [default = false]; 108*6fa2df46SAndroid Build Coastguard Worker optional AccessMode access_mode = 6 [default = READ_WRITE]; 109*6fa2df46SAndroid Build Coastguard Worker} 110*6fa2df46SAndroid Build Coastguard Worker 111*6fa2df46SAndroid Build Coastguard Workermessage DeleteFile { 112*6fa2df46SAndroid Build Coastguard Worker oneof file { 113*6fa2df46SAndroid Build Coastguard Worker string path_name = 1; 114*6fa2df46SAndroid Build Coastguard Worker string input = 2; 115*6fa2df46SAndroid Build Coastguard Worker } 116*6fa2df46SAndroid Build Coastguard Worker} 117*6fa2df46SAndroid Build Coastguard Worker 118*6fa2df46SAndroid Build Coastguard Workermessage CloseFile { 119*6fa2df46SAndroid Build Coastguard Worker required string input_fd = 1; 120*6fa2df46SAndroid Build Coastguard Worker} 121*6fa2df46SAndroid Build Coastguard Worker 122*6fa2df46SAndroid Build Coastguard Workermessage ResizeFile { 123*6fa2df46SAndroid Build Coastguard Worker required string input_fd = 1; 124*6fa2df46SAndroid Build Coastguard Worker required int64 size = 2; 125*6fa2df46SAndroid Build Coastguard Worker} 126*6fa2df46SAndroid Build Coastguard Worker 127*6fa2df46SAndroid Build Coastguard Workermessage ResizeFileRandom { 128*6fa2df46SAndroid Build Coastguard Worker required string input_fd = 1; 129*6fa2df46SAndroid Build Coastguard Worker required int64 min = 2; 130*6fa2df46SAndroid Build Coastguard Worker required int64 max = 3; 131*6fa2df46SAndroid Build Coastguard Worker optional uint32 seed = 4; 132*6fa2df46SAndroid Build Coastguard Worker optional Reseeding reseeding = 5 [default = ONCE]; 133*6fa2df46SAndroid Build Coastguard Worker} 134*6fa2df46SAndroid Build Coastguard Worker 135*6fa2df46SAndroid Build Coastguard Workermessage WriteFile { 136*6fa2df46SAndroid Build Coastguard Worker required string input_fd = 1; 137*6fa2df46SAndroid Build Coastguard Worker optional int64 size = 2 [default = -1]; 138*6fa2df46SAndroid Build Coastguard Worker optional int64 block_size = 3 [default = 4096]; 139*6fa2df46SAndroid Build Coastguard Worker optional int64 starting_offset = 4 [default = 0]; 140*6fa2df46SAndroid Build Coastguard Worker optional Order access_order = 5 [default = SEQUENTIAL]; 141*6fa2df46SAndroid Build Coastguard Worker optional uint32 seed = 6; 142*6fa2df46SAndroid Build Coastguard Worker optional bool fsync = 7 [default = false]; 143*6fa2df46SAndroid Build Coastguard Worker optional Reseeding reseeding = 8 [default = ONCE]; 144*6fa2df46SAndroid Build Coastguard Worker} 145*6fa2df46SAndroid Build Coastguard Worker 146*6fa2df46SAndroid Build Coastguard Workermessage ReadFile { 147*6fa2df46SAndroid Build Coastguard Worker enum ReadFAdvise { 148*6fa2df46SAndroid Build Coastguard Worker AUTOMATIC = 0; 149*6fa2df46SAndroid Build Coastguard Worker NORMAL = 1; 150*6fa2df46SAndroid Build Coastguard Worker SEQUENTIAL = 2; 151*6fa2df46SAndroid Build Coastguard Worker RANDOM = 3; 152*6fa2df46SAndroid Build Coastguard Worker } 153*6fa2df46SAndroid Build Coastguard Worker required string input_fd = 1; 154*6fa2df46SAndroid Build Coastguard Worker optional int64 size = 2 [default = -1]; 155*6fa2df46SAndroid Build Coastguard Worker optional int64 block_size = 3 [default = 4096]; 156*6fa2df46SAndroid Build Coastguard Worker optional int64 starting_offset = 4 [default = 0]; 157*6fa2df46SAndroid Build Coastguard Worker optional Order access_order = 5 [default = SEQUENTIAL]; 158*6fa2df46SAndroid Build Coastguard Worker optional uint32 seed = 6; 159*6fa2df46SAndroid Build Coastguard Worker optional ReadFAdvise fadvise = 7 [default = AUTOMATIC]; 160*6fa2df46SAndroid Build Coastguard Worker optional Reseeding reseeding = 8 [default = ONCE]; 161*6fa2df46SAndroid Build Coastguard Worker} 162*6fa2df46SAndroid Build Coastguard Worker 163*6fa2df46SAndroid Build Coastguard Workermessage ReadDirectory { 164*6fa2df46SAndroid Build Coastguard Worker required string directory_name = 1; 165*6fa2df46SAndroid Build Coastguard Worker required string output = 2; 166*6fa2df46SAndroid Build Coastguard Worker} 167*6fa2df46SAndroid Build Coastguard Worker 168*6fa2df46SAndroid Build Coastguard Workermessage Mutex { 169*6fa2df46SAndroid Build Coastguard Worker optional string name = 1; 170*6fa2df46SAndroid Build Coastguard Worker} 171*6fa2df46SAndroid Build Coastguard Worker 172*6fa2df46SAndroid Build Coastguard Workermessage Lock { 173*6fa2df46SAndroid Build Coastguard Worker optional Mutex mutex = 1; 174*6fa2df46SAndroid Build Coastguard Worker} 175*6fa2df46SAndroid Build Coastguard Worker 176*6fa2df46SAndroid Build Coastguard Workermessage Unlock { 177*6fa2df46SAndroid Build Coastguard Worker optional Mutex mutex = 1; 178*6fa2df46SAndroid Build Coastguard Worker} 179*6fa2df46SAndroid Build Coastguard Worker 180*6fa2df46SAndroid Build Coastguard Workermessage Thread { 181*6fa2df46SAndroid Build Coastguard Worker required Instruction instruction = 1; 182*6fa2df46SAndroid Build Coastguard Worker optional int32 spawn = 2 [default = 1]; 183*6fa2df46SAndroid Build Coastguard Worker optional string name = 3; 184*6fa2df46SAndroid Build Coastguard Worker optional SchedAttr sched_attr = 4; 185*6fa2df46SAndroid Build Coastguard Worker optional int64 sched_affinity = 5 [default = -1]; 186*6fa2df46SAndroid Build Coastguard Worker} 187*6fa2df46SAndroid Build Coastguard Worker 188*6fa2df46SAndroid Build Coastguard Workermessage SchedAttr { 189*6fa2df46SAndroid Build Coastguard Worker message SchedOther { 190*6fa2df46SAndroid Build Coastguard Worker enum SchedPolicy { 191*6fa2df46SAndroid Build Coastguard Worker OTHER = 1; 192*6fa2df46SAndroid Build Coastguard Worker BATCH = 2; 193*6fa2df46SAndroid Build Coastguard Worker } 194*6fa2df46SAndroid Build Coastguard Worker required SchedPolicy policy = 1; 195*6fa2df46SAndroid Build Coastguard Worker optional int32 nice = 2 [default = 10]; 196*6fa2df46SAndroid Build Coastguard Worker } 197*6fa2df46SAndroid Build Coastguard Worker message SchedRt { 198*6fa2df46SAndroid Build Coastguard Worker enum SchedPolicy { 199*6fa2df46SAndroid Build Coastguard Worker FIFO = 1; 200*6fa2df46SAndroid Build Coastguard Worker RR = 2; 201*6fa2df46SAndroid Build Coastguard Worker } 202*6fa2df46SAndroid Build Coastguard Worker required SchedPolicy policy = 1; 203*6fa2df46SAndroid Build Coastguard Worker required uint32 priority = 2; 204*6fa2df46SAndroid Build Coastguard Worker } 205*6fa2df46SAndroid Build Coastguard Worker message SchedDeadline { 206*6fa2df46SAndroid Build Coastguard Worker enum SchedPolicy { 207*6fa2df46SAndroid Build Coastguard Worker DEADLINE = 1; 208*6fa2df46SAndroid Build Coastguard Worker } 209*6fa2df46SAndroid Build Coastguard Worker required SchedPolicy policy = 1; 210*6fa2df46SAndroid Build Coastguard Worker required uint64 runtime = 2; 211*6fa2df46SAndroid Build Coastguard Worker required uint64 deadline = 3; 212*6fa2df46SAndroid Build Coastguard Worker required uint64 period = 4; 213*6fa2df46SAndroid Build Coastguard Worker } 214*6fa2df46SAndroid Build Coastguard Worker 215*6fa2df46SAndroid Build Coastguard Worker optional uint64 flags = 1 [default = 0]; 216*6fa2df46SAndroid Build Coastguard Worker oneof attributes { 217*6fa2df46SAndroid Build Coastguard Worker SchedOther other = 2; 218*6fa2df46SAndroid Build Coastguard Worker SchedRt rt = 3; 219*6fa2df46SAndroid Build Coastguard Worker SchedDeadline deadline = 4; 220*6fa2df46SAndroid Build Coastguard Worker } 221*6fa2df46SAndroid Build Coastguard Worker} 222*6fa2df46SAndroid Build Coastguard Worker 223*6fa2df46SAndroid Build Coastguard Workermessage Multithreading { 224*6fa2df46SAndroid Build Coastguard Worker repeated Thread threads = 1; 225*6fa2df46SAndroid Build Coastguard Worker optional bool fork = 2 [default = false]; 226*6fa2df46SAndroid Build Coastguard Worker} 227*6fa2df46SAndroid Build Coastguard Worker 228*6fa2df46SAndroid Build Coastguard Workermessage InvalidateCache {} 229*6fa2df46SAndroid Build Coastguard Worker 230*6fa2df46SAndroid Build Coastguard Workermessage Instruction { 231*6fa2df46SAndroid Build Coastguard Worker optional int32 repeat = 1 [default = 1]; 232*6fa2df46SAndroid Build Coastguard Worker oneof instruction_oneof { 233*6fa2df46SAndroid Build Coastguard Worker InstructionSet instruction_set = 2; 234*6fa2df46SAndroid Build Coastguard Worker OpenFile open_file = 3; 235*6fa2df46SAndroid Build Coastguard Worker DeleteFile delete_file = 4; 236*6fa2df46SAndroid Build Coastguard Worker CloseFile close_file = 5; 237*6fa2df46SAndroid Build Coastguard Worker ResizeFile resize_file = 6; 238*6fa2df46SAndroid Build Coastguard Worker WriteFile write_file = 7; 239*6fa2df46SAndroid Build Coastguard Worker ReadFile read_file = 8; 240*6fa2df46SAndroid Build Coastguard Worker ReadDirectory read_directory = 9; 241*6fa2df46SAndroid Build Coastguard Worker ResizeFileRandom resize_file_random = 10; 242*6fa2df46SAndroid Build Coastguard Worker Multithreading multithreading = 11; 243*6fa2df46SAndroid Build Coastguard Worker InvalidateCache invalidate_cache = 12; 244*6fa2df46SAndroid Build Coastguard Worker BinderRequest binder_request = 13; 245*6fa2df46SAndroid Build Coastguard Worker BinderService binder_service = 14; 246*6fa2df46SAndroid Build Coastguard Worker CpuWork cpu_work = 16; 247*6fa2df46SAndroid Build Coastguard Worker MemoryAllocate mem_alloc = 17; 248*6fa2df46SAndroid Build Coastguard Worker Lock lock = 19; 249*6fa2df46SAndroid Build Coastguard Worker Unlock unlock = 20; 250*6fa2df46SAndroid Build Coastguard Worker }; 251*6fa2df46SAndroid Build Coastguard Worker optional uint64 period_us = 15 [default = 0]; 252*6fa2df46SAndroid Build Coastguard Worker optional uint64 offset_us = 18 [default = 0]; 253*6fa2df46SAndroid Build Coastguard Worker} 254*6fa2df46SAndroid Build Coastguard Worker 255*6fa2df46SAndroid Build Coastguard Workermessage InstructionSet { 256*6fa2df46SAndroid Build Coastguard Worker repeated Instruction instructions = 1; 257*6fa2df46SAndroid Build Coastguard Worker optional InstructionSetIterate iterate_options = 2; 258*6fa2df46SAndroid Build Coastguard Worker} 259*6fa2df46SAndroid Build Coastguard Worker 260*6fa2df46SAndroid Build Coastguard Workermessage InstructionSetIterate { 261*6fa2df46SAndroid Build Coastguard Worker required string list_name = 1; 262*6fa2df46SAndroid Build Coastguard Worker required string item_name = 2; 263*6fa2df46SAndroid Build Coastguard Worker optional Order access_order = 3 [default = SEQUENTIAL]; 264*6fa2df46SAndroid Build Coastguard Worker optional Reseeding reseeding = 4 [default = ONCE]; 265*6fa2df46SAndroid Build Coastguard Worker optional uint32 seed = 5; 266*6fa2df46SAndroid Build Coastguard Worker} 267*6fa2df46SAndroid Build Coastguard Worker 268*6fa2df46SAndroid Build Coastguard Workermessage Global { 269*6fa2df46SAndroid Build Coastguard Worker optional string absolute_path = 1 [default = ""]; 270*6fa2df46SAndroid Build Coastguard Worker optional Mutex mutex = 2; 271*6fa2df46SAndroid Build Coastguard Worker} 272*6fa2df46SAndroid Build Coastguard Worker 273*6fa2df46SAndroid Build Coastguard Workermessage Benchmark { 274*6fa2df46SAndroid Build Coastguard Worker optional Instruction init = 1; 275*6fa2df46SAndroid Build Coastguard Worker required Instruction main = 2; 276*6fa2df46SAndroid Build Coastguard Worker optional Instruction clean_up = 3; 277*6fa2df46SAndroid Build Coastguard Worker required Global global = 4; 278*6fa2df46SAndroid Build Coastguard Worker} 279