NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | STANDARDS | HISTORY | EXAMPLES | SEE ALSO | COLOPHON |
|
|
FAT_IOCTL_GET_VOLUME_ID(2const) FAT_IOCTL_GET_VOLUME_ID(2const)
FAT_IOCTL_GET_VOLUME_ID - read the volume ID in a FAT filesystem
Standard C library (libc, -lc)
#include <linux/msdos_fs.h> /* Definition of FAT_* constants */ #include <sys/ioctl.h> int ioctl(int fd, FAT_IOCTL_GET_VOLUME_ID, uint32_t *id);
FAT filesystems are identified by a volume ID. The volume ID can be read with FAT_IOCTL_GET_VOLUME_ID. The fd argument can be a file descriptor for any file or directory of the filesystem. It is sufficient to create the file descriptor by calling open(2) with the O_RDONLY flag. The id argument is a pointer to the field that will be filled with the volume ID. Typically the volume ID is displayed to the user as a group of two 16-bit fields: printf("Volume ID %04x-%04x\n", id >> 16, id & 0xFFFF);
On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.
Linux.
Linux 3.11.
The following program demonstrates the use of ioctl(2) to display the volume ID of a FAT filesystem. The following output was recorded when applying the program for directory /mnt/user: $ ./display_fat_volume_id /mnt/user Volume ID 6443-6241 Program source (display_fat_volume_id.c) #include <fcntl.h> #include <linux/msdos_fs.h> #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <sys/ioctl.h> #include <unistd.h> int main(int argc, char *argv[]) { int fd; int ret; uint32_t id; if (argc != 2) { printf("Usage: %s FILENAME\n", argv[0]); exit(EXIT_FAILURE); } fd = open(argv[1], O_RDONLY); if (fd == -1) { perror("open"); exit(EXIT_FAILURE); } /* * Read volume ID. */ ret = ioctl(fd, FAT_IOCTL_GET_VOLUME_ID, &id); if (ret == -1) { perror("ioctl"); exit(EXIT_FAILURE); } /* * Format the output as two groups of 16 bits each. */ printf("Volume ID %04x-%04x\n", id >> 16, id & 0xFFFF); close(fd); exit(EXIT_SUCCESS); }
ioctl(2), ioctl_fat(2)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.9.1.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2024-06-26. If you discover any rendering problems in this HTML
version of the page, or you believe there is a better or more up-
to-date source for the page, or you have corrections or
improvements to the information in this COLOPHON (which is not
part of the original manual page), send a mail to
man-pages@man7.org
Linux man-pages 6.9.1 2024-06-15FAT_IOCTL_GET_VOLUME_ID(2const)
Pages that refer to this page: ioctl_fat(2)