1 #include <stdio.h>
2 
3 #include <fspred.h>
4 #include <stdlib.h>
5 #include <string.h>
6 #include <sys/stat.h>
7 #include <unistd.h>
8 
9 #define TDIR	"/bin"
10 #define TEXE	"/bin/ls"
11 #define TREG	"/boot/kernel/kernel"
12 #define TDEV	"/dev/zero"
13 #define TPIPE	"/tmp/myfifo123"
14 #define TMOUNTP	"/dev/"
15 #define TDEVM	"devfs"
16 
17 int
18 main(void)
19 {
20 	if (!is_dir(TDIR)) {
21 		printf("is_dir(%s) failed\n", TDIR);
22 		return EXIT_FAILURE;
23 	}
24 
25 	if (is_dir(TEXE)) {
26 		printf("is_dir(%s) failed\n", TEXE);
27 		return EXIT_FAILURE;
28 	}
29 
30 	if (!is_program(TEXE)) {
31 		printf("is_program(%s) failed\n", TEXE);
32 		return EXIT_FAILURE;
33 	}
34 
35 	if (is_program(TDIR)) {
36 		printf("is_program(%s) failed\n", TDIR);
37 		return EXIT_FAILURE;
38 	}
39 
40 	if (!is_device(TDEV)) {
41 		printf("is_device(%s) failed\n", TDEV);
42 		return EXIT_FAILURE;
43 		}
44 
45 	if (is_device(TDIR)) {
46 		printf("is_device(%s) failed\n", TDIR);
47 		return EXIT_FAILURE;
48 	}
49 
50 	unlink(TPIPE);
51 	if (mkfifo(TPIPE, 0600) == -1) {
52 		perror("mkfifo");
53 		return EXIT_FAILURE;
54 	}
55 
56 	if (!is_named_pipe(TPIPE)) {
57 		printf("is_named_pipe(%s) failed\n", TPIPE);
58 		return EXIT_FAILURE;
59 	}
60 
61 	if (is_named_pipe(TEXE)) {
62 		printf("is_named_pipe(%s) failed\n", TEXE);
63 		return EXIT_FAILURE;
64 	}
65 
66 	if (is_mountpoint_mounted(TMOUNTP)) {
67 		printf("is_mountpoint_mounted(%s) failed\n", TMOUNTP);
68 		return EXIT_FAILURE;
69 	}
70 
71 	if (!is_device_mounted(TDEVM)) {
72 		printf("is_device_mounted(%s) failed\n", TDEVM);
73 		return EXIT_FAILURE;
74 	}
75 
76 	/* XXX Any reasonable way of testing is_any_slice_mounted? */
77 
78 	return EXIT_SUCCESS;
79 }
80