/**
 * Copyright (c) 2025 Huawei Technologies Co., Ltd.
 * This program is free software, you can redistribute it and/or modify it under the terms and conditions of
 * CANN Open Software License Agreement Version 2.0 (the "License").
 * Please refer to the License for details. You may not use this file except in compliance with the License.
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED,
 * INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
 * See LICENSE in the root of the software repository for the full text of the License.
 */

#ifndef INC_TSD_ERROR_CODE_H
#define INC_TSD_ERROR_CODE_H

#include "tsd/status.h"

namespace tsd {
    // device run mode
enum DeviceRunMode : uint32_t {
    DIE_MODE = 0U,
    CHIP_MODE,
};

enum ErroCode : uint32_t {
    TSD_INTERNAL_ERROR = 1U,
    TSD_MEMORY_EXHAUSTED,
    TSD_INTERGER_REVERSED,
    TSD_INSTANCE_NOT_INITIALED,
    TSD_INSTANCE_NOT_FOUND,
    TSD_HDC_CREATE_SESSION_FAILED,
    TSD_HDC_DESTROY_SESSION_FAILED,
    TSD_HDC_SESSION_DO_NOT_EXIST,
    TSD_HDC_SRV_CREATE_ERROR,
    TSD_HDC_SRV_DESTROY_ERROR,
    TSD_HDC_SRV_ACCEPT_ERROR,
    TSD_HDC_SEND_ERROR,
    TSD_HDC_SERVER_CLIENT_SOCKET_CLOSED,
    TSD_START_FAIL,
    TSD_CLEANPROC_KILL_PROCESS_FAILED,
    TSD_CLEANPROC_SECOND_GETPID_FAILED,
    TSD_CLEANPROC_FINAL_FAILED,
    TSD_INIT_STATE_FAILED,
    TSD_SEND_HEARTBEAT_FAILED,
    TSD_HDCSERVER_DO_NOT_EXIST,
    TSD_HDCSESSIONID_NOT_AVAILABLE,
    TSD_SET_HDCSESSION_REFERENCE_FAILED,
    TSD_HDC_RECV_MSG_ERROR,
    TSD_HDC_SEND_MSG_ERROR,
    TSD_HDC_CLIENT_INIT_ERROR,
    TSD_HDC_CLIENT_DO_NOT_EXIST,
    TSD_HDC_CLIENT_DESTROY_ERROR,
    TSD_BIND_CPUCORE_FAILED,
    TSD_HDC_CLIENT_CLOSED,
    TSD_HDC_SRV_CLOSED,
    TSD_CLT_OPEN_FAILED,
    TSD_CLT_CLOSE_FAILED,
    TSD_CLT_UPDATE_PROFILING_FAILED,
    TSD_DEVICEID_ERROR,
    TSD_SVM_INIT_FAILED,
    TSD_EZCOM_INIT_FAILED,
    TSD_HDC_SESSION_STATUS_GET_FAILED,
    TSD_SET_SECURITY_CTX_FAILED,
    TSD_UNIQUE_UDFID_NOT_AVAILABLE,
    TSD_PARAMETER_INVALID,
    TSD_AICPUPACKAGE_EXISTED,
    TSD_NO_VERSION_SO,
    TSD_UNIQUE_PROC_ID_NOT_AVAILABLE,
    TSD_CLT_CLOSEEX_FAILED,
    TSD_LOAD_DRIVER_EXTEND_FAILED_BY_BUSY,
    TSD_PROCESS_LAUNCH_COMMON_FAIL,
    TSD_PROCESS_LAUNCH_CONFIG_FAIL,
    TSD_PROCESS_LAUNCH_PM_FAIL,
    TSD_PROCESS_TERM_COMMON_FAIL,
    TSD_PROCESS_TERM_PM_FAIL,
    TSD_PROCESS_CHANGE_PM_FAIL,
    TSD_PROCESS_QUERY_PM_FAIL,
    TSD_TIMEOUT,
    TSD_DRIVER_ESCHED_FAIL,
    TSD_LOAD_COMMON_SINK_PKG_FAILED_BY_BUSY,
    TSD_CMS_NO_HEAD,
};
}
#endif  // INC_TSD_ERROR_CODE_H