/** @file mgscsi_api.h
 ****************************************************************
 *
 * @brief Header file of mgscsi_api.h
 *
 * Device Property Check Command処理に関係するデータ構造の定義。
 *
 ****************************************************************/
#ifndef MGSCSI_API_H
#define MGSCSI_API_H

/* register function to file_storage.c */
struct mgscsi_func_table {
    int (*Process_VendorSpecificCommand)(const u_int8_t *pCmd, void *pData, u_int32_t *pSenseData);
    int (*Process_InquiryCommand)(u_int8_t *pData, u_int32_t *pSize);
    int (*Process_ModeSenseCommand)(const u_int32_t PageCode, u_int8_t *pData, u_int32_t *pSize);
};

/*-----------------------------*
 * External Function Prototype *
 *-----------------------------*/
extern int register_mgscsi_func(struct mgscsi_func_table *g_mgscsi_regi_func);
extern int unregister_mgscsi_func(struct mgscsi_func_table *g_mgscsi_regi_func);

#endif /* MGSCSI_API_H */

