blob: 234865e7b88bf7719754b0231f44a85a844dbfa6 [file] [log] [blame]
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.benchmarks.msgq@1.0;
interface IBenchmarkMsgQ {
struct shm_t {
uint32_t fdIndex;
uint32_t offset;
uint32_t extent;
};
struct WireGrantorDescriptor {
uint32_t flags;
shm_t shm;
};
struct WireMQDescriptor {
vec<WireGrantorDescriptor> grantors;
handle mq_handle;
uint32_t quantum;
uint32_t nQuanta;
uint32_t flags;
};
ConfigureClientInbox() generates ( WireMQDescriptor mq_desc_in );
ConfigureClientOutbox() generates ( WireMQDescriptor mq_desc_out );
RequestWrite (int32_t count) generates (int32_t ret);
RequestRead(int32_t count) generates (int32_t ret);
BenchmarkPingPong(uint32_t numIter);
BenchmarkServiceWriteClientRead(uint32_t numIter);
SendTimeData(vec<int64_t> time_data);
};