From 8ddce5762da4fb6008b45cedce7b38a82a178c73 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Tue, 27 Oct 2015 08:20:01 -0400 Subject: syscall testing --- src/tools/syscall_test | Bin 0 -> 8702 bytes src/tools/syscall_test.c | 70 +++++++++++++++++++++++++++++++++++++++++++++++ src/tools/syscall_test32 | Bin 0 -> 6566 bytes 3 files changed, 70 insertions(+) create mode 100755 src/tools/syscall_test create mode 100644 src/tools/syscall_test.c create mode 100755 src/tools/syscall_test32 (limited to 'src') diff --git a/src/tools/syscall_test b/src/tools/syscall_test new file mode 100755 index 000000000..21db21ae0 Binary files /dev/null and b/src/tools/syscall_test differ diff --git a/src/tools/syscall_test.c b/src/tools/syscall_test.c new file mode 100644 index 000000000..47c27978b --- /dev/null +++ b/src/tools/syscall_test.c @@ -0,0 +1,70 @@ +#include +#include +#include +#include +#include +#include +#include + +int main(int argc, char **argv) { + if (argc != 2) { + printf("Usage: test [sleep|socket|mkdir]\n"); + return 1; + } + + if (strcmp(argv[1], "sleep") == 0) { + printf("before sleep\n"); + sleep(1); + printf("after sleep\n"); + } + else if (strcmp(argv[1], "socket") == 0) { + int sock; + + printf("testing socket AF_INET\n"); + if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) { + perror("socket"); + } + else + close(sock); + + printf("testing socket AF_INET6\n"); + if ((sock = socket(AF_INET6, SOCK_STREAM, 0)) < 0) { + perror("socket"); + } + else + close(sock); + + printf("testing socket AF_NETLINK\n"); + if ((sock = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE)) < 0) { + perror("socket"); + } + else + close(sock); + + printf("testing socket AF_UNIX\n"); + if ((sock = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { + perror("socket"); + } + else + close(sock); + + // root needed to be able to handle this + printf("testing socket AF_PACKETX\n"); + if ((sock = socket(AF_PACKET, SOCK_DGRAM, htons(ETH_P_ARP))) < 0) { + perror("socket"); + } + else + close(sock); + printf("after socket\n"); + } + else if (strcmp(argv[1], "mkdir") == 0) { + printf("before mkdir\n"); + mkdir("tmp", 0777); + printf("after mkdir\n"); + } + else { + fprintf(stderr, "Error: invalid argument\n"); + return 1; + } + return 0; +} diff --git a/src/tools/syscall_test32 b/src/tools/syscall_test32 new file mode 100755 index 000000000..5d027f5dd Binary files /dev/null and b/src/tools/syscall_test32 differ -- cgit v1.2.3-54-g00ecf