Device Functions

Most device access functions can return any of the following device errors:

FS_ERR_DEV_INVALID_LOW_FMT

Device needs to be low-level formatted.

FS_ERR_DEV

Device access error.

FS_ERR_DEV_IO

Device I/O error.

FS_ERR_DEV_NOT_OPEN

Device is not open.

FS_ERR_DEV_NOT_PRESENT

Device is not present.

FS_ERR_DEV_TIMEOUT

Device timeout error.

Each of these indicates that the state of the device is not suitable for the intended operation.

void
FSDev_AccessLock       (CPU_CHAR            *name_dev,
                        CPU_INT32U           timeout,
                        FS_ERR              *p_err); 
void
FSDev_AccessUnlock     (CPU_CHAR            *name_dev,
                        FS_ERR              *p_err);
void
FSDev_Close            (CPU_CHAR            *name_dev,
                        FS_ERR              *p_err);
FS_PARTITION_NBR
FSDev_GetNbrPartitions (CPU_CHAR            *name_dev,
                        FS_ERR              *p_err);
void  
FSDev_GetDevName       (FS_QTY               dev_nbr,
                        CPU_CHAR            *name_dev);
FS_QTY  
FSDev_GetDevCnt        (void);
FS_QTY  
FSDev_GetDevCntMax     (void);
void  
FSDev_Invalidate       (CPU_CHAR            *name_dev,
                        FS_ERR              *p_err);
void
FSDev_Open             (CPU_CHAR            *name_dev,
                        void                *p_dev_cfg,
                        FS_ERR              *p_err);
FS_PARTITION_NBR  
FSDev_PartitionAdd     (CPU_CHAR            *name_dev,
                        FS_SEC_QTY           partition_size,
                        FS_ERR              *p_err);
void  
FSDev_PartitionFind    (CPU_CHAR            *name_dev,
                        FS_PARTITION_NBR     partition_nbr,
                        FS_PARTITION_ENTRY   *p_partition_entry,
                        FS_ERR              *p_err);
void  
FSDev_PartitionInit    (CPU_CHAR            *name_dev,
                        FS_SEC_QTY           partition_size,
                        FS_ERR              *p_err);
void  
FSDev_Query            (CPU_CHAR            *name_dev,
                        FS_DEV_INFO         *p_info,
                        FS_ERR              *p_err);
void  
FSDev_Rd               (CPU_CHAR            *name_dev,
                        void                *p_dest,
                        FS_SEC_NBR           start,
                        FS_SEC_QTY           cnt,
                        FS_ERR              *p_err);
CPU_BOOLEAN  
FSDev_Refresh          (CPU_CHAR            *name_dev,
                        FS_ERR              *p_err);
void  
FSDev_Wr               (CPU_CHAR            *name_dev,
                        void                *p_src,
                        FS_SEC_NBR           start,
                        FS_SEC_QTY           cnt,
                        FS_ERR              *p_err);