1 /* 2 * Copyright (c) 2022-2022 Huawei Technologies Co., Ltd. All rights reserved. 3 * 4 * UniProton is licensed under Mulan PSL v2. 5 * You can use this software according to the terms and conditions of the Mulan PSL v2. 6 * You may obtain a copy of Mulan PSL v2 at: 7 * http://license.coscl.org.cn/MulanPSL2 8 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, 9 * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, 10 * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. 11 * See the Mulan PSL v2 for more details. 12 * Create: 2022-11-15 13 * Description: errno功能实现 14 */ 15 16 #include <errno.h> 17 #include "prt_task_external.h" 18 19 /* the specific errno get or set in interrupt service routine */ 20 static int g_isrErrno; 21 __errno(void)22int *__errno(void) 23 { 24 struct TagTskCb *runTask; 25 26 if (OS_INT_INACTIVE) { 27 runTask = RUNNING_TASK; 28 return &runTask->lastErr; 29 } else { 30 return &g_isrErrno; 31 } 32 } 33