diff options
Diffstat (limited to 'fibmap_mplayer.c')
-rw-r--r-- | fibmap_mplayer.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/fibmap_mplayer.c b/fibmap_mplayer.c new file mode 100644 index 0000000000..895f3f9a22 --- /dev/null +++ b/fibmap_mplayer.c @@ -0,0 +1,35 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <fcntl.h> +#include <errno.h> +#include <sys/types.h> +#include <sys/ioctl.h> +#include <sys/stat.h> + +#ifndef FIBMAP +#define FIBMAP 1 +#endif + +int main ( int argc , char ** argv ) +{ + int fd,lba=0; + if (argc!=2) { + printf("Bad usage.\n"); + return 1; + } + if ((fd = open(argv[1], O_RDONLY)) == -1) { + printf("Cannot open file %s: %s\n", + argv[1] ? argv[1] : "(NULL)", strerror(errno)); + return 1; + } + if (ioctl(fd, FIBMAP, &lba) != 0) { + printf("fibmap ioctl: %s (Hint: %s is not suid root?)\n",strerror(errno),argv[0]); + close(fd); + return 1; + } + close(fd); + printf("%d\n",lba); + return 0; +} |