/*
 * Copyright (c) 2018, NVIDIA CORPORATION.  All rights reserved.
 *
 * NVIDIA CORPORATION and its licensors retain all intellectual property
 * and proprietary rights in and to this software, related documentation
 * and any modifications thereto.  Any use, reproduction, disclosure or
 * distribution of this software and related documentation without an express
 * license agreement from NVIDIA CORPORATION is strictly prohibited
 */

#ifndef INCLUDED_TEGRABL_ERROR_STRINGS_H
#define INCLUDED_TEGRABL_ERROR_STRINGS_H

#define TEGRABL_ERR_NOT_SUPPORTED_STRING	"{1} is not supported.\n"
#define TEGRABL_ERR_INVALID_STRING			"Invalid value {1}.\n"
#define TEGRABL_ERR_NO_MEMORY_STRING		"Failed to allocate memory of size {1} for {2}.\n"
#define TEGRABL_ERR_OVERFLOW_STRING			"Accessing {1} after boundary {2}\n"
#define TEGRABL_ERR_UNDERFLOW_STRING		"Accessing {1} before boundary {2}.\n"
#define TEGRABL_ERR_TIMEOUT_STRING			"Timeout while polling for {1}. Last value {2}.\n"
#define TEGRABL_ERR_TOO_LARGE_STRING		"{1} is too large than {2}.\n"
#define TEGRABL_ERR_TOO_SMALL_STRING		"{1} is too small than {2}.\n"
#define TEGRABL_ERR_BAD_ADDRESS_STRING		"Bad address {1}.\n"
#define TEGRABL_ERR_NAME_TOO_LONG_STRING	"{1} name longer than {2}.\n"
#define TEGRABL_ERR_OUT_OF_RANGE_STRING		"{1} is out of range {2}.\n"
#define TEGRABL_ERR_NO_ACCESS_STRING		"Access for {1} denied.\n"
#define TEGRABL_ERR_NOT_FOUND_STRING		"{1} not found in {2}.\n"
#define TEGRABL_ERR_BUSY_STRING				"{1} is busy.\n"
#define TEGRABL_ERR_HALT_STRING				"{1} is halted.\n"
#define TEGRABL_ERR_LOCK_FAILED_STRING		"Failed to lock {1}.\n"
#define TEGRABL_ERR_OPEN_FAILED_STRING		"Failed to open {1}.\n"
#define TEGRABL_ERR_INIT_FAILED_STRING		"Failed to initialize {1}.\n"
#define TEGRABL_ERR_RESET_FAILED_STRING		"Failed to reset {1}.\n"
#define TEGRABL_ERR_NOT_STARTED_STRING		"{1} has not started.\n"
#define TEGRABL_ERR_INVALID_STATE_STRING	"{1} is not in {2} state.\n"
#define TEGRABL_ERR_UNKNOWN_COMMAND_STRING	"Unknown command {1} received.\n"
#define TEGRABL_ERR_COMMAND_FAILED_STRING	"Failed to execute command {1}.\n"
#define TEGRABL_ERR_VERIFY_FAILED_STRING	"Failed to verify {1}.\n"
#define TEGRABL_ERR_READ_FAILED_STRING		"Could not read {1}.\n"
#define TEGRABL_ERR_WRITE_FAILED_STRING		"Could not write {1}.\n"
#define TEGRABL_ERR_ERASE_FAILED_STRING		"Could not erase {1}.\n"
#define TEGRABL_ERR_INVALID_CONFIG_STRING	"{1} has wrong value {2}.\n"
#define TEGRABL_ERR_INVALID_TOKEN_STRING	"Invalid token {1}.\n"
#define TEGRABL_ERR_INVALID_VERSION_STRING	"Invalid version {1}.\n"
#define TEGRABL_ERR_OUT_OF_SEQUENCE_STRING	"{1} went out of sequence. Expected {2} instead of {3}.\n"
#define TEGRABL_ERR_NOT_INITIALIZED_STRING	"{1} is not initialized.\n"
#define TEGRABL_ERR_ALREADY_EXISTS_STRING	"{1} already exist.\n"
#define TEGRABL_ERR_ADD_FAILED_STRING		"Failed to add {1} in {2}.\n"
#define TEGRABL_ERR_DEL_FAILED_STRING		"Failed to delete {1} from {2}.\n"
#define TEGRABL_ERR_SET_FAILED_STRING		"Failed to set {1} for {2}.\n"
#define TEGRABL_ERR_EXPAND_FAILED_STRING	"Failed to expand {1}.\n"
#define TEGRABL_ERR_NOT_CONNECTED_STRING	"{1} is not connected to {2}.\n"
#define TEGRABL_ERR_NO_RESOURCE_STRING		"Failed to allocate {1} for {2}.\n"
#define TEGRABL_ERR_EMPTY_STRING			"{1} is empty in {2}.\n"
#define TEGRABL_ERR_STOP_FAILED_STRING		"Failed to stop {1}.\n"
#define TEGRABL_ERR_BAD_PARAMETER_STRING	"Bad parameter {1}.\n"
#define TEGRABL_ERR_FATAL_STRING			"Fata error {1}.\n"
#define TEGRABL_ERR_NOT_PROGRAMMED_STRING	"{1} not programmed {2}.\n"
#define TEGRABL_ERR_UNKNOWN_STATUS_STRING	"Uknown status {1}.\n"
#define TEGRABL_ERR_CONDITION_STRING		"Condition {1} could not meet.\n"
#define TEGRABL_ERR_XFER_IN_PROGRESS_STRING	"{1} transfer is still in progress.\n"
#define TEGRABL_ERR_REGISTER_FAILED_STRING	"Failed to register {1} in {2}.\n"
#define TEGRABL_ERR_NOT_DETECTED_STRING		"Failed to detect {1}.\n"
#define TEGRABL_ERR_CLEAR_FAILED_STRING		"Failed to clear {1} for {2}.\n"
#define TEGRABL_ERR_SEND_FAILED_STRING		"Failed to send {1}.\n"
#define TEGRABL_ERR_XFER_FAILED_STRING		"Transaction {1} failed.\n"
#define TEGRABL_ERR_UPDATE_FAILED_STRING	"Failed to update {1}.\n"
#define TEGRABL_ERR_RECEIVE_FAILED_STRING	"Failed to receive {1}.\n"
#define TEGRABL_ERR_MISMATCH_STRING			"{1} does not match with expected {2}.\n"
#define TEGRABL_ERR_NACK_STRING				"Received NACK with error {1}.\n"
#define TEGRABL_ERR_FAILED_GENERIC_STRING	"Failed {1}.\n"
#define TEGRABL_ERR_GET_FAILED_STRING		"Failed to get {1} for {2} from {3}.\n"
#define TEGRABL_ERR_MAP_FAILED_STRING		"Failed to map memory region {1} - {2} for {3}.\n"
#define TEGRABL_ERR_COMPUTE_FAILED_STRING	"{1} computation failed for {2}.\n"
#define TEGRABL_ERR_PARSE_FAILED_STRING		"Failed to parse {1}.\n"
#define TEGRABL_ERR_CONFIG_FAILED_STRING	"Failed to configure {1}.\n"
#define TEGRABL_ERR_ENABLE_FAILED_STRING	"Failed to enable {1}.\n"
#define TEGRABL_ERR_DISABLE_FAILED_STRING	"Failed to disable {1}.\n"
#define TEGRABL_ERR_CALIBRATE_FAILED_STRING	"Failed to calibrate {1}.\n"
#define TEGRABL_ERR_INVALID_MODE_STRING		"{1} is not in {2} mode.\n"
#define TEGRABL_ERR_NOT_READY_STRING		"{1} is not ready.\n"
#define TEGRABL_ERR_CP_MV_FAILED_STRING		"Failed to copy/move {1} from {2} to {3}.\n"
#define TEGRABL_ERR_NOT_ALIGNED_STRING		"{1} is not aligned to {2}.\n"

#endif  /*  INCLUDED_TEGRABL_ERROR_STRINGS_H */
