From 77042ddb052bbad8de75ffe7e46d5ec5b40c8c06 Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 07:34:32 +0200 Subject: convert linux errno to mach in libmachdev. --- libmachdev/misc.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 libmachdev/misc.c (limited to 'libmachdev/misc.c') diff --git a/libmachdev/misc.c b/libmachdev/misc.c new file mode 100644 index 00000000..d5df3663 --- /dev/null +++ b/libmachdev/misc.c @@ -0,0 +1,49 @@ +#include + +#include + +#include "linux-errno.h" + +int +linux_to_mach_error (int err); +{ + switch (err) + { + case 0: + return D_SUCCESS; + + case -EPERM: + return D_INVALID_OPERATION; + + case -EIO: + return D_IO_ERROR; + + case -ENXIO: + return D_NO_SUCH_DEVICE; + + case -EACCES: + return D_INVALID_OPERATION; + + case -EFAULT: + return D_INVALID_SIZE; + + case -EBUSY: + return D_ALREADY_OPEN; + + case -EINVAL: + return D_INVALID_SIZE; + + case -EROFS: + return D_READ_ONLY; + + case -EWOULDBLOCK: + return D_WOULD_BLOCK; + + case -ENOMEM: + return D_NO_MEMORY; + + default: + ddekit_printf ("linux_to_mach_error: unknown code %d\n", err); + return D_IO_ERROR; + } +} -- cgit v1.2.3 From 754b9e2aa7a675fae18dfc1afa629ac65c48d11c Mon Sep 17 00:00:00 2001 From: Zheng Da Date: Fri, 4 Jun 2010 14:13:29 +0200 Subject: fix compilation errors in the last commit. --- libmachdev/misc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'libmachdev/misc.c') diff --git a/libmachdev/misc.c b/libmachdev/misc.c index d5df3663..977159bd 100644 --- a/libmachdev/misc.c +++ b/libmachdev/misc.c @@ -1,11 +1,12 @@ #include +#include #include #include "linux-errno.h" int -linux_to_mach_error (int err); +linux_to_mach_error (int err) { switch (err) { -- cgit v1.2.3