/***********************************************************
Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
The Netherlands.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its 
documentation for any purpose and without fee is hereby granted, 
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in 
supporting documentation, and that the names of Stichting Mathematisch
Centrum or CWI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior permission.

STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

******************************************************************/

/* Errno module */

#include "Python.h"

/*
 * Pull in the system error definitions
 */ 

#include <errno.h>

static PyMethodDef errno_methods[] = {
  {NULL,	NULL}
};

/*
 * Convenience routine to export an integer value.
 * For simplicity, errors (which are unlikely anyway) are ignored.
 */

static void
insint(d, name, value)
	PyObject * d;
	char * name;
	int value;
{
	PyObject *v = PyInt_FromLong((long) value);
	if (v == NULL) {
		/* Don't bother reporting this error */
		PyErr_Clear();
	}
	else {
		PyDict_SetItemString(d, name, v);
		Py_DECREF(v);
	}
}

void
initerrno()
{
	PyObject *m, *d;
	m = Py_InitModule("errno", errno_methods);
	d = PyModule_GetDict(m);

	/*
	 * The names and comments are borrowed from linux/include/errno.h,
	 * which should be pretty all-inclusive
	 */ 

#ifdef EPERM
	/* Operation not permitted */
	insint(d, "EPERM", EPERM);
#endif
#ifdef ENOENT
	/* No such file or directory */
	insint(d, "ENOENT", ENOENT);
#endif
#ifdef ESRCH
	/* No such process */
	insint(d, "ESRCH", ESRCH);
#endif
#ifdef EINTR
	/* Interrupted system call */
	insint(d, "EINTR", EINTR);
#endif
#ifdef EIO
	/* I/O error */
	insint(d, "EIO", EIO);
#endif
#ifdef ENXIO
	/* No such device or address */
	insint(d, "ENXIO", ENXIO);
#endif
#ifdef E2BIG
	/* Arg list too long */
	insint(d, "E2BIG", E2BIG);
#endif
#ifdef ENOEXEC
	/* Exec format error */
	insint(d, "ENOEXEC", ENOEXEC);
#endif
#ifdef EBADF
	/* Bad file number */
	insint(d, "EBADF", EBADF);
#endif
#ifdef ECHILD
	/* No child processes */
	insint(d, "ECHILD", ECHILD);
#endif
#ifdef EAGAIN
	/* Try again */
	insint(d, "EAGAIN", EAGAIN);
#endif
#ifdef ENOMEM
	/* Out of memory */
	insint(d, "ENOMEM", ENOMEM);
#endif
#ifdef EACCES
	/* Permission denied */
	insint(d, "EACCES", EACCES);
#endif
#ifdef EFAULT
	/* Bad address */
	insint(d, "EFAULT", EFAULT);
#endif
#ifdef ENOTBLK
	/* Block device required */
	insint(d, "ENOTBLK", ENOTBLK);
#endif
#ifdef EBUSY
	/* Device or resource busy */
	insint(d, "EBUSY", EBUSY);
#endif
#ifdef EEXIST
	/* File exists */
	insint(d, "EEXIST", EEXIST);
#endif
#ifdef EXDEV
	/* Cross-device link */
	insint(d, "EXDEV", EXDEV);
#endif
#ifdef ENODEV
	/* No such device */
	insint(d, "ENODEV", ENODEV);
#endif
#ifdef ENOTDIR
	/* Not a directory */
	insint(d, "ENOTDIR", ENOTDIR);
#endif
#ifdef EISDIR
	/* Is a directory */
	insint(d, "EISDIR", EISDIR);
#endif
#ifdef EINVAL
	/* Invalid argument */
	insint(d, "EINVAL", EINVAL);
#endif
#ifdef ENFILE
	/* File table overflow */
	insint(d, "ENFILE", ENFILE);
#endif
#ifdef EMFILE
	/* Too many open files */
	insint(d, "EMFILE", EMFILE);
#endif
#ifdef ENOTTY
	/* Not a typewriter */
	insint(d, "ENOTTY", ENOTTY);
#endif
#ifdef ETXTBSY
	/* Text file busy */
	insint(d, "ETXTBSY", ETXTBSY);
#endif
#ifdef EFBIG
	/* File too large */
	insint(d, "EFBIG", EFBIG);
#endif
#ifdef ENOSPC
	/* No space left on device */
	insint(d, "ENOSPC", ENOSPC);
#endif
#ifdef ESPIPE
	/* Illegal seek */
	insint(d, "ESPIPE", ESPIPE);
#endif
#ifdef EROFS
	/* Read-only file system */
	insint(d, "EROFS", EROFS);
#endif
#ifdef EMLINK
	/* Too many links */
	insint(d, "EMLINK", EMLINK);
#endif
#ifdef EPIPE
	/* Broken pipe */
	insint(d, "EPIPE", EPIPE);
#endif
#ifdef EDOM
	/* Math argument out of domain of func */
	insint(d, "EDOM", EDOM);
#endif
#ifdef ERANGE
	/* Math result not representable */
	insint(d, "ERANGE", ERANGE);
#endif
#ifdef EDEADLK
	/* Resource deadlock would occur */
	insint(d, "EDEADLK", EDEADLK);
#endif
#ifdef ENAMETOOLONG
	/* File name too long */
	insint(d, "ENAMETOOLONG", ENAMETOOLONG);
#endif
#ifdef ENOLCK
	/* No record locks available */
	insint(d, "ENOLCK", ENOLCK);
#endif
#ifdef ENOSYS
	/* Function not implemented */
	insint(d, "ENOSYS", ENOSYS);
#endif
#ifdef ENOTEMPTY
	/* Directory not empty */
	insint(d, "ENOTEMPTY", ENOTEMPTY);
#endif
#ifdef ELOOP
	/* Too many symbolic links encountered */
	insint(d, "ELOOP", ELOOP);
#endif
#ifdef EWOULDBLOCK
	/* Operation would block */
	insint(d, "EWOULDBLOCK", EWOULDBLOCK);
#endif
#ifdef ENOMSG
	/* No message of desired type */
	insint(d, "ENOMSG", ENOMSG);
#endif
#ifdef EIDRM
	/* Identifier removed */
	insint(d, "EIDRM", EIDRM);
#endif
#ifdef ECHRNG
	/* Channel number out of range */
	insint(d, "ECHRNG", ECHRNG);
#endif
#ifdef EL2NSYNC
	/* Level 2 not synchronized */
	insint(d, "EL2NSYNC", EL2NSYNC);
#endif
#ifdef EL3HLT
	/* Level 3 halted */
	insint(d, "EL3HLT", EL3HLT);
#endif
#ifdef EL3RST
	/* Level 3 reset */
	insint(d, "EL3RST", EL3RST);
#endif
#ifdef ELNRNG
	/* Link number out of range */
	insint(d, "ELNRNG", ELNRNG);
#endif
#ifdef EUNATCH
	/* Protocol driver not attached */
	insint(d, "EUNATCH", EUNATCH);
#endif
#ifdef ENOCSI
	/* No CSI structure available */
	insint(d, "ENOCSI", ENOCSI);
#endif
#ifdef EL2HLT
	/* Level 2 halted */
	insint(d, "EL2HLT", EL2HLT);
#endif
#ifdef EBADE
	/* Invalid exchange */
	insint(d, "EBADE", EBADE);
#endif
#ifdef EBADR
	/* Invalid request descriptor */
	insint(d, "EBADR", EBADR);
#endif
#ifdef EXFULL
	/* Exchange full */
	insint(d, "EXFULL", EXFULL);
#endif
#ifdef ENOANO
	/* No anode */
	insint(d, "ENOANO", ENOANO);
#endif
#ifdef EBADRQC
	/* Invalid request code */
	insint(d, "EBADRQC", EBADRQC);
#endif
#ifdef EBADSLT
	/* Invalid slot */
	insint(d, "EBADSLT", EBADSLT);
#endif
#ifdef EDEADLOCK
	/* File locking deadlock error */
	insint(d, "EDEADLOCK", EDEADLOCK);
#endif
#ifdef EBFONT
	/* Bad font file format */
	insint(d, "EBFONT", EBFONT);
#endif
#ifdef ENOSTR
	/* Device not a stream */
	insint(d, "ENOSTR", ENOSTR);
#endif
#ifdef ENODATA
	/* No data available */
	insint(d, "ENODATA", ENODATA);
#endif
#ifdef ETIME
	/* Timer expired */
	insint(d, "ETIME", ETIME);
#endif
#ifdef ENOSR
	/* Out of streams resources */
	insint(d, "ENOSR", ENOSR);
#endif
#ifdef ENONET
	/* Machine is not on the network */
	insint(d, "ENONET", ENONET);
#endif
#ifdef ENOPKG
	/* Package not installed */
	insint(d, "ENOPKG", ENOPKG);
#endif
#ifdef EREMOTE
	/* Object is remote */
	insint(d, "EREMOTE", EREMOTE);
#endif
#ifdef ENOLINK
	/* Link has been severed */
	insint(d, "ENOLINK", ENOLINK);
#endif
#ifdef EADV
	/* Advertise error */
	insint(d, "EADV", EADV);
#endif
#ifdef ESRMNT
	/* Srmount error */
	insint(d, "ESRMNT", ESRMNT);
#endif
#ifdef ECOMM
	/* Communication error on send */
	insint(d, "ECOMM", ECOMM);
#endif
#ifdef EPROTO
	/* Protocol error */
	insint(d, "EPROTO", EPROTO);
#endif
#ifdef EMULTIHOP
	/* Multihop attempted */
	insint(d, "EMULTIHOP", EMULTIHOP);
#endif
#ifdef EDOTDOT
	/* RFS specific error */
	insint(d, "EDOTDOT", EDOTDOT);
#endif
#ifdef EBADMSG
	/* Not a data message */
	insint(d, "EBADMSG", EBADMSG);
#endif
#ifdef EOVERFLOW
	/* Value too large for defined data type */
	insint(d, "EOVERFLOW", EOVERFLOW);
#endif
#ifdef ENOTUNIQ
	/* Name not unique on network */
	insint(d, "ENOTUNIQ", ENOTUNIQ);
#endif
#ifdef EBADFD
	/* File descriptor in bad state */
	insint(d, "EBADFD", EBADFD);
#endif
#ifdef EREMCHG
	/* Remote address changed */
	insint(d, "EREMCHG", EREMCHG);
#endif
#ifdef ELIBACC
	/* Can not access a needed shared library */
	insint(d, "ELIBACC", ELIBACC);
#endif
#ifdef ELIBBAD
	/* Accessing a corrupted shared library */
	insint(d, "ELIBBAD", ELIBBAD);
#endif
#ifdef ELIBSCN
	/* .lib section in a.out corrupted */
	insint(d, "ELIBSCN", ELIBSCN);
#endif
#ifdef ELIBMAX
	/* Attempting to link in too many shared libraries */
	insint(d, "ELIBMAX", ELIBMAX);
#endif
#ifdef ELIBEXEC
	/* Cannot exec a shared library directly */
	insint(d, "ELIBEXEC", ELIBEXEC);
#endif
#ifdef EILSEQ
	/* Illegal byte sequence */
	insint(d, "EILSEQ", EILSEQ);
#endif
#ifdef ERESTART
	/* Interrupted system call should be restarted */
	insint(d, "ERESTART", ERESTART);
#endif
#ifdef ESTRPIPE
	/* Streams pipe error */
	insint(d, "ESTRPIPE", ESTRPIPE);
#endif
#ifdef EUSERS
	/* Too many users */
	insint(d, "EUSERS", EUSERS);
#endif
#ifdef ENOTSOCK
	/* Socket operation on non-socket */
	insint(d, "ENOTSOCK", ENOTSOCK);
#endif
#ifdef EDESTADDRREQ
	/* Destination address required */
	insint(d, "EDESTADDRREQ", EDESTADDRREQ);
#endif
#ifdef EMSGSIZE
	/* Message too long */
	insint(d, "EMSGSIZE", EMSGSIZE);
#endif
#ifdef EPROTOTYPE
	/* Protocol wrong type for socket */
	insint(d, "EPROTOTYPE", EPROTOTYPE);
#endif
#ifdef ENOPROTOOPT
	/* Protocol not available */
	insint(d, "ENOPROTOOPT", ENOPROTOOPT);
#endif
#ifdef EPROTONOSUPPORT
	/* Protocol not supported */
	insint(d, "EPROTONOSUPPORT", EPROTONOSUPPORT);
#endif
#ifdef ESOCKTNOSUPPORT
	/* Socket type not supported */
	insint(d, "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT);
#endif
#ifdef EOPNOTSUPP
	/* Operation not supported on transport endpoint */
	insint(d, "EOPNOTSUPP", EOPNOTSUPP);
#endif
#ifdef EPFNOSUPPORT
	/* Protocol family not supported */
	insint(d, "EPFNOSUPPORT", EPFNOSUPPORT);
#endif
#ifdef EAFNOSUPPORT
	/* Address family not supported by protocol */
	insint(d, "EAFNOSUPPORT", EAFNOSUPPORT);
#endif
#ifdef EADDRINUSE
	/* Address already in use */
	insint(d, "EADDRINUSE", EADDRINUSE);
#endif
#ifdef EADDRNOTAVAIL
	/* Cannot assign requested address */
	insint(d, "EADDRNOTAVAIL", EADDRNOTAVAIL);
#endif
#ifdef ENETDOWN
	/* Network is down */
	insint(d, "ENETDOWN", ENETDOWN);
#endif
#ifdef ENETUNREACH
	/* Network is unreachable */
	insint(d, "ENETUNREACH", ENETUNREACH);
#endif
#ifdef ENETRESET
	/* Network dropped connection because of reset */
	insint(d, "ENETRESET", ENETRESET);
#endif
#ifdef ECONNABORTED
	/* Software caused connection abort */
	insint(d, "ECONNABORTED", ECONNABORTED);
#endif
#ifdef ECONNRESET
	/* Connection reset by peer */
	insint(d, "ECONNRESET", ECONNRESET);
#endif
#ifdef ENOBUFS
	/* No buffer space available */
	insint(d, "ENOBUFS", ENOBUFS);
#endif
#ifdef EISCONN
	/* Transport endpoint is already connected */
	insint(d, "EISCONN", EISCONN);
#endif
#ifdef ENOTCONN
	/* Transport endpoint is not connected */
	insint(d, "ENOTCONN", ENOTCONN);
#endif
#ifdef ESHUTDOWN
	/* Cannot send after transport endpoint shutdown */
	insint(d, "ESHUTDOWN", ESHUTDOWN);
#endif
#ifdef ETOOMANYREFS
	/* Too many references: cannot splice */
	insint(d, "ETOOMANYREFS", ETOOMANYREFS);
#endif
#ifdef ETIMEDOUT
	/* Connection timed out */
	insint(d, "ETIMEDOUT", ETIMEDOUT);
#endif
#ifdef ECONNREFUSED
	/* Connection refused */
	insint(d, "ECONNREFUSED", ECONNREFUSED);
#endif
#ifdef EHOSTDOWN
	/* Host is down */
	insint(d, "EHOSTDOWN", EHOSTDOWN);
#endif
#ifdef EHOSTUNREACH
	/* No route to host */
	insint(d, "EHOSTUNREACH", EHOSTUNREACH);
#endif
#ifdef EALREADY
	/* Operation already in progress */
	insint(d, "EALREADY", EALREADY);
#endif
#ifdef EINPROGRESS
	/* Operation now in progress */
	insint(d, "EINPROGRESS", EINPROGRESS);
#endif
#ifdef ESTALE
	/* Stale NFS file handle */
	insint(d, "ESTALE", ESTALE);
#endif
#ifdef EUCLEAN
	/* Structure needs cleaning */
	insint(d, "EUCLEAN", EUCLEAN);
#endif
#ifdef ENOTNAM
	/* Not a XENIX named type file */
	insint(d, "ENOTNAM", ENOTNAM);
#endif
#ifdef ENAVAIL
	/* No XENIX semaphores available */
	insint(d, "ENAVAIL", ENAVAIL);
#endif
#ifdef EISNAM
	/* Is a named type file */
	insint(d, "EISNAM", EISNAM);
#endif
#ifdef EREMOTEIO
	/* Remote I/O error */
	insint(d, "EREMOTEIO", EREMOTEIO);
#endif
#ifdef EDQUOT
	/* Quota exceeded */
	insint(d, "EDQUOT", EDQUOT);
#endif
}
