disk_ioctl

The disk_ioctl function cntrols device specified features and miscellaneous functions other than disk read/write.

DRESULT disk_ioctl (
  BYTE Drive,      /* Drive number */
  BYTE Command,    /* Control command code */
  void* Buffer     /* Parameter and data buffer */
);

Parameters

Drive
Specifies the drive number (0-9).
Command
Specifies the command code.
Buffer
Pointer to the parameter buffer depends on the command code. When it is not used, specify a NULL pointer.

Return Value

RES_OK (0)
The function succeeded.
RES_ERROR
Any error occured.
RES_PARERR
Invalid command code.
RES_NOTRDY
The disk drive has not been initialized.

Description

The FatFs module uses only device independent commands described below. Any device dependent function is not used.

CommandDescription
CTRL_SYNCMake sure that the disk drive has finished pending write process. When the disk I/O module has a write back cache, flush the dirty sector immediately. This command is not required in read-only configuration.
GET_SECTOR_SIZEReturns sector size of the drive into the WORD variable pointed by Buffer. This command is not required in single sector size configuration, _MAX_SS is 512.
GET_SECTOR_COUNTReturns total sectors on the drive into the DWORD variable pointed by Buffer. This command is used by only f_mkfs function to determine the volume size to be created.
GET_BLOCK_SIZEReturns erase block size of the flash memory in unit of sector into the DWORD variable pointed by Buffer. This command is used by only f_mkfs function and it attempts to align data area to the erase block boundary. The allowable value is 1 to 32768 in power of 2. Return 1 if the erase block size is unknown or disk devices.

Return