btrfs: Attempt to fix GCC2 build.
[haiku.git] / src / bin / rescan.c
blob962a3f13ead962216bf99ce34da3d2b554c56fb2
1 /*
2 * Copyright 2002, François Revol, revol@free.fr.
3 * Distributed under the terms of the MIT License.
4 */
6 #include <fcntl.h>
7 #include <stdio.h>
8 #include <string.h>
9 #include <unistd.h>
11 // 2002, François Revol
12 // technical reference:
13 // http://bedriven.be-in.org/document/280-serial_port_driver.html
14 // 2004: bedriven is down now, mirror at:
15 // http://web.archive.org/web/20040220055400/http://bedriven.be-in.org/document/280-serial_port_driver.html
17 int main(int argc, char **argv)
19 char *default_scan[] = { "scsi_dsk", "scsi_cd", "ata", "atapi" }; // not really sure here...
20 char *default_scan_names[] = { "scsi disks", "scsi cdroms", "ide ata", "ide atapi" };
21 char **scan = default_scan;
22 char **scan_names = default_scan_names;
23 int scan_count = 4;
24 int scan_index = 0;
25 int fd_dev;
27 if (argc == 2 && !strcmp(argv[1], "--help")) {
28 printf("usage: rescan [driver]\n");
29 return 0;
31 if (argc > 1) {
32 scan = scan_names = argv;
33 scan_count = argc;
34 scan_index++; // not argv[0]
36 for (; scan_index < scan_count; scan_index++) {
37 printf("scanning %s...\n", scan_names[scan_index]);
38 fd_dev = open("/dev", O_WRONLY);
39 write(fd_dev, scan[scan_index], strlen(scan[scan_index]));
40 close(fd_dev);
42 return 0;