DCMD_FSYS_DIRECT_IO

Выполнение прямых операций ввода-вывода с устройством

Прототип:

#include <sys/dcmd_blk.h>
#define DCMD_FSYS_DIRECT_IO __DIOT( _DCMD_FSYS, 15, struct fs_directio )

Аргументы:

filedes
Файловый дескриптор открытого устройства.
dcmd
DCMD_FSYS_DIRECT_IO.
dev_data_ptr
Указатель на struct fs_directio.
n_bytes
Размер структуры struct fs_directio, полученный с помсощью sizeof().
dev_info_ptr
NULL.

Описание:

Команда используется в сочетании с вызовом devctl(), а все перечисленные аргументы являются его типовыми параметрами. Команда позволяет выполнить прямую (непосредственную) операцию ввода-вывода с устройством, ассоциированным с filedes.

Исходящие данные:

Заполненная структура struct fs_directio.

Входящие данные:

Отсутствуют.

Примеры:

struct fs_directio dio;
/* Send a zero-byte read to see if direct I/O is available on the fd: */
memset( &dio, 0, sizeof( dio ) );
dio.flags = _IO_FLAG_RD;
if ( devctl( fd, DCMD_FSYS_DIRECT_IO, &dio, sizeof( dio ), 0 ) == EOK )
{
/* Direct I/O is supported. */
}

Тематические ссылки:

devctl(), struct fs_directio




Предыдущий раздел: перейти