/* * Copyright 2020 Rockchip Electronics Co. LTD * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #ifndef INCLUDE_RT_MPI_RK_ERRNO_H_ #define INCLUDE_RT_MPI_RK_ERRNO_H_ #include #include "rk_type.h" #ifdef __cplusplus #if __cplusplus extern "C" { #endif #endif /* __cplusplus */ typedef enum rkERR_LEVEL_E { RK_ERR_LEVEL_DEBUG = 0, /* debug-level */ RK_ERR_LEVEL_INFO, /* informational */ RK_ERR_LEVEL_NOTICE, /* normal but significant condition */ RK_ERR_LEVEL_WARNING, /* warning conditions */ RK_ERR_LEVEL_ERROR, /* error conditions */ RK_ERR_LEVEL_CRIT, /* critical conditions */ RK_ERR_LEVEL_ALERT, /* action must be taken immediately */ RK_ERR_LEVEL_FATAL, /* just for compatibility with previous version */ RK_ERR_LEVEL_BUTT } ERR_LEVEL_E; #define RK_ERR_APPID (0x80000000L + 0x20000000L) /****************************************************************************** |----------------------------------------------------------------| | 1 | APP_ID | MOD_ID | ERR_LEVEL | ERR_ID | |----------------------------------------------------------------| |<--><--7bits----><----8bits---><--3bits---><------13bits------->| ******************************************************************************/ #define RK_DEF_ERR(module, level, errid) \ ((RK_S32)((RK_ERR_APPID) | ((module) << 16 ) | ((level) << 13) | (errid))) /* NOTE! the following defined all common error code, ** all module must reserved 0~63 for their common error code */ typedef enum rkEN_ERR_CODE_E { // invlalid device ID RK_ERR_INVALID_DEVID = 1, // invlalid channel ID RK_ERR_INVALID_CHNID = 2, /* * at lease one parameter is illagal * eg, an illegal enumeration value */ RK_ERR_ILLEGAL_PARAM = 3, // resource exists RK_ERR_EXIST = 4, // resource unexists RK_ERR_UNEXIST = 5, // using a NULL point RK_ERR_NULL_PTR = 6, /* * try to enable or initialize system, device * or channel, before configing attribute */ RK_ERR_NOT_CONFIG = 7, // operation or type is not supported by NOW RK_ERR_NOT_SUPPORT = 8, /* * operation is not permitted * eg, try to change static attribute */ RK_ERR_NOT_PERM = 9, // invlalid pipe ID RK_ERR_INVALID_PIPEID = 10, // invlalid stitch group ID RK_ERR_INVALID_STITCHGRPID = 11, // failure caused by malloc memory RK_ERR_NOMEM = 12, // failure caused by malloc buffer RK_ERR_NOBUF = 13, // no data in buffer RK_ERR_BUF_EMPTY = 14, // no buffer for new data RK_ERR_BUF_FULL = 15, /* * System is not ready,maybe not initialed or * loaded. Returning the error code when opening * a device file failed. */ RK_ERR_NOTREADY = 16, /* * bad address, * eg. used for copy_from_user & copy_to_user */ RK_ERR_BADADDR = 17, /* * resource is busy, * eg. destroy a venc chn without unregister it */ RK_ERR_BUSY = 18, // buffer size is smaller than the actual size required RK_ERR_SIZE_NOT_ENOUGH = 19, /* * maxium code, private error code of all modules * must be greater than it */ RK_ERR_BUTT = 63, }RK_ERR_CODE_E; #ifdef __cplusplus #if __cplusplus } #endif #endif /* __cplusplus */ #endif // INCLUDE_RT_MPI_RK_ERRNO_H_