summaryrefslogtreecommitdiffstats
path: root/testsuite/systemtap.syscall/access.c
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/systemtap.syscall/access.c')
-rw-r--r--testsuite/systemtap.syscall/access.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/testsuite/systemtap.syscall/access.c b/testsuite/systemtap.syscall/access.c
new file mode 100644
index 00000000..065206b7
--- /dev/null
+++ b/testsuite/systemtap.syscall/access.c
@@ -0,0 +1,34 @@
+/* COVERAGE: access */
+#include <stdio.h>
+#include <unistd.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+
+
+int main()
+{
+ int fd1;
+
+ fd1 = creat("foobar1",S_IREAD|S_IWRITE);
+
+ access("foobar1", F_OK);
+ // access ("foobar1", F_OK) = 0
+
+ access("foobar1", R_OK);
+ // access ("foobar1", R_OK) = 0
+
+ access("foobar1", W_OK);
+ // access ("foobar1", W_OK) = 0
+
+ access("foobar1", X_OK);
+ // access ("foobar1", X_OK) = -NNNN (EACCES)
+
+ access("foobar1", R_OK|W_OK);
+ // access ("foobar1", W_OK |R_OK) = 0
+
+ access("foobar1", R_OK|W_OK|X_OK);
+ // access ("foobar1", X_OK |W_OK |R_OK) = -NNNN (EACCES)
+
+ return 0;
+}