13c3173acSopenharmony_ci/*
23c3173acSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd.
33c3173acSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License");
43c3173acSopenharmony_ci * you may not use this file except in compliance with the License.
53c3173acSopenharmony_ci * You may obtain a copy of the License at
63c3173acSopenharmony_ci *
73c3173acSopenharmony_ci *     http://www.apache.org/licenses/LICENSE-2.0
83c3173acSopenharmony_ci *
93c3173acSopenharmony_ci * Unless required by applicable law or agreed to in writing, software
103c3173acSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS,
113c3173acSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
123c3173acSopenharmony_ci * See the License for the specific language governing permissions and
133c3173acSopenharmony_ci * limitations under the License.
143c3173acSopenharmony_ci */
153c3173acSopenharmony_ci#include <cstddef>
163c3173acSopenharmony_ci#include <cstdint>
173c3173acSopenharmony_ci#define private public
183c3173acSopenharmony_ci#include "concurrent_task_client.h"
193c3173acSopenharmony_ci#include "concurrent_task_service_ability.h"
203c3173acSopenharmony_ci#include "concurrent_task_controller.h"
213c3173acSopenharmony_ci#undef private
223c3173acSopenharmony_ci#include "concurrent_task_service_proxy.h"
233c3173acSopenharmony_ci#include "concurrent_task_service.h"
243c3173acSopenharmony_ci#include "concurrent_task_service_stub.h"
253c3173acSopenharmony_ci#include "iservice_registry.h"
263c3173acSopenharmony_ci#include "securec.h"
273c3173acSopenharmony_ci#include "qos.h"
283c3173acSopenharmony_ci#include "qos_interface.h"
293c3173acSopenharmony_ci#include "qos_policy.h"
303c3173acSopenharmony_ci#include "concurrent_task_client.h"
313c3173acSopenharmony_ci#include "system_ability_definition.h"
323c3173acSopenharmony_ci#include "concurrent_fuzzer.h"
333c3173acSopenharmony_ci
343c3173acSopenharmony_ciusing namespace OHOS::ConcurrentTask;
353c3173acSopenharmony_ciusing namespace OHOS::QOS;
363c3173acSopenharmony_ci
373c3173acSopenharmony_cinamespace OHOS {
383c3173acSopenharmony_ciconst uint8_t *g_baseFuzzData = nullptr;
393c3173acSopenharmony_cisize_t g_baseFuzzSize = 0;
403c3173acSopenharmony_cisize_t g_baseFuzzPos;
413c3173acSopenharmony_ci#define  QUADRUPLE  4
423c3173acSopenharmony_ci#define  LEN 4
433c3173acSopenharmony_ci
443c3173acSopenharmony_ciclass ConcurrentTaskServiceStubFuzer : public ConcurrentTaskServiceStub {
453c3173acSopenharmony_cipublic:
463c3173acSopenharmony_ci    ConcurrentTaskServiceStubFuzer() = default;
473c3173acSopenharmony_ci    virtual ~ConcurrentTaskServiceStubFuzer() = default;
483c3173acSopenharmony_ci    void ReportData(uint32_t resType, int64_t value, const Json::Value& payload) override
493c3173acSopenharmony_ci    {}
503c3173acSopenharmony_ci    void QueryInterval(int queryItem, IntervalReply& queryRs) override
513c3173acSopenharmony_ci    {}
523c3173acSopenharmony_ci    void QueryDeadline(int queryItem, DeadlineReply& ddlReply, const Json::Value& payload) override
533c3173acSopenharmony_ci    {}
543c3173acSopenharmony_ci    void RequestAuth(const Json::Value& payload) override
553c3173acSopenharmony_ci    {}
563c3173acSopenharmony_ci};
573c3173acSopenharmony_ci
583c3173acSopenharmony_cinamespace {
593c3173acSopenharmony_ci    constexpr int TEST_DATA_FIRST = 1;
603c3173acSopenharmony_ci    constexpr int TEST_DATA_SECOND = 2;
613c3173acSopenharmony_ci    constexpr int TEST_DATA_THIRD = 3;
623c3173acSopenharmony_ci    constexpr int TEST_DATA_FOURTH = 4;
633c3173acSopenharmony_ci    constexpr int TEST_DATA_FIFTH = 5;
643c3173acSopenharmony_ci    constexpr int TEST_DATA_SIXTH = 6;
653c3173acSopenharmony_ci    constexpr int TEST_DATA_SEVENTH = 7;
663c3173acSopenharmony_ci    constexpr int TEST_DATA_EIGHTH = 8;
673c3173acSopenharmony_ci    constexpr int TEST_DATA_TENTH = 10;
683c3173acSopenharmony_ci}
693c3173acSopenharmony_citemplate <class T> T GetData()
703c3173acSopenharmony_ci{
713c3173acSopenharmony_ci    T object{};
723c3173acSopenharmony_ci    size_t objectSize = sizeof(object);
733c3173acSopenharmony_ci    if (g_baseFuzzData == nullptr || objectSize > g_baseFuzzSize - g_baseFuzzPos) {
743c3173acSopenharmony_ci        return object;
753c3173acSopenharmony_ci    }
763c3173acSopenharmony_ci    ErrCode ret = memcpy_s(&object, objectSize, g_baseFuzzData + g_baseFuzzPos, objectSize);
773c3173acSopenharmony_ci    if (ret != ERR_OK) {
783c3173acSopenharmony_ci        return {};
793c3173acSopenharmony_ci    }
803c3173acSopenharmony_ci    g_baseFuzzPos += objectSize;
813c3173acSopenharmony_ci    return object;
823c3173acSopenharmony_ci}
833c3173acSopenharmony_ci
843c3173acSopenharmony_cibool FuzzConcurrentTaskTryConnect(const uint8_t* data, size_t size)
853c3173acSopenharmony_ci{
863c3173acSopenharmony_ci    if (data == nullptr) {
873c3173acSopenharmony_ci        return false;
883c3173acSopenharmony_ci    }
893c3173acSopenharmony_ci    if (size < sizeof(int32_t)) {
903c3173acSopenharmony_ci        return false;
913c3173acSopenharmony_ci    }
923c3173acSopenharmony_ci    return ConcurrentTaskClient::GetInstance().TryConnect() == ERR_OK;
933c3173acSopenharmony_ci}
943c3173acSopenharmony_ci
953c3173acSopenharmony_cibool FuzzConcurrentTaskServiceReportData(const uint8_t* data, size_t size)
963c3173acSopenharmony_ci{
973c3173acSopenharmony_ci    g_baseFuzzData = data;
983c3173acSopenharmony_ci    g_baseFuzzSize = size;
993c3173acSopenharmony_ci    g_baseFuzzPos = 0;
1003c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
1013c3173acSopenharmony_ci        MessageParcel data1;
1023c3173acSopenharmony_ci        Parcel parcel;
1033c3173acSopenharmony_ci        sptr<IRemoteObject> iremoteobject = IRemoteObject::Unmarshalling(parcel);
1043c3173acSopenharmony_ci        int intdata = GetData<int>();
1053c3173acSopenharmony_ci        void *voiddata = &intdata;
1063c3173acSopenharmony_ci        size_t size1 = sizeof(int);
1073c3173acSopenharmony_ci        data1.WriteRemoteObject(iremoteobject);
1083c3173acSopenharmony_ci        data1.WriteRawData(voiddata, size1);
1093c3173acSopenharmony_ci        data1.ReadRawData(size1);
1103c3173acSopenharmony_ci        MessageParcel reply;
1113c3173acSopenharmony_ci        MessageOption option;
1123c3173acSopenharmony_ci        uint32_t code = static_cast<uint32_t>(ConcurrentTaskInterfaceCode::REPORT_DATA);
1133c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
1143c3173acSopenharmony_ci        s.OnRemoteRequest(code, data1, reply, option);
1153c3173acSopenharmony_ci    }
1163c3173acSopenharmony_ci    return true;
1173c3173acSopenharmony_ci}
1183c3173acSopenharmony_ci
1193c3173acSopenharmony_cibool FuzzConcurrentTaskServiceQueryInterval(const uint8_t* data, size_t size)
1203c3173acSopenharmony_ci{
1213c3173acSopenharmony_ci    g_baseFuzzData = data;
1223c3173acSopenharmony_ci    g_baseFuzzSize = size;
1233c3173acSopenharmony_ci    g_baseFuzzPos = 0;
1243c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
1253c3173acSopenharmony_ci        MessageParcel data1;
1263c3173acSopenharmony_ci        Parcel parcel;
1273c3173acSopenharmony_ci        sptr<IRemoteObject> iremoteobject = IRemoteObject::Unmarshalling(parcel);
1283c3173acSopenharmony_ci        int intdata = GetData<int>();
1293c3173acSopenharmony_ci        void *voiddata = &intdata;
1303c3173acSopenharmony_ci        size_t size1 = sizeof(int);
1313c3173acSopenharmony_ci        data1.WriteRemoteObject(iremoteobject);
1323c3173acSopenharmony_ci        data1.WriteRawData(voiddata, size1);
1333c3173acSopenharmony_ci        data1.ReadRawData(size1);
1343c3173acSopenharmony_ci        MessageParcel reply;
1353c3173acSopenharmony_ci        MessageOption option;
1363c3173acSopenharmony_ci        uint32_t code = static_cast<uint32_t>(ConcurrentTaskInterfaceCode::QUERY_INTERVAL);
1373c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
1383c3173acSopenharmony_ci        s.OnRemoteRequest(code, data1, reply, option);
1393c3173acSopenharmony_ci    }
1403c3173acSopenharmony_ci    return true;
1413c3173acSopenharmony_ci}
1423c3173acSopenharmony_ci
1433c3173acSopenharmony_cibool FuzzConcurrentTaskServiceQueryDeadline(const uint8_t* data, size_t size)
1443c3173acSopenharmony_ci{
1453c3173acSopenharmony_ci    g_baseFuzzData = data;
1463c3173acSopenharmony_ci    g_baseFuzzSize = size;
1473c3173acSopenharmony_ci    g_baseFuzzPos = 0;
1483c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
1493c3173acSopenharmony_ci        MessageParcel data1;
1503c3173acSopenharmony_ci        Parcel parcel;
1513c3173acSopenharmony_ci        sptr<IRemoteObject> iremoteobject = IRemoteObject::Unmarshalling(parcel);
1523c3173acSopenharmony_ci        int intdata = GetData<int>();
1533c3173acSopenharmony_ci        void *voiddata = &intdata;
1543c3173acSopenharmony_ci        size_t size1 = sizeof(int);
1553c3173acSopenharmony_ci        data1.WriteRemoteObject(iremoteobject);
1563c3173acSopenharmony_ci        data1.WriteRawData(voiddata, size1);
1573c3173acSopenharmony_ci        data1.ReadRawData(size1);
1583c3173acSopenharmony_ci        MessageParcel reply;
1593c3173acSopenharmony_ci        MessageOption option;
1603c3173acSopenharmony_ci        uint32_t code = static_cast<uint32_t>(ConcurrentTaskInterfaceCode::QUERY_DEADLINE);
1613c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
1623c3173acSopenharmony_ci        s.OnRemoteRequest(code, data1, reply, option);
1633c3173acSopenharmony_ci    }
1643c3173acSopenharmony_ci    return true;
1653c3173acSopenharmony_ci}
1663c3173acSopenharmony_ci
1673c3173acSopenharmony_cibool FuzzConcurrentTaskServiceRequestAuth(const uint8_t* data, size_t size)
1683c3173acSopenharmony_ci{
1693c3173acSopenharmony_ci    g_baseFuzzData = data;
1703c3173acSopenharmony_ci    g_baseFuzzSize = size;
1713c3173acSopenharmony_ci    g_baseFuzzPos = 0;
1723c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
1733c3173acSopenharmony_ci        MessageParcel data1;
1743c3173acSopenharmony_ci        Parcel parcel;
1753c3173acSopenharmony_ci        sptr<IRemoteObject> iremoteobject = IRemoteObject::Unmarshalling(parcel);
1763c3173acSopenharmony_ci        int intdata = GetData<int>();
1773c3173acSopenharmony_ci        void *voiddata = &intdata;
1783c3173acSopenharmony_ci        size_t size1 = sizeof(int);
1793c3173acSopenharmony_ci        data1.WriteRemoteObject(iremoteobject);
1803c3173acSopenharmony_ci        data1.WriteRawData(voiddata, size1);
1813c3173acSopenharmony_ci        data1.ReadRawData(size1);
1823c3173acSopenharmony_ci        MessageParcel reply;
1833c3173acSopenharmony_ci        MessageOption option;
1843c3173acSopenharmony_ci        uint32_t code = static_cast<uint32_t>(ConcurrentTaskInterfaceCode::REQUEST_AUTH);
1853c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
1863c3173acSopenharmony_ci        s.OnRemoteRequest(code, data1, reply, option);
1873c3173acSopenharmony_ci    }
1883c3173acSopenharmony_ci    return true;
1893c3173acSopenharmony_ci}
1903c3173acSopenharmony_ci
1913c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStopRemoteObject(const uint8_t* data, size_t size)
1923c3173acSopenharmony_ci{
1933c3173acSopenharmony_ci    g_baseFuzzData = data;
1943c3173acSopenharmony_ci    g_baseFuzzSize = size;
1953c3173acSopenharmony_ci    g_baseFuzzPos = 0;
1963c3173acSopenharmony_ci    ConcurrentTaskClient::GetInstance().StopRemoteObject();
1973c3173acSopenharmony_ci    return true;
1983c3173acSopenharmony_ci}
1993c3173acSopenharmony_ci
2003c3173acSopenharmony_cibool FuzzConcurrentTaskServiceSetThreadQos(const uint8_t* data, size_t size)
2013c3173acSopenharmony_ci{
2023c3173acSopenharmony_ci    g_baseFuzzData = data;
2033c3173acSopenharmony_ci    g_baseFuzzSize = size;
2043c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2053c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
2063c3173acSopenharmony_ci        int level = GetData<int>();
2073c3173acSopenharmony_ci        level = level % TEST_DATA_TENTH;
2083c3173acSopenharmony_ci        if (level == TEST_DATA_FIFTH || level == TEST_DATA_SECOND) {
2093c3173acSopenharmony_ci            QOS::SetThreadQos(QOS::QosLevel::QOS_BACKGROUND);
2103c3173acSopenharmony_ci        } else if (level == TEST_DATA_THIRD || level == TEST_DATA_FOURTH) {
2113c3173acSopenharmony_ci            QOS::SetThreadQos(QOS::QosLevel::QOS_UTILITY);
2123c3173acSopenharmony_ci        } else if (level == TEST_DATA_FIFTH || level == TEST_DATA_SIXTH) {
2133c3173acSopenharmony_ci            QOS::SetThreadQos(QOS::QosLevel::QOS_DEFAULT);
2143c3173acSopenharmony_ci        } else if (level == TEST_DATA_SEVENTH || level == TEST_DATA_EIGHTH) {
2153c3173acSopenharmony_ci            QOS::SetThreadQos(QOS::QosLevel::QOS_USER_INITIATED);
2163c3173acSopenharmony_ci        }
2173c3173acSopenharmony_ci    }
2183c3173acSopenharmony_ci    return true;
2193c3173acSopenharmony_ci}
2203c3173acSopenharmony_ci
2213c3173acSopenharmony_cibool FuzzConcurrentTaskServiceSetQosForOtherThread(const uint8_t* data, size_t size)
2223c3173acSopenharmony_ci{
2233c3173acSopenharmony_ci    g_baseFuzzData = data;
2243c3173acSopenharmony_ci    g_baseFuzzSize = size;
2253c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2263c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
2273c3173acSopenharmony_ci        int level = GetData<int>();
2283c3173acSopenharmony_ci        int tid = GetData<int>();
2293c3173acSopenharmony_ci        level = level % TEST_DATA_TENTH;
2303c3173acSopenharmony_ci        if (level == TEST_DATA_FIRST || level == TEST_DATA_SECOND) {
2313c3173acSopenharmony_ci            QOS::SetQosForOtherThread(QOS::QosLevel::QOS_BACKGROUND, tid);
2323c3173acSopenharmony_ci        } else if (level == TEST_DATA_THIRD || level == TEST_DATA_FOURTH) {
2333c3173acSopenharmony_ci            QOS::SetQosForOtherThread(QOS::QosLevel::QOS_UTILITY, tid);
2343c3173acSopenharmony_ci        } else if (level == TEST_DATA_FIFTH || level == TEST_DATA_SIXTH) {
2353c3173acSopenharmony_ci            QOS::SetQosForOtherThread(QOS::QosLevel::QOS_DEFAULT, tid);
2363c3173acSopenharmony_ci        } else if (level == TEST_DATA_SEVENTH || level == TEST_DATA_EIGHTH) {
2373c3173acSopenharmony_ci            QOS::SetQosForOtherThread(QOS::QosLevel::QOS_USER_INITIATED, tid);
2383c3173acSopenharmony_ci        }
2393c3173acSopenharmony_ci    }
2403c3173acSopenharmony_ci    return true;
2413c3173acSopenharmony_ci}
2423c3173acSopenharmony_ci
2433c3173acSopenharmony_cibool FuzzConcurrentTaskServiceResetThreadQos(const uint8_t* data, size_t size)
2443c3173acSopenharmony_ci{
2453c3173acSopenharmony_ci    g_baseFuzzData = data;
2463c3173acSopenharmony_ci    g_baseFuzzSize = size;
2473c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2483c3173acSopenharmony_ci    QOS::ResetThreadQos();
2493c3173acSopenharmony_ci    return true;
2503c3173acSopenharmony_ci}
2513c3173acSopenharmony_ci
2523c3173acSopenharmony_cibool FuzzConcurrentTaskServiceResetQosForOtherThread(const uint8_t* data, size_t size)
2533c3173acSopenharmony_ci{
2543c3173acSopenharmony_ci    g_baseFuzzData = data;
2553c3173acSopenharmony_ci    g_baseFuzzSize = size;
2563c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2573c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
2583c3173acSopenharmony_ci        int tid = GetData<int>();
2593c3173acSopenharmony_ci        QOS::ResetQosForOtherThread(tid);
2603c3173acSopenharmony_ci    }
2613c3173acSopenharmony_ci    return true;
2623c3173acSopenharmony_ci}
2633c3173acSopenharmony_ci
2643c3173acSopenharmony_civoid FuzzQosPolicyInit(const uint8_t* data, size_t size)
2653c3173acSopenharmony_ci{
2663c3173acSopenharmony_ci    g_baseFuzzData = data;
2673c3173acSopenharmony_ci    g_baseFuzzSize = size;
2683c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2693c3173acSopenharmony_ci    QosPolicy qosPolicy;
2703c3173acSopenharmony_ci    qosPolicy.Init();
2713c3173acSopenharmony_ci    return;
2723c3173acSopenharmony_ci}
2733c3173acSopenharmony_ci
2743c3173acSopenharmony_cibool FuzzQosInterfaceEnableRtg(const uint8_t* data, size_t size)
2753c3173acSopenharmony_ci{
2763c3173acSopenharmony_ci    g_baseFuzzData = data;
2773c3173acSopenharmony_ci    g_baseFuzzSize = size;
2783c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2793c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
2803c3173acSopenharmony_ci        bool flag = GetData<bool>();
2813c3173acSopenharmony_ci        EnableRtg(flag);
2823c3173acSopenharmony_ci    }
2833c3173acSopenharmony_ci    return true;
2843c3173acSopenharmony_ci}
2853c3173acSopenharmony_ci
2863c3173acSopenharmony_cibool FuzzQosInterfaceAuthEnable(const uint8_t* data, size_t size)
2873c3173acSopenharmony_ci{
2883c3173acSopenharmony_ci    g_baseFuzzData = data;
2893c3173acSopenharmony_ci    g_baseFuzzSize = size;
2903c3173acSopenharmony_ci    g_baseFuzzPos = 0;
2913c3173acSopenharmony_ci    if (size > sizeof(unsigned int) + sizeof(unsigned int) + sizeof(unsigned int)) {
2923c3173acSopenharmony_ci        unsigned int pid = GetData<unsigned int>();
2933c3173acSopenharmony_ci        unsigned int uaFlag = GetData<unsigned int>();
2943c3173acSopenharmony_ci        unsigned int status = GetData<unsigned int>();
2953c3173acSopenharmony_ci        AuthEnable(pid, uaFlag, status);
2963c3173acSopenharmony_ci    }
2973c3173acSopenharmony_ci    return true;
2983c3173acSopenharmony_ci}
2993c3173acSopenharmony_ci
3003c3173acSopenharmony_cibool FuzzQosInterfaceAuthSwitch(const uint8_t* data, size_t size)
3013c3173acSopenharmony_ci{
3023c3173acSopenharmony_ci    g_baseFuzzData = data;
3033c3173acSopenharmony_ci    g_baseFuzzSize = size;
3043c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3053c3173acSopenharmony_ci    if (size > QUADRUPLE * sizeof(unsigned int)) {
3063c3173acSopenharmony_ci        unsigned int pid = GetData<unsigned int>();
3073c3173acSopenharmony_ci        unsigned int rtgFlag = GetData<unsigned int>();
3083c3173acSopenharmony_ci        unsigned int qosFlag = GetData<unsigned int>();
3093c3173acSopenharmony_ci        unsigned int status = GetData<unsigned int>();
3103c3173acSopenharmony_ci        AuthSwitch(pid, rtgFlag, qosFlag, status);
3113c3173acSopenharmony_ci    }
3123c3173acSopenharmony_ci    return true;
3133c3173acSopenharmony_ci}
3143c3173acSopenharmony_ci
3153c3173acSopenharmony_cibool FuzzQosInterfaceAuthPause(const uint8_t* data, size_t size)
3163c3173acSopenharmony_ci{
3173c3173acSopenharmony_ci    g_baseFuzzData = data;
3183c3173acSopenharmony_ci    g_baseFuzzSize = size;
3193c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3203c3173acSopenharmony_ci    if (size > sizeof(unsigned int) + sizeof(unsigned int)) {
3213c3173acSopenharmony_ci        unsigned int pid = GetData<unsigned int>();
3223c3173acSopenharmony_ci        AuthPause(pid);
3233c3173acSopenharmony_ci    }
3243c3173acSopenharmony_ci    return true;
3253c3173acSopenharmony_ci}
3263c3173acSopenharmony_ci
3273c3173acSopenharmony_cibool FuzzQosInterfaceAuthGet(const uint8_t* data, size_t size)
3283c3173acSopenharmony_ci{
3293c3173acSopenharmony_ci    g_baseFuzzData = data;
3303c3173acSopenharmony_ci    g_baseFuzzSize = size;
3313c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3323c3173acSopenharmony_ci    if (size > sizeof(unsigned int) + sizeof(unsigned int)) {
3333c3173acSopenharmony_ci        unsigned int pid = GetData<unsigned int>();
3343c3173acSopenharmony_ci        AuthGet(pid);
3353c3173acSopenharmony_ci    }
3363c3173acSopenharmony_ci    return true;
3373c3173acSopenharmony_ci}
3383c3173acSopenharmony_ci
3393c3173acSopenharmony_cibool FuzzQosInterfaceAuthEnhance(const uint8_t* data, size_t size)
3403c3173acSopenharmony_ci{
3413c3173acSopenharmony_ci    g_baseFuzzData = data;
3423c3173acSopenharmony_ci    g_baseFuzzSize = size;
3433c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3443c3173acSopenharmony_ci    if (size > sizeof(unsigned int) + sizeof(unsigned int)) {
3453c3173acSopenharmony_ci        unsigned int pid = GetData<unsigned int>();
3463c3173acSopenharmony_ci        bool enhanceStatus = GetData<bool>();
3473c3173acSopenharmony_ci        AuthEnhance(pid, enhanceStatus);
3483c3173acSopenharmony_ci    }
3493c3173acSopenharmony_ci    return true;
3503c3173acSopenharmony_ci}
3513c3173acSopenharmony_ci
3523c3173acSopenharmony_cibool FuzzQosInterfaceQosLeave(const uint8_t* data, size_t size)
3533c3173acSopenharmony_ci{
3543c3173acSopenharmony_ci    g_baseFuzzData = data;
3553c3173acSopenharmony_ci    g_baseFuzzSize = size;
3563c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3573c3173acSopenharmony_ci    QosLeave();
3583c3173acSopenharmony_ci    return true;
3593c3173acSopenharmony_ci}
3603c3173acSopenharmony_ci
3613c3173acSopenharmony_cibool FuzzConcurrentTaskServiceAbilityOnStart(const uint8_t* data, size_t size)
3623c3173acSopenharmony_ci{
3633c3173acSopenharmony_ci    g_baseFuzzData = data;
3643c3173acSopenharmony_ci    g_baseFuzzSize = size;
3653c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3663c3173acSopenharmony_ci    bool runOnCreate = true;
3673c3173acSopenharmony_ci    if (size > sizeof(int32_t) + sizeof(int32_t)) {
3683c3173acSopenharmony_ci        int32_t sysAbilityId = GetData<int32_t>();
3693c3173acSopenharmony_ci        if ((sysAbilityId > ASSET_SERVICE_ID) && (sysAbilityId < VENDOR_SYS_ABILITY_ID_BEGIN)) {
3703c3173acSopenharmony_ci            ConcurrentTaskServiceAbility concurrenttaskserviceability =
3713c3173acSopenharmony_ci                ConcurrentTaskServiceAbility(sysAbilityId, runOnCreate);
3723c3173acSopenharmony_ci            concurrenttaskserviceability.OnStart();
3733c3173acSopenharmony_ci        }
3743c3173acSopenharmony_ci    }
3753c3173acSopenharmony_ci    return true;
3763c3173acSopenharmony_ci}
3773c3173acSopenharmony_ci
3783c3173acSopenharmony_cibool FuzzConcurrentTaskServiceAbilityOnStop(const uint8_t* data, size_t size)
3793c3173acSopenharmony_ci{
3803c3173acSopenharmony_ci    g_baseFuzzData = data;
3813c3173acSopenharmony_ci    g_baseFuzzSize = size;
3823c3173acSopenharmony_ci    g_baseFuzzPos = 0;
3833c3173acSopenharmony_ci    bool runOnCreate = true;
3843c3173acSopenharmony_ci    if (size > sizeof(int32_t) + sizeof(int32_t)) {
3853c3173acSopenharmony_ci        int32_t sysAbilityId = GetData<int32_t>();
3863c3173acSopenharmony_ci        if ((sysAbilityId > ASSET_SERVICE_ID) && (sysAbilityId < VENDOR_SYS_ABILITY_ID_BEGIN)) {
3873c3173acSopenharmony_ci            ConcurrentTaskServiceAbility concurrenttaskserviceability =
3883c3173acSopenharmony_ci                ConcurrentTaskServiceAbility(sysAbilityId, runOnCreate);
3893c3173acSopenharmony_ci            concurrenttaskserviceability.OnStop();
3903c3173acSopenharmony_ci        }
3913c3173acSopenharmony_ci    }
3923c3173acSopenharmony_ci    return true;
3933c3173acSopenharmony_ci}
3943c3173acSopenharmony_ci
3953c3173acSopenharmony_cibool FuzzConcurrentTaskServiceAbilityOnAddSystemAbility(const uint8_t* data, size_t size)
3963c3173acSopenharmony_ci{
3973c3173acSopenharmony_ci    g_baseFuzzData = data;
3983c3173acSopenharmony_ci    g_baseFuzzSize = size;
3993c3173acSopenharmony_ci    g_baseFuzzPos = 0;
4003c3173acSopenharmony_ci    if (size > sizeof(int32_t) + sizeof(int32_t) + sizeof(int32_t)) {
4013c3173acSopenharmony_ci        bool runOnCreate = true;
4023c3173acSopenharmony_ci        int32_t sysAbilityId = GetData<int32_t>();
4033c3173acSopenharmony_ci        int32_t taskServiceId = GetData<int32_t>();
4043c3173acSopenharmony_ci        std::string deviceId = std::to_string(GetData<int32_t>());
4053c3173acSopenharmony_ci        if ((sysAbilityId > ASSET_SERVICE_ID && sysAbilityId < VENDOR_SYS_ABILITY_ID_BEGIN) &&
4063c3173acSopenharmony_ci            (taskServiceId > ASSET_SERVICE_ID && taskServiceId < VENDOR_SYS_ABILITY_ID_BEGIN)) {
4073c3173acSopenharmony_ci            ConcurrentTaskServiceAbility concurrenttaskserviceability =
4083c3173acSopenharmony_ci                ConcurrentTaskServiceAbility(taskServiceId, runOnCreate);
4093c3173acSopenharmony_ci            concurrenttaskserviceability.OnAddSystemAbility(sysAbilityId, deviceId);
4103c3173acSopenharmony_ci        }
4113c3173acSopenharmony_ci    }
4123c3173acSopenharmony_ci    return true;
4133c3173acSopenharmony_ci}
4143c3173acSopenharmony_ci
4153c3173acSopenharmony_cibool FuzzConcurrentTaskServiceAbilityOnRemoveSystemAbility(const uint8_t* data, size_t size)
4163c3173acSopenharmony_ci{
4173c3173acSopenharmony_ci    g_baseFuzzData = data;
4183c3173acSopenharmony_ci    g_baseFuzzSize = size;
4193c3173acSopenharmony_ci    g_baseFuzzPos = 0;
4203c3173acSopenharmony_ci    if (size > sizeof(int32_t) + sizeof(int32_t) + sizeof(int32_t)) {
4213c3173acSopenharmony_ci        bool runOnCreate = true;
4223c3173acSopenharmony_ci        int32_t sysAbilityId = GetData<int32_t>();
4233c3173acSopenharmony_ci        int32_t taskServiceId = GetData<int32_t>();
4243c3173acSopenharmony_ci        std::string deviceId = std::to_string(GetData<int32_t>());
4253c3173acSopenharmony_ci        if ((sysAbilityId > ASSET_SERVICE_ID && sysAbilityId < VENDOR_SYS_ABILITY_ID_BEGIN) &&
4263c3173acSopenharmony_ci            (taskServiceId > ASSET_SERVICE_ID && taskServiceId < VENDOR_SYS_ABILITY_ID_BEGIN)) {
4273c3173acSopenharmony_ci            ConcurrentTaskServiceAbility concurrenttaskserviceability =
4283c3173acSopenharmony_ci                ConcurrentTaskServiceAbility(taskServiceId, runOnCreate);
4293c3173acSopenharmony_ci            concurrenttaskserviceability.OnRemoveSystemAbility(sysAbilityId, deviceId);
4303c3173acSopenharmony_ci        }
4313c3173acSopenharmony_ci    }
4323c3173acSopenharmony_ci    return true;
4333c3173acSopenharmony_ci}
4343c3173acSopenharmony_ci
4353c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStubReportData(const uint8_t* data, size_t size)
4363c3173acSopenharmony_ci{
4373c3173acSopenharmony_ci    g_baseFuzzData = data;
4383c3173acSopenharmony_ci    g_baseFuzzSize = size;
4393c3173acSopenharmony_ci    g_baseFuzzPos = 0;
4403c3173acSopenharmony_ci    if (size > sizeof(uint32_t) + sizeof(int64_t) + sizeof(uint32_t) + sizeof(uint32_t)) {
4413c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
4423c3173acSopenharmony_ci        uint32_t resType = GetData<uint32_t>();
4433c3173acSopenharmony_ci        int64_t value = GetData<int64_t>();
4443c3173acSopenharmony_ci        Json::Value jsValue;
4453c3173acSopenharmony_ci        jsValue["1111"] = std::to_string(GetData<uint32_t>());
4463c3173acSopenharmony_ci        jsValue["2222"] = std::to_string(GetData<uint32_t>());
4473c3173acSopenharmony_ci        s.ReportData(resType, value, jsValue);
4483c3173acSopenharmony_ci    }
4493c3173acSopenharmony_ci    return true;
4503c3173acSopenharmony_ci}
4513c3173acSopenharmony_ci
4523c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStubQueryInterval(const uint8_t* data, size_t size)
4533c3173acSopenharmony_ci{
4543c3173acSopenharmony_ci    g_baseFuzzData = data;
4553c3173acSopenharmony_ci    g_baseFuzzSize = size;
4563c3173acSopenharmony_ci    g_baseFuzzPos = 0;
4573c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
4583c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
4593c3173acSopenharmony_ci        int queryItem = GetData<int>();
4603c3173acSopenharmony_ci        queryItem = queryItem % (QURRY_TYPE_MAX + 1);
4613c3173acSopenharmony_ci        IntervalReply queryRs;
4623c3173acSopenharmony_ci        s.QueryInterval(queryItem, queryRs);
4633c3173acSopenharmony_ci    }
4643c3173acSopenharmony_ci    return true;
4653c3173acSopenharmony_ci}
4663c3173acSopenharmony_ci
4673c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStubQueryDeadline(const uint8_t* data, size_t size)
4683c3173acSopenharmony_ci{
4693c3173acSopenharmony_ci    g_baseFuzzData = data;
4703c3173acSopenharmony_ci    g_baseFuzzSize = size;
4713c3173acSopenharmony_ci    g_baseFuzzPos = 0;
4723c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
4733c3173acSopenharmony_ci        int deadlineType = GetData<int>();
4743c3173acSopenharmony_ci        deadlineType = deadlineType % (MSG_GAME + 1);
4753c3173acSopenharmony_ci        DeadlineReply queryRs;
4763c3173acSopenharmony_ci        Json::Value jsValue;
4773c3173acSopenharmony_ci        jsValue["2123"] = std::to_string(GetData<int>());
4783c3173acSopenharmony_ci        jsValue["2333"] = std::to_string(GetData<int>());
4793c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
4803c3173acSopenharmony_ci        s.QueryDeadline(deadlineType, queryRs, jsValue);
4813c3173acSopenharmony_ci    }
4823c3173acSopenharmony_ci    return true;
4833c3173acSopenharmony_ci}
4843c3173acSopenharmony_ci
4853c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStubRequestAuth(const uint8_t* data, size_t size)
4863c3173acSopenharmony_ci{
4873c3173acSopenharmony_ci    g_baseFuzzData = data;
4883c3173acSopenharmony_ci    g_baseFuzzSize = size;
4893c3173acSopenharmony_ci    g_baseFuzzPos = 0;
4903c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
4913c3173acSopenharmony_ci        Json::Value payload;
4923c3173acSopenharmony_ci        payload["2187"] = std::to_string(GetData<int>());
4933c3173acSopenharmony_ci        payload["2376"] = std::to_string(GetData<int>());
4943c3173acSopenharmony_ci        ConcurrentTaskService s = ConcurrentTaskService();
4953c3173acSopenharmony_ci        s.RequestAuth(payload);
4963c3173acSopenharmony_ci    }
4973c3173acSopenharmony_ci    return true;
4983c3173acSopenharmony_ci}
4993c3173acSopenharmony_ci
5003c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStubQueryDeadlineInner(const uint8_t* data, size_t size)
5013c3173acSopenharmony_ci{
5023c3173acSopenharmony_ci    g_baseFuzzData = data;
5033c3173acSopenharmony_ci    g_baseFuzzSize = size;
5043c3173acSopenharmony_ci    g_baseFuzzPos = 0;
5053c3173acSopenharmony_ci    MessageParcel data4;
5063c3173acSopenharmony_ci    int32_t intData;
5073c3173acSopenharmony_ci    data4.WriteInterfaceToken(ConcurrentTaskServiceStub::GetDescriptor());
5083c3173acSopenharmony_ci    if (size >= sizeof(int32_t)) {
5093c3173acSopenharmony_ci        const char *str2;
5103c3173acSopenharmony_ci        intData = GetData<int32_t>();
5113c3173acSopenharmony_ci        str2 = reinterpret_cast<const char*>(data + g_baseFuzzPos);
5123c3173acSopenharmony_ci        size_t size1 = (size - g_baseFuzzPos) > LEN ? LEN : (size - g_baseFuzzPos);
5133c3173acSopenharmony_ci        std::string str(str2, size1);
5143c3173acSopenharmony_ci        data4.WriteInt32(intData);
5153c3173acSopenharmony_ci        data4.WriteString(str);
5163c3173acSopenharmony_ci    } else if (size > 0) {
5173c3173acSopenharmony_ci        intData = GetData<int32_t>();
5183c3173acSopenharmony_ci        data4.WriteInt32(intData);
5193c3173acSopenharmony_ci    }
5203c3173acSopenharmony_ci
5213c3173acSopenharmony_ci    MessageParcel reply;
5223c3173acSopenharmony_ci    ConcurrentTaskServiceStubFuzer s = ConcurrentTaskServiceStubFuzer();
5233c3173acSopenharmony_ci    s.QueryDeadlineInner(data4, reply);
5243c3173acSopenharmony_ci    return true;
5253c3173acSopenharmony_ci}
5263c3173acSopenharmony_ci
5273c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStubRequestAuthInner(const uint8_t* data, size_t size)
5283c3173acSopenharmony_ci{
5293c3173acSopenharmony_ci    if (data == nullptr) {
5303c3173acSopenharmony_ci        return false;
5313c3173acSopenharmony_ci    }
5323c3173acSopenharmony_ci
5333c3173acSopenharmony_ci    MessageParcel data3;
5343c3173acSopenharmony_ci    data3.WriteInterfaceToken(ConcurrentTaskServiceStub::GetDescriptor());
5353c3173acSopenharmony_ci    if (size >= sizeof(int)) {
5363c3173acSopenharmony_ci        const char *data1 = reinterpret_cast<const char*>(data);
5373c3173acSopenharmony_ci        size_t size1 = size > LEN ? LEN : size;
5383c3173acSopenharmony_ci        std::string str1(data1, size1);
5393c3173acSopenharmony_ci        data3.WriteString(str1);
5403c3173acSopenharmony_ci    } else if (size == 0) {
5413c3173acSopenharmony_ci        std::string str1 = "";
5423c3173acSopenharmony_ci        data3.WriteString(str1);
5433c3173acSopenharmony_ci    }
5443c3173acSopenharmony_ci
5453c3173acSopenharmony_ci    MessageParcel reply;
5463c3173acSopenharmony_ci    ConcurrentTaskServiceStubFuzer s = ConcurrentTaskServiceStubFuzer();
5473c3173acSopenharmony_ci    s.RequestAuthInner(data3, reply);
5483c3173acSopenharmony_ci    return true;
5493c3173acSopenharmony_ci}
5503c3173acSopenharmony_ci
5513c3173acSopenharmony_cibool FuzzConcurrentTaskServiceStringToJson(const uint8_t* data, size_t size)
5523c3173acSopenharmony_ci{
5533c3173acSopenharmony_ci    const char *data1 = reinterpret_cast<const char*>(data);
5543c3173acSopenharmony_ci    size_t size1 = size > LEN ? LEN : size;
5553c3173acSopenharmony_ci    std::string str(data1, size1);
5563c3173acSopenharmony_ci    ConcurrentTaskServiceStubFuzer s = ConcurrentTaskServiceStubFuzer();
5573c3173acSopenharmony_ci    s.StringToJson(str);
5583c3173acSopenharmony_ci    return true;
5593c3173acSopenharmony_ci}
5603c3173acSopenharmony_ci
5613c3173acSopenharmony_cibool FuzzConcurrentTaskClientQueryInterval(const uint8_t* data, size_t size)
5623c3173acSopenharmony_ci{
5633c3173acSopenharmony_ci    g_baseFuzzData = data;
5643c3173acSopenharmony_ci    g_baseFuzzSize = size;
5653c3173acSopenharmony_ci    g_baseFuzzPos = 0;
5663c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
5673c3173acSopenharmony_ci        int queryItem = GetData<int>();
5683c3173acSopenharmony_ci        queryItem = queryItem % (QURRY_TYPE_MAX + 1);
5693c3173acSopenharmony_ci        IntervalReply queryRs;
5703c3173acSopenharmony_ci        ConcurrentTaskClient::GetInstance().QueryInterval(queryItem, queryRs);
5713c3173acSopenharmony_ci    }
5723c3173acSopenharmony_ci    return true;
5733c3173acSopenharmony_ci}
5743c3173acSopenharmony_ci
5753c3173acSopenharmony_cibool FuzzConcurrentTaskClientQueryDeadline(const uint8_t* data, size_t size)
5763c3173acSopenharmony_ci{
5773c3173acSopenharmony_ci    g_baseFuzzData = data;
5783c3173acSopenharmony_ci    g_baseFuzzSize = size;
5793c3173acSopenharmony_ci    g_baseFuzzPos = 0;
5803c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(pid_t) + sizeof(uint32_t)) {
5813c3173acSopenharmony_ci        int queryItem = GetData<int>();
5823c3173acSopenharmony_ci        queryItem = queryItem % (QURRY_TYPE_MAX + 1);
5833c3173acSopenharmony_ci        DeadlineReply ddlReply;
5843c3173acSopenharmony_ci        pid_t pid = GetData<pid_t>();
5853c3173acSopenharmony_ci        uint32_t qos = GetData<uint32_t>();
5863c3173acSopenharmony_ci        std::unordered_map<pid_t, uint32_t> mapPayload;
5873c3173acSopenharmony_ci        mapPayload.insert(std::pair<pid_t, uint32_t>(pid, qos));
5883c3173acSopenharmony_ci        ConcurrentTaskClient::GetInstance().QueryDeadline(queryItem, ddlReply, mapPayload);
5893c3173acSopenharmony_ci    }
5903c3173acSopenharmony_ci    return true;
5913c3173acSopenharmony_ci}
5923c3173acSopenharmony_ci
5933c3173acSopenharmony_cibool FuzzConcurrentTaskClinetRequestAuth(const uint8_t* data, size_t size)
5943c3173acSopenharmony_ci{
5953c3173acSopenharmony_ci    g_baseFuzzData = data;
5963c3173acSopenharmony_ci    g_baseFuzzSize = size;
5973c3173acSopenharmony_ci    g_baseFuzzPos = 0;
5983c3173acSopenharmony_ci    if (size > sizeof(int32_t)) {
5993c3173acSopenharmony_ci        MessageParcel data1;
6003c3173acSopenharmony_ci        std::unordered_map<std::string, std::string> mapPayload;
6013c3173acSopenharmony_ci        mapPayload["2182"] = std::to_string(GetData<int32_t>());
6023c3173acSopenharmony_ci        ConcurrentTaskClient::GetInstance().RequestAuth(mapPayload);
6033c3173acSopenharmony_ci    }
6043c3173acSopenharmony_ci    return true;
6053c3173acSopenharmony_ci}
6063c3173acSopenharmony_ci
6073c3173acSopenharmony_cibool FuzzConcurrentTaskClientTryConnect(const uint8_t* data, size_t size)
6083c3173acSopenharmony_ci{
6093c3173acSopenharmony_ci    g_baseFuzzData = data;
6103c3173acSopenharmony_ci    g_baseFuzzSize = size;
6113c3173acSopenharmony_ci    g_baseFuzzPos = 0;
6123c3173acSopenharmony_ci    ConcurrentTaskClient::GetInstance().TryConnect();
6133c3173acSopenharmony_ci    return true;
6143c3173acSopenharmony_ci}
6153c3173acSopenharmony_ci
6163c3173acSopenharmony_cibool FuzzConcurrentTaskClientStopRemoteObject(const uint8_t* data, size_t size)
6173c3173acSopenharmony_ci{
6183c3173acSopenharmony_ci    g_baseFuzzData = data;
6193c3173acSopenharmony_ci    g_baseFuzzSize = size;
6203c3173acSopenharmony_ci    g_baseFuzzPos = 0;
6213c3173acSopenharmony_ci    ConcurrentTaskClient::GetInstance().StopRemoteObject();
6223c3173acSopenharmony_ci    return true;
6233c3173acSopenharmony_ci}
6243c3173acSopenharmony_ci
6253c3173acSopenharmony_cibool FuzzConcurrentTaskServiceProxyReportData(const uint8_t* data, size_t size)
6263c3173acSopenharmony_ci{
6273c3173acSopenharmony_ci    g_baseFuzzData = data;
6283c3173acSopenharmony_ci    g_baseFuzzSize = size;
6293c3173acSopenharmony_ci    g_baseFuzzPos = 0;
6303c3173acSopenharmony_ci    if (size >= sizeof(uint32_t) + sizeof(int64_t) + sizeof(int32_t)) {
6313c3173acSopenharmony_ci        uint32_t intdata1 = GetData<int32_t>();
6323c3173acSopenharmony_ci        int64_t intdata2 = GetData<int64_t>();
6333c3173acSopenharmony_ci        Json::Value payload;
6343c3173acSopenharmony_ci        payload["2123"] = std::to_string(GetData<int32_t>());
6353c3173acSopenharmony_ci        sptr<ISystemAbilityManager> systemAbilityManager =
6363c3173acSopenharmony_ci        SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
6373c3173acSopenharmony_ci        sptr<IRemoteObject> remoteObject = systemAbilityManager->GetSystemAbility(CONCURRENT_TASK_SERVICE_ID);
6383c3173acSopenharmony_ci        ConcurrentTaskServiceProxy s = ConcurrentTaskServiceProxy(remoteObject);
6393c3173acSopenharmony_ci        s.ReportData(intdata1, intdata2, payload);
6403c3173acSopenharmony_ci    }
6413c3173acSopenharmony_ci    return true;
6423c3173acSopenharmony_ci}
6433c3173acSopenharmony_ci
6443c3173acSopenharmony_cibool FuzzConcurrentTaskServiceProxyQueryInterval(const uint8_t* data, size_t size)
6453c3173acSopenharmony_ci{
6463c3173acSopenharmony_ci    g_baseFuzzData = data;
6473c3173acSopenharmony_ci    g_baseFuzzSize = size;
6483c3173acSopenharmony_ci    g_baseFuzzPos = 0;
6493c3173acSopenharmony_ci    IntervalReply queryRs;
6503c3173acSopenharmony_ci    queryRs.rtgId = -1;
6513c3173acSopenharmony_ci    queryRs.paramA = -1;
6523c3173acSopenharmony_ci    queryRs.paramB = -1;
6533c3173acSopenharmony_ci    sptr<ISystemAbilityManager> systemAbilityManager =
6543c3173acSopenharmony_ci        SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
6553c3173acSopenharmony_ci    sptr<IRemoteObject> remoteObject = systemAbilityManager->GetSystemAbility(CONCURRENT_TASK_SERVICE_ID);
6563c3173acSopenharmony_ci    if (size >= sizeof(int) + sizeof(int)) {
6573c3173acSopenharmony_ci        int intdata1 = GetData<int>();
6583c3173acSopenharmony_ci        queryRs.tid = GetData<int>();
6593c3173acSopenharmony_ci        ConcurrentTaskServiceProxy s = ConcurrentTaskServiceProxy(remoteObject);
6603c3173acSopenharmony_ci        s.QueryInterval(intdata1, queryRs);
6613c3173acSopenharmony_ci    } else if (size >= sizeof(int)) {
6623c3173acSopenharmony_ci        int queryItem = 12345;
6633c3173acSopenharmony_ci        queryRs.tid = GetData<int>();
6643c3173acSopenharmony_ci        ConcurrentTaskServiceProxy s = ConcurrentTaskServiceProxy(remoteObject);
6653c3173acSopenharmony_ci        s.QueryInterval(queryItem, queryRs);
6663c3173acSopenharmony_ci    }
6673c3173acSopenharmony_ci    return true;
6683c3173acSopenharmony_ci}
6693c3173acSopenharmony_ci
6703c3173acSopenharmony_cibool FuzzConcurrentTaskServiceProxyQueryDeadline(const uint8_t* data, size_t size)
6713c3173acSopenharmony_ci{
6723c3173acSopenharmony_ci    g_baseFuzzData = data;
6733c3173acSopenharmony_ci    g_baseFuzzSize = size;
6743c3173acSopenharmony_ci    g_baseFuzzPos = 0;
6753c3173acSopenharmony_ci    if (size >= sizeof(int) + sizeof(int)) {
6763c3173acSopenharmony_ci        int queryItem = GetData<int>();
6773c3173acSopenharmony_ci        queryItem = queryItem % (QURRY_TYPE_MAX + 1);
6783c3173acSopenharmony_ci        DeadlineReply ddlReply;
6793c3173acSopenharmony_ci        Json::Value payload;
6803c3173acSopenharmony_ci        payload["2147"] = std::to_string(GetData<int>());
6813c3173acSopenharmony_ci        sptr<ISystemAbilityManager> systemAbilityManager =
6823c3173acSopenharmony_ci        SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
6833c3173acSopenharmony_ci        sptr<IRemoteObject> remoteObject = systemAbilityManager->GetSystemAbility(CONCURRENT_TASK_SERVICE_ID);
6843c3173acSopenharmony_ci        ConcurrentTaskServiceProxy s = ConcurrentTaskServiceProxy(remoteObject);
6853c3173acSopenharmony_ci        s.QueryDeadline(queryItem, ddlReply, payload);
6863c3173acSopenharmony_ci    }
6873c3173acSopenharmony_ci    return true;
6883c3173acSopenharmony_ci}
6893c3173acSopenharmony_ci
6903c3173acSopenharmony_cibool FuzzConcurrentTaskServiceProxyRequestAuth(const uint8_t* data, size_t size)
6913c3173acSopenharmony_ci{
6923c3173acSopenharmony_ci    g_baseFuzzData = data;
6933c3173acSopenharmony_ci    g_baseFuzzSize = size;
6943c3173acSopenharmony_ci    g_baseFuzzPos = 0;
6953c3173acSopenharmony_ci    if (size >= sizeof(int)) {
6963c3173acSopenharmony_ci        Json::Value payload;
6973c3173acSopenharmony_ci        payload["2147"] = std::to_string(GetData<int>());
6983c3173acSopenharmony_ci        sptr<ISystemAbilityManager> systemAbilityManager =
6993c3173acSopenharmony_ci        SystemAbilityManagerClient::GetInstance().GetSystemAbilityManager();
7003c3173acSopenharmony_ci        sptr<IRemoteObject> remoteObject = systemAbilityManager->GetSystemAbility(CONCURRENT_TASK_SERVICE_ID);
7013c3173acSopenharmony_ci        ConcurrentTaskServiceProxy s = ConcurrentTaskServiceProxy(remoteObject);
7023c3173acSopenharmony_ci        s.RequestAuth(payload);
7033c3173acSopenharmony_ci    }
7043c3173acSopenharmony_ci    return true;
7053c3173acSopenharmony_ci}
7063c3173acSopenharmony_ci
7073c3173acSopenharmony_cibool FuzzTaskControllerQueryRenderService(const uint8_t* data, size_t size)
7083c3173acSopenharmony_ci{
7093c3173acSopenharmony_ci    g_baseFuzzData = data;
7103c3173acSopenharmony_ci    g_baseFuzzSize = size;
7113c3173acSopenharmony_ci    g_baseFuzzPos = 0;
7123c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int) + sizeof(int)) {
7133c3173acSopenharmony_ci        int uid = GetData<int>();
7143c3173acSopenharmony_ci        IntervalReply queryRs;
7153c3173acSopenharmony_ci        queryRs.tid = GetData<int>();
7163c3173acSopenharmony_ci        queryRs.rtgId = GetData<int>();
7173c3173acSopenharmony_ci        queryRs.paramA = 1;
7183c3173acSopenharmony_ci        queryRs.paramB = 1;
7193c3173acSopenharmony_ci        TaskController::GetInstance().renderServiceMainGrpId_ = GetData<int>();
7203c3173acSopenharmony_ci        TaskController::GetInstance().QueryRenderService(uid, queryRs);
7213c3173acSopenharmony_ci    }
7223c3173acSopenharmony_ci    return true;
7233c3173acSopenharmony_ci}
7243c3173acSopenharmony_ci
7253c3173acSopenharmony_cibool FuzzTaskControllerQueryExecutorStart(const uint8_t* data, size_t size)
7263c3173acSopenharmony_ci{
7273c3173acSopenharmony_ci    g_baseFuzzData = data;
7283c3173acSopenharmony_ci    g_baseFuzzSize = size;
7293c3173acSopenharmony_ci    g_baseFuzzPos = 0;
7303c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int) + sizeof(int)) {
7313c3173acSopenharmony_ci        int uid = GetData<int>();
7323c3173acSopenharmony_ci        IntervalReply queryRs;
7333c3173acSopenharmony_ci        queryRs.tid = GetData<int>();
7343c3173acSopenharmony_ci        queryRs.rtgId = GetData<int>();
7353c3173acSopenharmony_ci        queryRs.paramA = 1;
7363c3173acSopenharmony_ci        queryRs.paramB = 1;
7373c3173acSopenharmony_ci        TaskController::GetInstance().renderServiceMainGrpId_ = GetData<int>();
7383c3173acSopenharmony_ci        TaskController::GetInstance().QueryRenderService(uid, queryRs);
7393c3173acSopenharmony_ci    }
7403c3173acSopenharmony_ci    return true;
7413c3173acSopenharmony_ci}
7423c3173acSopenharmony_ci
7433c3173acSopenharmony_cibool FuzzTaskControllerGetRequestType(const uint8_t* data, size_t size)
7443c3173acSopenharmony_ci{
7453c3173acSopenharmony_ci    g_baseFuzzData = data;
7463c3173acSopenharmony_ci    g_baseFuzzSize = size;
7473c3173acSopenharmony_ci    g_baseFuzzPos = 0;
7483c3173acSopenharmony_ci    if (size > sizeof(int)) {
7493c3173acSopenharmony_ci        std::string msgType = std::to_string(GetData<int>());
7503c3173acSopenharmony_ci        TaskController::GetInstance().GetRequestType(msgType);
7513c3173acSopenharmony_ci    }
7523c3173acSopenharmony_ci    return true;
7533c3173acSopenharmony_ci}
7543c3173acSopenharmony_ci
7553c3173acSopenharmony_cibool FuzzTaskControllerDealSystemRequest(const uint8_t* data, size_t size)
7563c3173acSopenharmony_ci{
7573c3173acSopenharmony_ci    g_baseFuzzData = data;
7583c3173acSopenharmony_ci    g_baseFuzzSize = size;
7593c3173acSopenharmony_ci    g_baseFuzzPos = 0;
7603c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
7613c3173acSopenharmony_ci        Json::Value payload;
7623c3173acSopenharmony_ci        payload["pid"] = GetData<int>();
7633c3173acSopenharmony_ci        payload["uid"] = GetData<int>();
7643c3173acSopenharmony_ci        int requestType = GetData<int>();
7653c3173acSopenharmony_ci        TaskController::GetInstance().DealSystemRequest(requestType, payload);
7663c3173acSopenharmony_ci    }
7673c3173acSopenharmony_ci    return true;
7683c3173acSopenharmony_ci}
7693c3173acSopenharmony_ci
7703c3173acSopenharmony_cibool FuzzTaskControllerNewForeground(const uint8_t* data, size_t size)
7713c3173acSopenharmony_ci{
7723c3173acSopenharmony_ci    g_baseFuzzData = data;
7733c3173acSopenharmony_ci    g_baseFuzzSize = size;
7743c3173acSopenharmony_ci    g_baseFuzzPos = 0;
7753c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
7763c3173acSopenharmony_ci        int uid = GetData<int>();
7773c3173acSopenharmony_ci        int pid = GetData<int>();
7783c3173acSopenharmony_ci        TaskController::GetInstance().NewForeground(uid, pid);
7793c3173acSopenharmony_ci    }
7803c3173acSopenharmony_ci    return true;
7813c3173acSopenharmony_ci}
7823c3173acSopenharmony_ci
7833c3173acSopenharmony_cibool FuzzTaskControllerNewForegroundAppRecord(const uint8_t* data, size_t size)
7843c3173acSopenharmony_ci{
7853c3173acSopenharmony_ci    g_baseFuzzData = data;
7863c3173acSopenharmony_ci    g_baseFuzzSize = size;
7873c3173acSopenharmony_ci    g_baseFuzzPos = 0;
7883c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
7893c3173acSopenharmony_ci        int pid = GetData<int>();
7903c3173acSopenharmony_ci        int uiPid = GetData<int>();
7913c3173acSopenharmony_ci        bool ddlEnable = GetData<bool>();
7923c3173acSopenharmony_ci        TaskController::GetInstance().NewForegroundAppRecord(pid, uiPid, ddlEnable);
7933c3173acSopenharmony_ci    }
7943c3173acSopenharmony_ci    return true;
7953c3173acSopenharmony_ci}
7963c3173acSopenharmony_ci
7973c3173acSopenharmony_cibool FuzzTaskControllerNewBackground(const uint8_t* data, size_t size)
7983c3173acSopenharmony_ci{
7993c3173acSopenharmony_ci    g_baseFuzzData = data;
8003c3173acSopenharmony_ci    g_baseFuzzSize = size;
8013c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8023c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
8033c3173acSopenharmony_ci        int pid = GetData<int>();
8043c3173acSopenharmony_ci        int uid = GetData<int>();
8053c3173acSopenharmony_ci        TaskController::GetInstance().NewBackground(uid, pid);
8063c3173acSopenharmony_ci    }
8073c3173acSopenharmony_ci    return true;
8083c3173acSopenharmony_ci}
8093c3173acSopenharmony_ci
8103c3173acSopenharmony_cibool FuzzTaskControllerNewAppStart(const uint8_t* data, size_t size)
8113c3173acSopenharmony_ci{
8123c3173acSopenharmony_ci    g_baseFuzzData = data;
8133c3173acSopenharmony_ci    g_baseFuzzSize = size;
8143c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8153c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
8163c3173acSopenharmony_ci        int pid = GetData<int>();
8173c3173acSopenharmony_ci        int uid = GetData<int>();
8183c3173acSopenharmony_ci        std::string bundleName = std::to_string(GetData<int>());
8193c3173acSopenharmony_ci        TaskController::GetInstance().NewAppStart(uid, pid, bundleName);
8203c3173acSopenharmony_ci    }
8213c3173acSopenharmony_ci    return true;
8223c3173acSopenharmony_ci}
8233c3173acSopenharmony_ci
8243c3173acSopenharmony_cibool FuzzTaskControllerAppKilled(const uint8_t* data, size_t size)
8253c3173acSopenharmony_ci{
8263c3173acSopenharmony_ci    g_baseFuzzData = data;
8273c3173acSopenharmony_ci    g_baseFuzzSize = size;
8283c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8293c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
8303c3173acSopenharmony_ci        int pid = GetData<int>();
8313c3173acSopenharmony_ci        int uid = GetData<int>();
8323c3173acSopenharmony_ci        TaskController::GetInstance().AppKilled(uid, pid);
8333c3173acSopenharmony_ci    }
8343c3173acSopenharmony_ci    return true;
8353c3173acSopenharmony_ci}
8363c3173acSopenharmony_ci
8373c3173acSopenharmony_cibool FuzzTaskControllerAuthSystemProcess(const uint8_t* data, size_t size)
8383c3173acSopenharmony_ci{
8393c3173acSopenharmony_ci    g_baseFuzzData = data;
8403c3173acSopenharmony_ci    g_baseFuzzSize = size;
8413c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8423c3173acSopenharmony_ci    if (size > sizeof(int)) {
8433c3173acSopenharmony_ci        int pid = GetData<int>();
8443c3173acSopenharmony_ci        TaskController::GetInstance().AuthSystemProcess(pid);
8453c3173acSopenharmony_ci    }
8463c3173acSopenharmony_ci    return true;
8473c3173acSopenharmony_ci}
8483c3173acSopenharmony_ci
8493c3173acSopenharmony_cibool FuzzTaskControllerContinuousTaskProcess(const uint8_t* data, size_t size)
8503c3173acSopenharmony_ci{
8513c3173acSopenharmony_ci    g_baseFuzzData = data;
8523c3173acSopenharmony_ci    g_baseFuzzSize = size;
8533c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8543c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
8553c3173acSopenharmony_ci        int pid = GetData<int>();
8563c3173acSopenharmony_ci        int uid = GetData<int>();
8573c3173acSopenharmony_ci        int status = GetData<int>();
8583c3173acSopenharmony_ci        TaskController::GetInstance().ContinuousTaskProcess(uid, pid, status);
8593c3173acSopenharmony_ci    }
8603c3173acSopenharmony_ci    return true;
8613c3173acSopenharmony_ci}
8623c3173acSopenharmony_ci
8633c3173acSopenharmony_cibool FuzzTaskControllerFocusStatusProcess(const uint8_t* data, size_t size)
8643c3173acSopenharmony_ci{
8653c3173acSopenharmony_ci    g_baseFuzzData = data;
8663c3173acSopenharmony_ci    g_baseFuzzSize = size;
8673c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8683c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
8693c3173acSopenharmony_ci        int pid = GetData<int>();
8703c3173acSopenharmony_ci        int uid = GetData<int>();
8713c3173acSopenharmony_ci        int status = GetData<int>();
8723c3173acSopenharmony_ci        TaskController::GetInstance().FocusStatusProcess(uid, pid, status);
8733c3173acSopenharmony_ci    }
8743c3173acSopenharmony_ci    return true;
8753c3173acSopenharmony_ci}
8763c3173acSopenharmony_ci
8773c3173acSopenharmony_cibool FuzzTaskControllerModifyGameState(const uint8_t* data, size_t size)
8783c3173acSopenharmony_ci{
8793c3173acSopenharmony_ci    g_baseFuzzData = data;
8803c3173acSopenharmony_ci    g_baseFuzzSize = size;
8813c3173acSopenharmony_ci    g_baseFuzzPos = 0;
8823c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
8833c3173acSopenharmony_ci        const char* str1 = reinterpret_cast<const char*>(data + g_baseFuzzPos);
8843c3173acSopenharmony_ci        size_t size1 = (size - g_baseFuzzPos) > LEN ? LEN : (size - g_baseFuzzPos);
8853c3173acSopenharmony_ci        std::string gameMsg(str1, size1);
8863c3173acSopenharmony_ci        Json::Value payload;
8873c3173acSopenharmony_ci        payload["gameMsg"] = gameMsg.c_str();
8883c3173acSopenharmony_ci        TaskController::GetInstance().ModifyGameState(payload);
8893c3173acSopenharmony_ci    } else {
8903c3173acSopenharmony_ci        Json::Value payload;
8913c3173acSopenharmony_ci        payload["gameMsg"] = "gameScene\":\"1";
8923c3173acSopenharmony_ci        TaskController::GetInstance().ModifyGameState(payload);
8933c3173acSopenharmony_ci    }
8943c3173acSopenharmony_ci    return true;
8953c3173acSopenharmony_ci}
8963c3173acSopenharmony_ci
8973c3173acSopenharmony_cibool FuzzTaskControllerModifySystemRate(const uint8_t* data, size_t size)
8983c3173acSopenharmony_ci{
8993c3173acSopenharmony_ci    g_baseFuzzData = data;
9003c3173acSopenharmony_ci    g_baseFuzzSize = size;
9013c3173acSopenharmony_ci    g_baseFuzzPos = 0;
9023c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
9033c3173acSopenharmony_ci        const char* str1 = reinterpret_cast<const char*>(data + g_baseFuzzPos);
9043c3173acSopenharmony_ci        size_t size1 = (size - g_baseFuzzPos) > LEN ? LEN : (size - g_baseFuzzPos);
9053c3173acSopenharmony_ci        std::string gameMsg(str1, size1);
9063c3173acSopenharmony_ci        Json::Value payload;
9073c3173acSopenharmony_ci        payload["gameMsg"] = gameMsg.c_str();
9083c3173acSopenharmony_ci        TaskController::GetInstance().ModifyGameState(payload);
9093c3173acSopenharmony_ci    } else {
9103c3173acSopenharmony_ci        Json::Value payload;
9113c3173acSopenharmony_ci        payload["gameMsg"] = "gameScene\":\"1";
9123c3173acSopenharmony_ci        TaskController::GetInstance().ModifyGameState(payload);
9133c3173acSopenharmony_ci    }
9143c3173acSopenharmony_ci    return true;
9153c3173acSopenharmony_ci}
9163c3173acSopenharmony_ci
9173c3173acSopenharmony_cibool FuzzTaskControllerSetAppRate(const uint8_t* data, size_t size)
9183c3173acSopenharmony_ci{
9193c3173acSopenharmony_ci    g_baseFuzzData = data;
9203c3173acSopenharmony_ci    g_baseFuzzSize = size;
9213c3173acSopenharmony_ci    g_baseFuzzPos = 0;
9223c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
9233c3173acSopenharmony_ci        Json::Value payload;
9243c3173acSopenharmony_ci        payload[std::to_string(GetData<int>()).c_str()] = std::to_string(GetData<int>()).c_str();
9253c3173acSopenharmony_ci        TaskController::GetInstance().SetAppRate(payload);
9263c3173acSopenharmony_ci    } else {
9273c3173acSopenharmony_ci        Json::Value payload;
9283c3173acSopenharmony_ci        payload["-1"] = std::to_string(GetData<int>()).c_str();
9293c3173acSopenharmony_ci        TaskController::GetInstance().SetAppRate(payload);
9303c3173acSopenharmony_ci    }
9313c3173acSopenharmony_ci    return true;
9323c3173acSopenharmony_ci}
9333c3173acSopenharmony_ci
9343c3173acSopenharmony_cibool FuzzTaskControllerSetRenderServiceRate(const uint8_t* data, size_t size)
9353c3173acSopenharmony_ci{
9363c3173acSopenharmony_ci    g_baseFuzzData = data;
9373c3173acSopenharmony_ci    g_baseFuzzSize = size;
9383c3173acSopenharmony_ci    g_baseFuzzPos = 0;
9393c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int) + sizeof(int)) {
9403c3173acSopenharmony_ci        Json::Value payload;
9413c3173acSopenharmony_ci        payload[std::to_string(GetData<int>()).c_str()] = std::to_string(GetData<int>()).c_str();
9423c3173acSopenharmony_ci        TaskController::GetInstance().SetRenderServiceRate(payload);
9433c3173acSopenharmony_ci    }
9443c3173acSopenharmony_ci    return true;
9453c3173acSopenharmony_ci}
9463c3173acSopenharmony_ci
9473c3173acSopenharmony_cibool FuzzTaskControllerCheckJsonValid(const uint8_t* data, size_t size)
9483c3173acSopenharmony_ci{
9493c3173acSopenharmony_ci    g_baseFuzzData = data;
9503c3173acSopenharmony_ci    g_baseFuzzSize = size;
9513c3173acSopenharmony_ci    g_baseFuzzPos = 0;
9523c3173acSopenharmony_ci    if (size > sizeof(int) + sizeof(int)) {
9533c3173acSopenharmony_ci        Json::Value payload;
9543c3173acSopenharmony_ci        payload[std::to_string(GetData<int>()).c_str()] = std::to_string(GetData<int>()).c_str();
9553c3173acSopenharmony_ci        TaskController::GetInstance().CheckJsonValid(payload);
9563c3173acSopenharmony_ci    }
9573c3173acSopenharmony_ci    return true;
9583c3173acSopenharmony_ci}
9593c3173acSopenharmony_ci
9603c3173acSopenharmony_cibool FuzzQosControllerGetThreadQosForOtherThread(const uint8_t* data, size_t size)
9613c3173acSopenharmony_ci{
9623c3173acSopenharmony_ci    g_baseFuzzData = data;
9633c3173acSopenharmony_ci    g_baseFuzzSize = size;
9643c3173acSopenharmony_ci    g_baseFuzzPos = 0;
9653c3173acSopenharmony_ci    if (size > sizeof(int)) {
9663c3173acSopenharmony_ci        enum QosLevel level;
9673c3173acSopenharmony_ci        int32_t tid = GetData<int>();
9683c3173acSopenharmony_ci        QosController::GetInstance().GetThreadQosForOtherThread(level, tid);
9693c3173acSopenharmony_ci    }
9703c3173acSopenharmony_ci    return true;
9713c3173acSopenharmony_ci}
9723c3173acSopenharmony_ci} // namespace OHOS
9733c3173acSopenharmony_ci
9743c3173acSopenharmony_cistatic void TaskControllerFuzzTestSuit(const uint8_t *data, size_t size)
9753c3173acSopenharmony_ci{
9763c3173acSopenharmony_ci    OHOS::FuzzTaskControllerQueryRenderService(data, size);
9773c3173acSopenharmony_ci    OHOS::FuzzTaskControllerQueryExecutorStart(data, size);
9783c3173acSopenharmony_ci    OHOS::FuzzTaskControllerGetRequestType(data, size);
9793c3173acSopenharmony_ci    OHOS::FuzzTaskControllerDealSystemRequest(data, size);
9803c3173acSopenharmony_ci    OHOS::FuzzTaskControllerNewForeground(data, size);
9813c3173acSopenharmony_ci    OHOS::FuzzTaskControllerNewForegroundAppRecord(data, size);
9823c3173acSopenharmony_ci    OHOS::FuzzTaskControllerNewBackground(data, size);
9833c3173acSopenharmony_ci    OHOS::FuzzTaskControllerNewAppStart(data, size);
9843c3173acSopenharmony_ci    OHOS::FuzzTaskControllerAppKilled(data, size);
9853c3173acSopenharmony_ci    OHOS::FuzzTaskControllerAuthSystemProcess(data, size);
9863c3173acSopenharmony_ci    OHOS::FuzzTaskControllerContinuousTaskProcess(data, size);
9873c3173acSopenharmony_ci    OHOS::FuzzTaskControllerFocusStatusProcess(data, size);
9883c3173acSopenharmony_ci    OHOS::FuzzTaskControllerModifyGameState(data, size);
9893c3173acSopenharmony_ci    OHOS::FuzzTaskControllerSetAppRate(data, size);
9903c3173acSopenharmony_ci    OHOS::FuzzTaskControllerModifySystemRate(data, size);
9913c3173acSopenharmony_ci    OHOS::FuzzTaskControllerSetRenderServiceRate(data, size);
9923c3173acSopenharmony_ci    OHOS::FuzzTaskControllerCheckJsonValid(data, size);
9933c3173acSopenharmony_ci    OHOS::FuzzQosControllerGetThreadQosForOtherThread(data, size);
9943c3173acSopenharmony_ci}
9953c3173acSopenharmony_ci
9963c3173acSopenharmony_ci/* Fuzzer entry point */
9973c3173acSopenharmony_ciextern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
9983c3173acSopenharmony_ci{
9993c3173acSopenharmony_ci    /* Run your code on data */
10003c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskTryConnect(data, size);
10013c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceReportData(data, size);
10023c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceRequestAuth(data, size);
10033c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceQueryInterval(data, size);
10043c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStopRemoteObject(data, size);
10053c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceSetThreadQos(data, size);
10063c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceSetQosForOtherThread(data, size);
10073c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceResetThreadQos(data, size);
10083c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceResetQosForOtherThread(data, size);
10093c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceQueryDeadline(data, size);
10103c3173acSopenharmony_ci    OHOS::FuzzQosPolicyInit(data, size);
10113c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceEnableRtg(data, size);
10123c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceAuthEnable(data, size);
10133c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceAuthSwitch(data, size);
10143c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceAuthGet(data, size);
10153c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceAuthEnhance(data, size);
10163c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceAuthPause(data, size);
10173c3173acSopenharmony_ci    OHOS::FuzzQosInterfaceQosLeave(data, size);
10183c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubReportData(data, size);
10193c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubQueryInterval(data, size);
10203c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubQueryDeadline(data, size);
10213c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubRequestAuth(data, size);
10223c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceAbilityOnStart(data, size);
10233c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceAbilityOnStop(data, size);
10243c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceAbilityOnAddSystemAbility(data, size);
10253c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceAbilityOnRemoveSystemAbility(data, size);
10263c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubQueryDeadlineInner(data, size);
10273c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubRequestAuthInner(data, size);
10283c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStringToJson(data, size);
10293c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskClientQueryInterval(data, size);
10303c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceStubQueryDeadline(data, size);
10313c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskClinetRequestAuth(data, size);
10323c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskClientTryConnect(data, size);
10333c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskClientStopRemoteObject(data, size);
10343c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceProxyReportData(data, size);
10353c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceProxyQueryInterval(data, size);
10363c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceProxyQueryDeadline(data, size);
10373c3173acSopenharmony_ci    OHOS::FuzzConcurrentTaskServiceProxyRequestAuth(data, size);
10383c3173acSopenharmony_ci    TaskControllerFuzzTestSuit(data, size);
10393c3173acSopenharmony_ci    return 0;
10403c3173acSopenharmony_ci}
1041