/**
 * @file log_ftm.h
 *
 * @brief This file contains logger enumeration values for the module file transfer module
 *
 */


/* Note: header guard format should not be changed */
#ifndef _LOG_FTM_H_
#define _LOG_FTM_H_


/* User has to update enum list */
#define FTM_FOREACH_LOG(FTM_LOG_NAME) 		\
        FTM_LOG_NAME(FTM_INIT)   			\
        FTM_LOG_NAME(FTSR_RECEIVER_READY)                           \
        FTM_LOG_NAME(FTSR_RECEIVER_API_NOT_FOUND)                           \
        FTM_LOG_NAME(FTSR_MISSING_PACKETS)                           \
        FTM_LOG_NAME(FTSR_UPLOAD_SUCCESS)                           \
        FTM_LOG_NAME(FTSR_CRC_ERROR)                           \
        FTM_LOG_NAME(FTSR_RECEIVER_SIDE_OTHER_CATEGORY_ERROR)                           \
        FTM_LOG_NAME(FTSR_HEAD_CHANGE)                           \
        FTM_LOG_NAME(FTSR_SUSPEND_RESUME_ACK_RECEIVED)                           \
        FTM_LOG_NAME(FTSR_SUSPEND_RECEIVE_NACK_RECEIVED)                           \
        FTM_LOG_NAME(FTSR_SUSPEND)                           \
        FTM_LOG_NAME(FTSR_SUSPEND_SAVECONTEXT)                           \
        FTM_LOG_NAME(FTSR_RESUME)                           \
        FTM_LOG_NAME(FTSR_RESUME_SAVECONTEXT)                           \
        FTM_LOG_NAME(FTSR_CANCELLED_BY_SUSPEND_TIMEOUT)                           \
        FTM_LOG_NAME(FTSR_TERMINATE_RXNODE)                           \
        FTM_LOG_NAME(FTSR_CLEAR_PING)                                 \
        FTM_LOG_NAME(FTFCI_CANCELLED_BY_TXNODE)                   \
        FTM_LOG_NAME(FTFCI_PING)                   \
        FTM_LOG_NAME(FTFCI_CANCELLED_BY_SUSP_TIMEOUT)                   \
        FTM_LOG_NAME(FTFCI_SUSPEND_RESUME_NOT_ACK_RECEIVED)                   \
        FTM_LOG_NAME(FTFCI_SUSPEND_RESUME_ACK_RECEIVED)                   \
        FTM_LOG_NAME(FTFCI_RESUME_SAVECONTEXT)                   \
        FTM_LOG_NAME(FTFCI_RESUME)                   \
        FTM_LOG_NAME(FTFCI_SUSPEND_SAVECONTEXT)                   \
        FTM_LOG_NAME(FTFCI_SUSPEND)                                 \
        FTM_LOG_NAME(FT_RECEIVE_NULL_ERROR)                        \
		FTM_LOG_NAME(FTM_SBAND_LINK_FAIL_AUTO_SAVECONTEXT_ACTIVATED)      \
		FTM_LOG_NAME(DOWNLOADING_BUFFER_CORRUPTED)                        \
		FTM_LOG_NAME(UPLOAD__RESUMW_STORE_CONTEXT_FAIL)                   \
		FTM_LOG_NAME(UPLOAD__RESUMW_STORE_CONTEXT_SUCCESS)                 \
		FTM_LOG_NAME(ERROR__CONTEXT_DATA_CHECKSUM_FAIL)                    \
		FTM_LOG_NAME(ERROR_cm__FTM_SERVICE_NOT_AVAILABLE)             \
		FTM_LOG_NAME(INPUT_BUFFER_ADDRESS_u8_)                             \
		FTM_LOG_NAME(INPUT_BULK_DATA_BUFFER_SIZE_u16_)                       \
		FTM_LOG_NAME(DOWNLOAD_ADDRESS_u8_)                              \
		FTM_LOG_NAME(FT_DEBUG_FT_RESET)                                  \
		FTM_LOG_NAME(FT_DEBUG_TERMINATE_FTM)                             \
		FTM_LOG_NAME(FT_DEBUG_TERMINAL_FTM)                               \
		FTM_LOG_NAME(FTDB_REQUEST_RECEIVED)                                 \
		FTM_LOG_NAME(XBAND_CONNECTION_FAIL_TERMINATE_TRANSMISSION)          \
		FTM_LOG_NAME(AUTO_SAVECONTEXT_ACTIVATED)                            \
		FTM_LOG_NAME(FTM_FTCT_RES_CTXT)                                      \
		FTM_LOG_NAME(FTCI_DATA_ERROR)                                         \
		FTM_LOG_NAME(FT_BUSY_RX_REJECTED)                                     \
		FTM_LOG_NAME(APP_NOTIFICATION_RETURN_FAIL)                           \
		FTM_LOG_NAME(FTM_RX_STORAGE_ALLOCATION_FAILED)                         \
		FTM_LOG_NAME(FT_DOWNLOAD_READY)                                        \
		FTM_LOG_NAME(FTCI_REQUEST_RECEIVED)                                 \
		FTM_LOG_NAME(FTDS_BSY)                                               \
		FTM_LOG_NAME(FTT_COMPLETION_PENDING_BY_SEQ_LOSS)                       \
		FTM_LOG_NAME(FTM_NO_SERVICE_cm_FTDS_DISCARD)                          \
		FTM_LOG_NAME(INTEGRITY_FAIL)                                           \
		FTM_LOG_NAME(FILE_INTEGRITY_SUCCESS)                                   \
		FTM_LOG_NAME(FTM_HIGH_LOSS)                                             \
		FTM_LOG_NAME(FNL_u32_)                                                 \
		FTM_LOG_NAME(SIZE_OF_THE_FILE_IS_u32_BYTES)                            \
		FTM_LOG_NAME(SIZE_OF_THE_MTU_IS_u16_BYTES)                             \
		FTM_LOG_NAME(FILE_TX_MODE_FTCI_PREPARING)                              \
		FTM_LOG_NAME(FTM_BULKDATA_TX_MODE)                                      \
		FTM_LOG_NAME(RE_TRANSMISSION)                                         \
		FTM_LOG_NAME(FTM_SEQ_u32_)                                          \
		FTM_LOG_NAME(HEAD_CHANGE_u32_DONE_)                                   \
		FTM_LOG_NAME(PING_REQUESTING)                                          \
		FTM_LOG_NAME(PREPARE_HEAD_CHANGE_TO__u32_)                                \
		FTM_LOG_NAME(FILE_UPLOADED_SUCCESSFULLY)                                 \
		FTM_LOG_NAME(FILE_UPLOADED_FAILED_CRC_ERROR_REPORTED)                  \
		FTM_LOG_NAME(APP_NOTIFY_DOWNLOAD_SUCCESS)                               \
		FTM_LOG_NAME(APP_NOTIFY_CRC_ERROR)                                      \
		FTM_LOG_NAME(APP_NOTIFY_TRANSFER_SUSPENDED)                              \
		FTM_LOG_NAME(APP_NOTIFY_TRANSFER_RESUMED)                                 \
		FTM_LOG_NAME(APP_NOTIFY_DOWNLOAD_READY)                                   \
		FTM_LOG_NAME(TOTAL_PACK_TO_BE_TRANSFERED_IS_u32_)                           \
        FTM_LOG_NAME(LOG_MISSING_SEQUENCE_ID_u32_)                                  \
        FTM_LOG_NAME(PREPARE_FTSR_LOSS_INFO__u16_)                                     \
        FTM_LOG_NAME(FTM_LOG_MAX)

        
#define FTM_GENERATE_ENUM(ENUM) ENUM,
#define FTM_GENERATE_STRING(STRING) #STRING,

typedef enum log_ftm_e_
{
	FTM_FOREACH_LOG(FTM_GENERATE_ENUM)
}log_ftm_e;


#endif /* _LOG_FTM_H_ */
