123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139 |
- #ifndef NRF_BLOCK_DEV_SDC_H__
- #define NRF_BLOCK_DEV_SDC_H__
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "nrf_block_dev.h"
- #include "app_sdcard.h"
- extern const nrf_block_dev_ops_t nrf_block_device_sdc_ops;
- typedef struct {
- nrf_block_dev_geometry_t geometry;
- nrf_block_dev_ev_handler ev_handler;
- nrf_block_req_t req;
- void const * p_context;
- } nrf_block_dev_sdc_work_t;
- #define NRF_BLOCK_DEV_SDC_CONFIG(blk_size, sdc_lib_config) \
- { \
- .block_size = (blk_size), \
- .sdc_config = sdc_lib_config \
- }
- typedef struct {
- uint32_t block_size;
- app_sdc_config_t sdc_config;
- } nrf_block_dev_sdc_config_t;
- typedef struct {
- nrf_block_dev_t block_dev;
- nrf_block_dev_info_strings_t info_strings;
- nrf_block_dev_sdc_config_t sdc_bdev_config;
- nrf_block_dev_sdc_work_t * p_work;
- } nrf_block_dev_sdc_t;
- #define NRF_BLOCK_DEV_SDC_DEFINE(name, config, info) \
- static nrf_block_dev_sdc_work_t CONCAT_2(name, _work); \
- static const nrf_block_dev_sdc_t name = { \
- .block_dev = { .p_ops = &nrf_block_device_sdc_ops }, \
- .info_strings = BRACKET_EXTRACT(info), \
- .sdc_bdev_config = config, \
- .p_work = &CONCAT_2(name, _work), \
- }
- static inline nrf_block_dev_t const *
- nrf_block_dev_sdc_ops_get(nrf_block_dev_sdc_t const * p_blk_sdc)
- {
- return &p_blk_sdc->block_dev;
- }
- #ifdef __cplusplus
- }
- #endif
- #endif
|