0,0 → 1,190 |
/* |
* Project: S.Ha.R.K. |
* |
* Coordinators: |
* Giorgio Buttazzo <giorgio@sssup.it> |
* Paolo Gai <pj@gandalf.sssup.it> |
* |
* Authors : |
* Paolo Gai <pj@gandalf.sssup.it> |
* Massimiliano Giorgi <massy@gandalf.sssup.it> |
* Luca Abeni <luca@gandalf.sssup.it> |
* (see the web pages for full authors list) |
* |
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy) |
* |
* http://www.sssup.it |
* http://retis.sssup.it |
* http://shark.sssup.it |
*/ |
|
/** |
------------ |
CVS : $Id: strerror.c,v 1.1.1.1 2002-03-29 14:12:53 pj Exp $ |
|
File: $File$ |
Revision: $Revision: 1.1.1.1 $ |
Last update: $Date: 2002-03-29 14:12:53 $ |
------------ |
**/ |
|
/* |
* Copyright (C) 2000 Paolo Gai |
* |
* This program is free software; you can redistribute it and/or modify |
* it under the terms of the GNU General Public License as published by |
* the Free Software Foundation; either version 2 of the License, or |
* (at your option) any later version. |
* |
* This program is distributed in the hope that it will be useful, |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
* GNU General Public License for more details. |
* |
* You should have received a copy of the GNU General Public License |
* along with this program; if not, write to the Free Software |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
* |
*/ |
|
#include "errno.h" |
|
static char *emsg[]={ |
"No error", |
"Operation not permitted", |
"No such file or directory", |
"No such process", |
"Interrupted system call", |
"I/O error", |
"No such device or address", |
"Arg list too long", |
"Exec format error", |
"Bad file number", |
"No child processes", |
"Try again", |
"Out of memory", |
"Permission denied", |
"Bad address", |
"Block device required", |
"Device or resource busy", |
"File exists", |
"Cross-device link", |
"No such device", |
"Not a directory", |
"Is a directory", |
"Invalid argument", |
"File table overflow", |
"Too many open files", |
"Not a typewriter", |
"Text file busy", |
"File too large", |
"No space left on device", |
"Illegal seek", |
"Read-only file system", |
"Too many links", |
"Broken pipe", |
"Math argument out of domain of func", |
"Math result not representable", |
"Resource deadlock would occur", |
"File name too long", |
"No record locks available", |
"Function not implemented", |
"Directory not empty", |
"Too many symbolic links encountered", |
"Operation would block", |
"No message of desired type", |
"Identifier removed", |
"Channel number out of range", |
"Level 2 not synchronized", |
"Level 3 halted", |
"Level 3 reset", |
"Link number out of range", |
"Protocol driver not attached", |
"No CSI structure available", |
"Level 2 halted", |
"Invalid exchange", |
"Invalid request descriptor", |
"Exchange full", |
"No anode", |
"Invalid request code", |
"Invalid slot", |
"Resource deadlock would occur", |
"Bad font file format", |
"Device not a stream", |
"No data available", |
"Timer expired", |
"Out of streams resources", |
"Machine is not on the network", |
"Package not installed", |
"Object is remote", |
"Link has been severed", |
"Advertise error", |
"Srmount error", |
"Communication error on send", |
"Protocol error", |
"Multihop attempted", |
"RFS specific error", |
"Not a data message", |
"Value too large for defined data type", |
"Name not unique on network", |
"File descriptor in bad state", |
"Remote address changed", |
"Can not access a needed shared library", |
"Accessing a corrupted shared library", |
".lib section in a.out corrupted", |
"Attempting to link in too many shared libraries", |
"Cannot exec a shared library directly", |
"Illegal byte sequence", |
"Interrupted system call should be restarted", |
"Streams pipe error", |
"Too many users", |
"Socket operation on non-socket", |
"Destination address required", |
"Message too long", |
"Protocol wrong type for socket", |
"Protocol not available", |
"Protocol not supported", |
"Socket type not supported", |
"Operation not supported on transport endpoint", |
"Protocol family not supported", |
"Address family not supported by protocol", |
"Address already in use", |
"Cannot assign requested address", |
"Network is down", |
"Network is unreachable", |
"Network dropped connection because of reset", |
"Software caused connection abort", |
"Connection reset by peer", |
"No buffer space available", |
"Transport endpoint is already connected", |
"Transport endpoint is not connected", |
"Cannot send after transport endpoint shutdown", |
"Too many references: cannot splice", |
"Connection timed out", |
"Connection refused", |
"Host is down", |
"No route to host", |
"Operation already in progress", |
"Operation now in progress", |
"Stale NFS file handle", |
"Structure needs cleaning", |
"Not a XENIX named type file", |
"No XENIX semaphores available", |
"Is a named type file", |
"Remote I/O error", |
"Quota exceeded", |
"No medium found", |
"Wrong medium type" |
}; |
|
char *strerror(int error) |
{ |
extern char *sys_err(int); |
|
if (error>=STDERRNOBASE) { |
if (error<STDERRNOBASE+STDERRNOMAX) return emsg[error-STDERRNOBASE]; |
return "Unknown standard error number"; |
} |
|
return sys_err(error); |
} |