summaryrefslogtreecommitdiffstats
path: root/fibmap_mplayer.c
diff options
context:
space:
mode:
Diffstat (limited to 'fibmap_mplayer.c')
-rw-r--r--fibmap_mplayer.c35
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;
+}