13298bea7Sopenharmony_ci/* 23298bea7Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. 33298bea7Sopenharmony_ci * SPDX-License-Identifier: GPL-2.0 43298bea7Sopenharmony_ci * 53298bea7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 63298bea7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 73298bea7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 83298bea7Sopenharmony_ci * See the License for the specific language governing permissions and 93298bea7Sopenharmony_ci * limitations under the License. 103298bea7Sopenharmony_ci */ 113298bea7Sopenharmony_ci 123298bea7Sopenharmony_ci#ifndef ACCESSTOKENIDCOMMON_H 133298bea7Sopenharmony_ci#define ACCESSTOKENIDCOMMON_H 143298bea7Sopenharmony_ci#include <cstddef> 153298bea7Sopenharmony_ci#include <cstdint> 163298bea7Sopenharmony_ci 173298bea7Sopenharmony_ci#define FUZZ_PROJECT_NAME "accesstokenidcommon" 183298bea7Sopenharmony_ci 193298bea7Sopenharmony_cinamespace OHOS { 203298bea7Sopenharmony_cinamespace Kernel { 213298bea7Sopenharmony_cinamespace AccessToken { 223298bea7Sopenharmony_ci#define ACCESS_TOKEN_ID_IOCTL_BASE 'A' 233298bea7Sopenharmony_ci 243298bea7Sopenharmony_ci#ifdef CMDERROR 253298bea7Sopenharmony_ci#define GET_TOKEN_ID 0 263298bea7Sopenharmony_ci#define SET_TOKEN_ID 0 273298bea7Sopenharmony_ci#define GET_GTOKEN_ID 0 283298bea7Sopenharmony_ci#define SET_GTOKEN_ID 0 293298bea7Sopenharmony_ci#else 303298bea7Sopenharmony_ci#define GET_TOKEN_ID 1 313298bea7Sopenharmony_ci#define SET_TOKEN_ID 2 323298bea7Sopenharmony_ci#define GET_GTOKEN_ID 3 333298bea7Sopenharmony_ci#define SET_GTOKEN_ID 4 343298bea7Sopenharmony_ci#endif 353298bea7Sopenharmony_ci 363298bea7Sopenharmony_ci#define ACCESS_TOKENID_GET_TOKENID \ 373298bea7Sopenharmony_ci _IOR(ACCESS_TOKEN_ID_IOCTL_BASE, GET_TOKEN_ID, unsigned long long) 383298bea7Sopenharmony_ci#define ACCESS_TOKENID_SET_TOKENID \ 393298bea7Sopenharmony_ci _IOW(ACCESS_TOKEN_ID_IOCTL_BASE, SET_TOKEN_ID, unsigned long long) 403298bea7Sopenharmony_ci#define ACCESS_TOKENID_GET_FTOKENID \ 413298bea7Sopenharmony_ci _IOR(ACCESS_TOKEN_ID_IOCTL_BASE, GET_GTOKEN_ID, unsigned long long) 423298bea7Sopenharmony_ci#define ACCESS_TOKENID_SET_FTOKENID \ 433298bea7Sopenharmony_ci _IOW(ACCESS_TOKEN_ID_IOCTL_BASE, SET_GTOKEN_ID, unsigned long long) 443298bea7Sopenharmony_ci 453298bea7Sopenharmony_ci#define LIST_NUM_1 1 463298bea7Sopenharmony_ci#define LIST_NUM_2 2 473298bea7Sopenharmony_ci#define TEST_VALUE 123 483298bea7Sopenharmony_ci#define CHILDREN_NUM 3 493298bea7Sopenharmony_ci#define WAIT_FOR_SHELL_OP_TIME 1 503298bea7Sopenharmony_ci#define FATHER_WAIT_TIME (WAIT_FOR_SHELL_OP_TIME * (CHILDREN_NUM + 1)) 513298bea7Sopenharmony_ci 523298bea7Sopenharmony_ci#define ACCESS_TOKEN_UID 3020 533298bea7Sopenharmony_ci#define ACCESS_TOKEN_GRPID 3020 543298bea7Sopenharmony_ci 553298bea7Sopenharmony_ci#define ACCESS_TOKEN_OTHER_UID 1234 563298bea7Sopenharmony_ci#define ACCESS_TOKEN_OTHER_GRPID 1234 573298bea7Sopenharmony_ci 583298bea7Sopenharmony_ci#define INVAL_TOKEN 0xffffffffffffffff 593298bea7Sopenharmony_ci 603298bea7Sopenharmony_ciint GetTokenid(unsigned long long *token); 613298bea7Sopenharmony_ciint SetTokenid(unsigned long long *token); 623298bea7Sopenharmony_ciint GetfTokenid(unsigned long long *ftoken); 633298bea7Sopenharmony_ciint SetfTokenid(unsigned long long *ftoken); 643298bea7Sopenharmony_ci 653298bea7Sopenharmony_civoid SetUidAndGrp(); 663298bea7Sopenharmony_civoid SetUidAndGrpOther(); 673298bea7Sopenharmony_civoid GetCurToken(unsigned long long *token); 683298bea7Sopenharmony_civoid SetRandTokenAndCheck(const unsigned long long *dataToken); 693298bea7Sopenharmony_civoid TokenTest(unsigned long long *dataToken); 703298bea7Sopenharmony_civoid ThreadTest(unsigned long long *dataToken); 713298bea7Sopenharmony_ciint AccessTokenidThreadTest(uint8_t *dataToken); 723298bea7Sopenharmony_ciint AccessTokenidGrpTest(uint8_t *dataToken); 733298bea7Sopenharmony_ciint AccessTokenidGrpTestOther(uint8_t *dataToken); 743298bea7Sopenharmony_ci 753298bea7Sopenharmony_civoid GetCurfToken(unsigned long long *ftoken); 763298bea7Sopenharmony_civoid SetRandfTokenAndCheck(const unsigned long long *dataFtoken); 773298bea7Sopenharmony_civoid FTokenTest(unsigned long long *dataFtoken); 783298bea7Sopenharmony_civoid ThreadTest(unsigned long long *dataFtoken); 793298bea7Sopenharmony_ciint AccessfTokenidThreadTest(uint8_t *dataFtoken); 803298bea7Sopenharmony_ciint AccessfTokenidGrpTest(uint8_t *dataFtoken); 813298bea7Sopenharmony_ciint AccessfTokenidGrpTestOther(uint8_t *dataFtoken); 823298bea7Sopenharmony_cibool SetfTokenidCmdFuzzTest(const uint8_t *data, size_t size); 833298bea7Sopenharmony_cibool GetfTokenidCmdFuzzTest(const uint8_t *data, size_t size); 843298bea7Sopenharmony_cibool SetTokenidCmdFuzzTest(const uint8_t *data, size_t size); 853298bea7Sopenharmony_cibool GetTokenidCmdFuzzTest(const uint8_t *data, size_t size); 863298bea7Sopenharmony_ci} // namespace AccessToken 873298bea7Sopenharmony_ci} // namespace Kernel 883298bea7Sopenharmony_ci} // namespace OHOS 893298bea7Sopenharmony_ci 903298bea7Sopenharmony_ci#endif // ACCESSTOKENIDCOMMON_H 91