1*84e33947SAndroid Build Coastguard Worker /* 2*84e33947SAndroid Build Coastguard Worker * Copyright (C) 2022 The Android Open Source Project 3*84e33947SAndroid Build Coastguard Worker * 4*84e33947SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*84e33947SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*84e33947SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*84e33947SAndroid Build Coastguard Worker * 8*84e33947SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*84e33947SAndroid Build Coastguard Worker * 10*84e33947SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*84e33947SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*84e33947SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*84e33947SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*84e33947SAndroid Build Coastguard Worker * limitations under the License. 15*84e33947SAndroid Build Coastguard Worker */ 16*84e33947SAndroid Build Coastguard Worker 17*84e33947SAndroid Build Coastguard Worker #ifndef CHRE_SIMULATION_TEST_EVENT_H_ 18*84e33947SAndroid Build Coastguard Worker #define CHRE_SIMULATION_TEST_EVENT_H_ 19*84e33947SAndroid Build Coastguard Worker 20*84e33947SAndroid Build Coastguard Worker #include "chre/event.h" 21*84e33947SAndroid Build Coastguard Worker 22*84e33947SAndroid Build Coastguard Worker /** 23*84e33947SAndroid Build Coastguard Worker * First possible value for CHRE_EVENT_SIMULATION_TEST events. These events are 24*84e33947SAndroid Build Coastguard Worker * reserved for utility events that can be used by any simulation test. 25*84e33947SAndroid Build Coastguard Worker */ 26*84e33947SAndroid Build Coastguard Worker #define CHRE_EVENT_SIMULATION_TEST_FIRST_EVENT CHRE_EVENT_FIRST_USER_VALUE 27*84e33947SAndroid Build Coastguard Worker 28*84e33947SAndroid Build Coastguard Worker /** 29*84e33947SAndroid Build Coastguard Worker * Produce an event ID in the block of IDs reserved for CHRE simulation test 30*84e33947SAndroid Build Coastguard Worker * events. 31*84e33947SAndroid Build Coastguard Worker * 32*84e33947SAndroid Build Coastguard Worker * @param offset Index into simulation test event ID block; valid range is [0, 33*84e33947SAndroid Build Coastguard Worker * 0xFFF]. 34*84e33947SAndroid Build Coastguard Worker * 35*84e33947SAndroid Build Coastguard Worker * @defgroup CHRE_SIMULATION_TEST_EVENT_ID 36*84e33947SAndroid Build Coastguard Worker * @{ 37*84e33947SAndroid Build Coastguard Worker */ 38*84e33947SAndroid Build Coastguard Worker #define CHRE_SIMULATION_TEST_EVENT_ID(offset) \ 39*84e33947SAndroid Build Coastguard Worker (CHRE_EVENT_SIMULATION_TEST_FIRST_EVENT + (offset)) 40*84e33947SAndroid Build Coastguard Worker 41*84e33947SAndroid Build Coastguard Worker /** 42*84e33947SAndroid Build Coastguard Worker * First possible value for CHRE_EVENT_SPECIFIC_SIMULATION_TEST events. Each 43*84e33947SAndroid Build Coastguard Worker * simulation test can define specific events for its use case. 44*84e33947SAndroid Build Coastguard Worker */ 45*84e33947SAndroid Build Coastguard Worker #define CHRE_EVENT_SPECIFIC_SIMULATION_TEST_FIRST_EVENT \ 46*84e33947SAndroid Build Coastguard Worker CHRE_EVENT_FIRST_USER_VALUE + 0x1000 47*84e33947SAndroid Build Coastguard Worker 48*84e33947SAndroid Build Coastguard Worker /** 49*84e33947SAndroid Build Coastguard Worker * Produce an event ID in the block of IDs reserved for events belonging to a 50*84e33947SAndroid Build Coastguard Worker * specific CHRE simulation test. 51*84e33947SAndroid Build Coastguard Worker * 52*84e33947SAndroid Build Coastguard Worker * @param offset Index into the event ID block of a specific simulation test; 53*84e33947SAndroid Build Coastguard Worker * valid range is [0, 0xFFF]. 54*84e33947SAndroid Build Coastguard Worker * 55*84e33947SAndroid Build Coastguard Worker * @defgroup CHRE_SIMULATION_TEST_EVENT_ID 56*84e33947SAndroid Build Coastguard Worker * @{ 57*84e33947SAndroid Build Coastguard Worker */ 58*84e33947SAndroid Build Coastguard Worker #define CHRE_SPECIFIC_SIMULATION_TEST_EVENT_ID(offset) \ 59*84e33947SAndroid Build Coastguard Worker (CHRE_EVENT_SPECIFIC_SIMULATION_TEST_FIRST_EVENT + (offset)) 60*84e33947SAndroid Build Coastguard Worker 61*84e33947SAndroid Build Coastguard Worker /** 62*84e33947SAndroid Build Coastguard Worker * Produce an event ID in the block of IDs reserved for events belonging to a 63*84e33947SAndroid Build Coastguard Worker * specific CHRE simulation test. 64*84e33947SAndroid Build Coastguard Worker * 65*84e33947SAndroid Build Coastguard Worker * @param offset Index into the event ID block of a specific simulation test; 66*84e33947SAndroid Build Coastguard Worker * valid range is [0, 0xFFF]. 67*84e33947SAndroid Build Coastguard Worker * 68*84e33947SAndroid Build Coastguard Worker * @defgroup CHRE_SIMULATION_TEST_EVENT_ID 69*84e33947SAndroid Build Coastguard Worker * @{ 70*84e33947SAndroid Build Coastguard Worker */ 71*84e33947SAndroid Build Coastguard Worker #define CREATE_CHRE_TEST_EVENT(name, offset) \ 72*84e33947SAndroid Build Coastguard Worker constexpr uint16_t name = CHRE_SPECIFIC_SIMULATION_TEST_EVENT_ID(offset) 73*84e33947SAndroid Build Coastguard Worker 74*84e33947SAndroid Build Coastguard Worker #define CHRE_EVENT_TEST_EVENT CHRE_EVENT_FIRST_USER_VALUE + 0x2000 75*84e33947SAndroid Build Coastguard Worker 76*84e33947SAndroid Build Coastguard Worker /** 77*84e33947SAndroid Build Coastguard Worker * Events used to communicate to and from the test nanoapps. 78*84e33947SAndroid Build Coastguard Worker */ 79*84e33947SAndroid Build Coastguard Worker struct TestEvent { 80*84e33947SAndroid Build Coastguard Worker uint16_t type; 81*84e33947SAndroid Build Coastguard Worker void *data = nullptr; 82*84e33947SAndroid Build Coastguard Worker }; 83*84e33947SAndroid Build Coastguard Worker 84*84e33947SAndroid Build Coastguard Worker #endif // CHRE_SIMULATION_TEST_EVENT_H_