DCMD_FSYS_LABEL

Считывание метки файловой системы

Прототип:

#include <sys/dcmd_blk.h>
#define DCMD_FSYS_LABEL __DIOF( _DCMD_FSYS, 22, char[256] )

Аргументы:

filedes
Файловый дескриптор открытого устройства.
dcmd
DCMD_FSYS_LABEL.
dev_data_ptr
Указатель на char[256].
n_bytes
Размер буфера.
dev_info_ptr
NULL.

Описание:

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

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

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

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

Метка файловой системы.

Примеры:

#include <stdio.h>
#include <stdlib.h>
#include <devctl.h>
#include <sys/dcmd_blk.h>
#include <errno.h>
#include <string.h>
#include <fcntl.h>
int main( void )
{
int fd;
int ret;
char vol_label[256];
fd = open( "/dev/hd0t179", O_RDONLY );
if ( fd == -1 )
{
perror( "open()" );
return (EXIT_FAILURE);
}
memset( vol_label, 0, sizeof( vol_label ) );
ret = devctl( fd, DCMD_FSYS_LABEL, vol_label, sizeof( vol_label ), NULL );
if ( ret == EOK )
{
printf( "Label: %s\n", vol_label );
} else {
printf( "DCMD_FSYS_LABEL failed: %s\n", strerror( ret ) );
return (EXIT_FAILURE);
}
return (EXIT_SUCCESS);
}

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

devctl()




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