|
| errno Fra : Michael |
Dato : 09-09-01 12:59 |
|
Hej!
jeg skal lave et program hvor jeg for første gang skal bruge errno.
Er der nogen kan give nogle tips med hvorledes man bruger errno ?
skal errno sættes til en værdi hvis noget fejler og ellers resettes ??
Findes der en liste over værdier og tilhørende forklaring omkring errno ??
på forhånd tak
Michael
| |
Anders Johannsen (09-09-2001)
| Kommentar Fra : Anders Johannsen |
Dato : 09-09-01 17:33 |
|
In article <%OIm7.8611$sk1.272680@news010.worldonline.dk>, "Michael"
<mbnn@worldonline.dk> wrote:
> jeg skal lave et program hvor jeg for første gang skal bruge errno. Er
> der nogen kan give nogle tips med hvorledes man bruger errno ? skal
> errno sættes til en værdi hvis noget fejler og ellers resettes ?? Findes
> der en liste over værdier og tilhørende forklaring omkring errno ??
Hvis du befinder dig på en UNIX-platform er 'info' din ven:
% info errno
/A
| |
Michael (09-09-2001)
| Kommentar Fra : Michael |
Dato : 09-09-01 18:55 |
|
> Hvis du befinder dig på en UNIX-platform er 'info' din ven:
>
> % info errno
jeg bruger linux og har prøvet :
~>man errno
men synes ikke det giver det helt store. jeg er især interesseret i hvilke
værdier errno kan være og hvad disse værdier "betyder".
Michael
| |
Igor V. Rafienko (09-09-2001)
| Kommentar Fra : Igor V. Rafienko |
Dato : 09-09-01 19:30 |
|
[ mbnn@worldonline.dk ]
> > Hvis du befinder dig på en UNIX-platform er 'info' din ven:
> >
> > % info errno
>
> jeg bruger linux og har prøvet :
> ~>man errno
> men synes ikke det giver det helt store. jeg er især interesseret i hvilke
> værdier errno kan være og hvad disse værdier "betyder".
1) $ less /usr/include/errno.h
2) $ man strerror
3) W.R.Stevens, "Advanced Programming in the UNIX Environment"
ivr
--
Good news everyone: I've taught the toaster to feel love
Pr. Farnsworth, Futurama
| |
Anders Johannsen (09-09-2001)
| Kommentar Fra : Anders Johannsen |
Dato : 09-09-01 19:55 |
|
In article <01Om7.8823$sk1.289193@news010.worldonline.dk>, "Michael"
<mbnn@worldonline.dk> wrote:
> jeg bruger linux og har prøvet :
> ~>man errno
> men synes ikke det giver det helt store. jeg er især interesseret i
> hvilke værdier errno kan være og hvad disse værdier "betyder".
Hvilken distribution har du? Det fremgår da af min info (og for så vidt man) side, som er vedlagt.
/A
File: *manpages*, Node: errno, Up: (dir)
ERRNO(3) Library functions ERRNO(3)
NAME
errno - number of last error
SYNOPSIS
#include <errno.h>
extern int errno;
DESCRIPTION
The integer errno is set by system calls (and some library
functions) to indicate what went wrong. Its value is sig
nificant only when the call returned an error (usually
-1), and a library function that does succeed is allowed
to change errno.
Sometimes, when -1 is also a legal return value one has to
zero errno before the call in order to detect possible
errors.
errno is defined by the ISO C standard to be a modifiable
lvalue of type int, and must not be explicitly declared;
errno may be a macro. errno is thread-local; setting it
in one thread does not affect its value in any other
thread.
Valid error numbers are all non-zero; errno is never set
to zero by any library function. All the error names
specified by POSIX.1 must have distinct values.
POSIX.1 (1996 edition) lists the following symbolic error
names. Of these, EDOM and ERANGE are in the ISO C stan
dard. ISO C Amendment 1 defines the additional error num
ber EILSEQ for coding errors in multibyte or wide charac
ters.
E2BIG Arg list too long
EACCES Permission denied
EAGAIN Resource temporarily unavailable
EBADF Bad file descriptor
EBADMSG
Bad message
EBUSY Resource busy
ECANCELED
Operation canceled
ECHILD No child processes
EDEADLK
Resource deadlock avoided
EDOM Domain error
EEXIST File exists
EFAULT Bad address
EFBIG File too large
EINPROGRESS
Operation in progress
EINTR Interrupted function call
EINVAL Invalid argument
EIO Input/output error
EISDIR Is a directory
EMFILE Too many open files
EMLINK Too many links
EMSGSIZE
Inappropriate message buffer length
ENAMETOOLONG
Filename too long
ENFILE Too many open files in system
ENODEV No such device
ENOENT No such file or directory
ENOEXEC
Exec format error
ENOLCK No locks available
ENOMEM Not enough space
ENOSPC No space left on device
ENOSYS Function not implemented
ENOTDIR
Not a directory
ENOTEMPTY
Directory not empty
ENOTSUP
Not supported
ENOTTY Inappropriate I/O control operation
ENXIO No such device or address
EPERM Operation not permitted
EPIPE Broken pipe
ERANGE Result too large
EROFS Read-only file system
ESPIPE Invalid seek
ESRCH No such process
ETIMEDOUT
Operation timed out
EXDEV Improper link
Many other error numbers are returned by various Unix
implementations. System V returns ETXTBSY (Text file
busy) if one tries to exec() a file that is currently open
for writing. Linux also returns this error if one tries
to have a file both memory mapped with VM_DENYWRITE and
open for writing.
SEE ALSO
perror(3), strerror(3)
1998-03-30 ERRNO(3)
| |
|
|