Index: abi/include/abi/errno.h
===================================================================
--- abi/include/abi/errno.h	(revision addbce4946ce4647e53ac14408f57df54b233359)
+++ abi/include/abi/errno.h	(revision d0c2bebfdc87b9df8cb7c858eed6cead8e2db0b3)
@@ -1,110 +1,38 @@
-/*
- * Copyright (c) 2005 Martin Decky
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- *   notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- *   notice, this list of conditions and the following disclaimer in the
- *   documentation and/or other materials provided with the distribution.
- * - The name of the author may not be used to endorse or promote products
- *   derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/** @addtogroup generic
- * @{
- */
-/** @file
- */
-
-#ifndef ABI_ERRNO_H_
-#define ABI_ERRNO_H_
-
-/**
- * Values in the range [-1, -255] are kernel error codes,
- * values in the range [-256, -512] are user error codes.
- */
-
-typedef enum {
-	EOK           =  0,   /* No error */
-	ENOENT        = -1,   /* No such entry */
-	ENOMEM        = -2,   /* Not enough memory */
-	ELIMIT        = -3,   /* Limit exceeded */
-	EREFUSED      = -4,   /* Connection refused */
-	EFORWARD      = -5,   /* Forward error */
-	EPERM         = -6,   /* Permission denied */
-
-/*
- * Answerbox closed connection, call
- * sys_ipc_hangup() to close the connection.
- * Used by answerbox to close the connection.
- */
-	EHANGUP       = -7,
-
-/*
- * The other party encountered an error when
- * receiving the call.
- */
-	EPARTY        = -8,
-
-	EEXIST        = -9,   /* Entry already exists */
-	EBADMEM       = -10,  /* Bad memory pointer */
-	ENOTSUP       = -11,  /* Not supported */
-	EADDRNOTAVAIL = -12,  /* Address not available. */
-	ETIMEOUT      = -13,  /* Timeout expired */
-	EINVAL        = -14,  /* Invalid value */
-	EBUSY         = -15,  /* Resource is busy */
-	EOVERFLOW     = -16,  /* The result does not fit its size. */
-	EINTR         = -17,  /* Operation was interrupted. */
-
-	EMFILE        = -18,
-	ENAMETOOLONG  = -256,
-	EISDIR        = -257,
-	ENOTDIR       = -258,
-	ENOSPC        = -259,
-	ENOTEMPTY     = -261,
-	EBADF         = -262,
-	EDOM          = -263,
-	ERANGE        = -264,
-	EXDEV         = -265,
-	EIO           = -266,
-	EMLINK        = -267,
-	ENXIO         = -268,
-	ENOFS         = -269,
-
-/** Bad checksum. */
-	EBADCHECKSUM  = -300,
-
-/** USB: stalled operation. */
-	ESTALL        = -301,
-
-/** Empty resource (no data). */
-	EEMPTY        = -302,
-
-/** Negative acknowledgment. */
-	ENAK          = -303,
-
-/** The requested operation was not performed. Try again later. */
-	EAGAIN        = -11002,
-} errno_t;
-
-
-#endif
-
-/** @}
- */
+/* Generated file. Edit errno.in instead. */
+#define EOK                   0
+#define ENOENT               -1
+#define ENOMEM               -2
+#define ELIMIT               -3
+#define EREFUSED             -4
+#define EFORWARD             -5
+#define EPERM                -6
+#define EHANGUP              -7
+#define EPARTY               -8
+#define EEXIST               -9
+#define EBADMEM             -10
+#define ENOTSUP             -11
+#define EADDRNOTAVAIL       -12
+#define ETIMEOUT            -13
+#define EINVAL              -14
+#define EBUSY               -15
+#define EOVERFLOW           -16
+#define EINTR               -17
+#define EMFILE              -18
+#define ENAMETOOLONG       -256
+#define EISDIR             -257
+#define ENOTDIR            -258
+#define ENOSPC             -259
+#define ENOTEMPTY          -261
+#define EBADF              -262
+#define EDOM               -263
+#define ERANGE             -264
+#define EXDEV              -265
+#define EIO                -266
+#define EMLINK             -267
+#define ENXIO              -268
+#define ENOFS              -269
+#define EBADCHECKSUM       -300
+#define ESTALL             -301
+#define EEMPTY             -302
+#define ENAK               -303
+#define EAGAIN           -11002
Index: abi/include/abi/errno.in
===================================================================
--- abi/include/abi/errno.in	(revision d0c2bebfdc87b9df8cb7c858eed6cead8e2db0b3)
+++ abi/include/abi/errno.in	(revision d0c2bebfdc87b9df8cb7c858eed6cead8e2db0b3)
@@ -0,0 +1,37 @@
+__errno_entry(EOK            ,      0, "No error")
+__errno_entry(ENOENT         ,     -1, "No such entry")
+__errno_entry(ENOMEM         ,     -2, "Not enough memory")
+__errno_entry(ELIMIT         ,     -3, "Limit exceeded")
+__errno_entry(EREFUSED       ,     -4, "Connection refused")
+__errno_entry(EFORWARD       ,     -5, "Forwarding error")
+__errno_entry(EPERM          ,     -6, "Permission denied")
+__errno_entry(EHANGUP        ,     -7, "Answerbox closed connection")
+__errno_entry(EPARTY         ,     -8, "Other party encountered an error")
+__errno_entry(EEXIST         ,     -9, "Entry already exists")
+__errno_entry(EBADMEM        ,    -10, "Bad memory pointer")
+__errno_entry(ENOTSUP        ,    -11, "Operation not supported")
+__errno_entry(EADDRNOTAVAIL  ,    -12, "Address not available")
+__errno_entry(ETIMEOUT       ,    -13, "Timeout expired")
+__errno_entry(EINVAL         ,    -14, "Invalid value")
+__errno_entry(EBUSY          ,    -15, "Resource is busy")
+__errno_entry(EOVERFLOW      ,    -16, "Result does not fit its size")
+__errno_entry(EINTR          ,    -17, "Operation interrupted")
+__errno_entry(EMFILE         ,    -18, "Too many open files")
+__errno_entry(ENAMETOOLONG   ,   -256, "Name is too long")
+__errno_entry(EISDIR         ,   -257, "Entry is a directory")
+__errno_entry(ENOTDIR        ,   -258, "Entry is not a directory")
+__errno_entry(ENOSPC         ,   -259, "No space left")
+__errno_entry(ENOTEMPTY      ,   -261, "Directory is not empty")
+__errno_entry(EBADF          ,   -262, "Bad object handle")
+__errno_entry(EDOM           ,   -263, "Domain error")
+__errno_entry(ERANGE         ,   -264, "Value out of range")
+__errno_entry(EXDEV          ,   -265, "Prohibited cross-device link")
+__errno_entry(EIO            ,   -266, "Input/output error")
+__errno_entry(EMLINK         ,   -267, "Too many links")
+__errno_entry(ENXIO          ,   -268, "Device or address does not exist")
+__errno_entry(ENOFS          ,   -269, "No such file system type")
+__errno_entry(EBADCHECKSUM   ,   -300, "Bad checksum")
+__errno_entry(ESTALL         ,   -301, "USB: Operation stalled")
+__errno_entry(EEMPTY         ,   -302, "Resource is empty")
+__errno_entry(ENAK           ,   -303, "Negative acknowledgement")
+__errno_entry(EAGAIN         , -11002, "Operation could not proceed. Try again.")
