13d8536b4Sopenharmony_ci/* 23d8536b4Sopenharmony_ci * Copyright (c) 2022 Huawei Device Co., Ltd. All rights reserved. 33d8536b4Sopenharmony_ci * 43d8536b4Sopenharmony_ci * Redistribution and use in source and binary forms, with or without modification, 53d8536b4Sopenharmony_ci * are permitted provided that the following conditions are met: 63d8536b4Sopenharmony_ci * 73d8536b4Sopenharmony_ci * 1. Redistributions of source code must retain the above copyright notice, this list of 83d8536b4Sopenharmony_ci * conditions and the following disclaimer. 93d8536b4Sopenharmony_ci * 103d8536b4Sopenharmony_ci * 2. Redistributions in binary form must reproduce the above copyright notice, this list 113d8536b4Sopenharmony_ci * of conditions and the following disclaimer in the documentation and/or other materials 123d8536b4Sopenharmony_ci * provided with the distribution. 133d8536b4Sopenharmony_ci * 143d8536b4Sopenharmony_ci * 3. Neither the name of the copyright holder nor the names of its contributors may be used 153d8536b4Sopenharmony_ci * to endorse or promote products derived from this software without specific prior written 163d8536b4Sopenharmony_ci * permission. 173d8536b4Sopenharmony_ci * 183d8536b4Sopenharmony_ci * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 193d8536b4Sopenharmony_ci * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, 203d8536b4Sopenharmony_ci * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 213d8536b4Sopenharmony_ci * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR 223d8536b4Sopenharmony_ci * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 233d8536b4Sopenharmony_ci * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 243d8536b4Sopenharmony_ci * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; 253d8536b4Sopenharmony_ci * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 263d8536b4Sopenharmony_ci * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR 273d8536b4Sopenharmony_ci * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF 283d8536b4Sopenharmony_ci * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 293d8536b4Sopenharmony_ci */ 303d8536b4Sopenharmony_ci 313d8536b4Sopenharmony_ci#ifndef _IT_POSIX_MUTEX_H 323d8536b4Sopenharmony_ci#define _IT_POSIX_MUTEX_H 333d8536b4Sopenharmony_ci 343d8536b4Sopenharmony_ci#include "osTest.h" 353d8536b4Sopenharmony_ci#include "pthread.h" 363d8536b4Sopenharmony_ci#include "errno.h" 373d8536b4Sopenharmony_ci#include "sched.h" 383d8536b4Sopenharmony_ci#include "semaphore.h" 393d8536b4Sopenharmony_ci#include "unistd.h" 403d8536b4Sopenharmony_ci 413d8536b4Sopenharmony_ci#define TEST_MUTEX_INIT {0} 423d8536b4Sopenharmony_ci 433d8536b4Sopenharmony_ci#define MUTEX_TEST_DEFAULT_PRIO LOSCFG_BASE_CORE_TSK_DEFAULT_PRIO 443d8536b4Sopenharmony_ci#define MUTEX_TEST_HIGH_PRIO (MUTEX_TEST_DEFAULT_PRIO - 6) 453d8536b4Sopenharmony_ci#define MUTEX_TEST_LOW_PRIO (MUTEX_TEST_DEFAULT_PRIO + 5) 463d8536b4Sopenharmony_ci 473d8536b4Sopenharmony_ciUINT32 PosixPthreadDestroy(pthread_attr_t *attr, pthread_t thread); 483d8536b4Sopenharmony_ciUINT32 PosixPthreadInit(pthread_attr_t *attr, int pri); 493d8536b4Sopenharmony_civoid TestExtraTaskDelay(UINT32 tick); 503d8536b4Sopenharmony_ci 513d8536b4Sopenharmony_ciVOID ItPosixMux001(void); 523d8536b4Sopenharmony_ciVOID ItPosixMux002(void); 533d8536b4Sopenharmony_ciVOID ItPosixMux003(void); 543d8536b4Sopenharmony_ciVOID ItPosixMux004(void); 553d8536b4Sopenharmony_ciVOID ItPosixMux005(void); 563d8536b4Sopenharmony_ciVOID ItPosixMux006(void); 573d8536b4Sopenharmony_ciVOID ItPosixMux007(void); 583d8536b4Sopenharmony_ciVOID ItPosixMux008(void); 593d8536b4Sopenharmony_ciVOID ItPosixMux009(void); 603d8536b4Sopenharmony_ciVOID ItPosixMux010(void); 613d8536b4Sopenharmony_ciVOID ItPosixMux011(void); 623d8536b4Sopenharmony_ciVOID ItPosixMux012(void); 633d8536b4Sopenharmony_ciVOID ItPosixMux013(void); 643d8536b4Sopenharmony_ciVOID ItPosixMux014(void); 653d8536b4Sopenharmony_ciVOID ItPosixMux015(void); 663d8536b4Sopenharmony_ciVOID ItPosixMux016(void); 673d8536b4Sopenharmony_ciVOID ItPosixMux017(void); 683d8536b4Sopenharmony_ciVOID ItPosixMux018(void); 693d8536b4Sopenharmony_ciVOID ItPosixMux019(void); 703d8536b4Sopenharmony_ciVOID ItPosixMux020(void); 713d8536b4Sopenharmony_ciVOID ItPosixMux021(void); 723d8536b4Sopenharmony_ciVOID ItPosixMux022(void); 733d8536b4Sopenharmony_ciVOID ItPosixMux023(void); 743d8536b4Sopenharmony_ciVOID ItPosixMux024(void); 753d8536b4Sopenharmony_ciVOID ItPosixMux025(void); 763d8536b4Sopenharmony_ciVOID ItPosixMux026(void); 773d8536b4Sopenharmony_ciVOID ItPosixMux027(void); 783d8536b4Sopenharmony_ciVOID ItPosixMux028(void); 793d8536b4Sopenharmony_ciVOID ItPosixMux029(void); 803d8536b4Sopenharmony_ciVOID ItPosixMux030(void); 813d8536b4Sopenharmony_ciVOID ItPosixMux031(void); 823d8536b4Sopenharmony_ciVOID ItPosixMux032(void); 833d8536b4Sopenharmony_ciVOID ItPosixMux033(void); 843d8536b4Sopenharmony_ciVOID ItPosixMux034(void); 853d8536b4Sopenharmony_ciVOID ItPosixMux035(void); 863d8536b4Sopenharmony_ciVOID ItPosixMux036(void); 873d8536b4Sopenharmony_ciVOID ItPosixMux037(void); 883d8536b4Sopenharmony_ciVOID ItPosixMux038(void); 893d8536b4Sopenharmony_ciVOID ItPosixMux039(void); 903d8536b4Sopenharmony_ciVOID ItPosixMux040(void); 913d8536b4Sopenharmony_ciVOID ItPosixMux041(void); 923d8536b4Sopenharmony_ciVOID ItPosixMux042(void); 933d8536b4Sopenharmony_ciVOID ItPosixMux043(void); 943d8536b4Sopenharmony_ciVOID ItPosixMux044(void); 953d8536b4Sopenharmony_ciVOID ItPosixMux045(void); 963d8536b4Sopenharmony_ciVOID ItPosixMux046(void); 973d8536b4Sopenharmony_ciVOID ItPosixMux047(void); 983d8536b4Sopenharmony_ciVOID ItPosixMux048(void); 993d8536b4Sopenharmony_ciVOID ItPosixMux049(void); 1003d8536b4Sopenharmony_ci 1013d8536b4Sopenharmony_ciVOID ItSuitePosixMutex(void); 1023d8536b4Sopenharmony_ci 1033d8536b4Sopenharmony_ci#endif 104