DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH
 

Intro(S)


Intro -- introduce system services, library routines, and error numbers

Description

This manual page describes all system services and error values. In addition, this manual page provides listings of obsolete system services and new manual page entries in section (S).

System services include all system library routines and system calls that are available in the operating system kernel. See ``System libraries'' for the list of system libraries.

Standards conformance

Many of the system services listed in section (S) conform to one or more of the following standards:

Standard Revision
ANSI C ANSI X3.159-1989 Programming Language -- C
NIST FIPS National Institute of Standards and Technology (NIST),
  Federal Information Processing Standard, 151-1
POSIX IEEE 1003.1 and ISO/IEC 9945-1,
  First Edition 1990-12-07
XPG4 X/Open CAE Specification, System Interfaces and Headers, Issue 4, 1992
Intel Intel386 Binary Compatibility Specification, Edition 2 (iBCSe2)

 Standard    Revision
 ANSI C      ANSI X3.159-1989 Programming Language  C
 NIST FIPS   National Institute of Standards and Technology (NIST),
             Federal Information Processing Standard, 151-1
 POSIX       IEEE 1003.1 and ISO/IEC 9945-1,
             First Edition 1990-12-07
 XPG4        X/Open CAE Specification, System Interfaces and Headers, Issue
             4, 1992
 Intel       Intel386 Binary Compatibility Specification, Edition 2 (iBCSe2)

System libraries

Library routines complement the system calls. In some cases, the library routine actually makes one or more system calls. For example, the fopen(S) library routine calls the open(S) system call. The functionality of library routines and system calls may appear to be similar, and in fact, a system call is actually a form of library routine. The difference is that system calls are basic operating system functions--they provide direct access to the kernel. Library routines are built on top of system calls and often provide additional useful functionality, checks, and clean-up operations to the programmer. As a general rule, the library routines execute more slowly than the corresponding system calls because of the added functionality that they provide, but library routines may be more portable because some low-level details are hidden from users.

The following table lists libraries included with your SCO OpenServer system and which are commonly used with C language programs. The Routines(S) manual page contains a list of all documented routines in these libraries and their corresponding (S) section manual pages.

Library Purpose
lib300.a terminal-specific plot routines
lib300s.a terminal-specific plot routines
lib4014.a terminal-specific plot routines
lib450.a terminal-specific plot routines
libaudit.a C2 security routines
libc.a standard C routines
libc.so dynamically linked C routines
libcrypt.a encryption routines
libcurses.a curses(S) routines
libdbm.a database management
libelf.a ELF object module support routines (elf_*)
libevent.a event driver routines (ev_*)
libform.a forms(S) routines
libgen.a standard routines not found in the C library
libl.a lex routines
libld.a COFF object module support routines
libm.a math routines
libmalloc.a malloc(S) routines
libmenu.a menus(S) routines
libndbm.a database management
libpanel.a panels(S) routines
libplot.a plot routines
libprot.a C2 security routines
libPW.a miscellaneous programmer's routines
libsec.a shadow password routines
libsuds.a partial set of POSIX 1003.4 compliant routines
libtam.a tam(S) routines
libtermcap.a curs_termcap(S) routines
libtinfo.a curs_terminfo(S) routines
libvt0.a terminal-specific plot routines
libwindows.a libwindows(S) routines
liby.a yacc routines
libx.a XENIX compatibility routines

 +-------------+------------------------------------------------+
 |Library      | Purpose                                        |
 +-------------+------------------------------------------------+
 |lib300.a     | terminal-specific plot routines                |
 +-------------+------------------------------------------------+
 |lib300s.a    | terminal-specific plot routines                |
 +-------------+------------------------------------------------+
 |lib4014.a    | terminal-specific plot routines                |
 +-------------+------------------------------------------------+
 |lib450.a     | terminal-specific plot routines                |
 +-------------+------------------------------------------------+
 |libaudit.a   | C2 security routines                           |
 +-------------+------------------------------------------------+
 |libc.a       | standard C routines                            |
 +-------------+------------------------------------------------+
 |libc.so      | dynamically linked C routines                  |
 +-------------+------------------------------------------------+
 |libcrypt.a   | encryption routines                            |
 +-------------+------------------------------------------------+
 |libcurses.a  | curses(S) routines                             |
 +-------------+------------------------------------------------+
 |libdbm.a     | database management                            |
 +-------------+------------------------------------------------+
 |libelf.a     | ELF object module support routines (elf_*)     |
 +-------------+------------------------------------------------+
 |libevent.a   | event driver routines (ev_*)                   |
 +-------------+------------------------------------------------+
 |libform.a    | forms(S) routines                              |
 +-------------+------------------------------------------------+
 |libgen.a     | standard routines not found in the C library   |
 +-------------+------------------------------------------------+
 |libl.a       | lex routines                                   |
 +-------------+------------------------------------------------+
 |libld.a      | COFF object module support routines            |
 +-------------+------------------------------------------------+
 |libm.a       | math routines                                  |
 +-------------+------------------------------------------------+
 |libmalloc.a  | malloc(S) routines                             |
 +-------------+------------------------------------------------+
 |libmenu.a    | menus(S) routines                              |
 +-------------+------------------------------------------------+
 |libndbm.a    | database management                            |
 +-------------+------------------------------------------------+
 |libpanel.a   | panels(S) routines                             |
 +-------------+------------------------------------------------+
 |libplot.a    | plot routines                                  |
 +-------------+------------------------------------------------+
 |libprot.a    | C2 security routines                           |
 +-------------+------------------------------------------------+
 |libPW.a      | miscellaneous programmer's routines            |
 +-------------+------------------------------------------------+
 |libsec.a     | shadow password routines                       |
 +-------------+------------------------------------------------+
 |libsuds.a    | partial set of POSIX 1003.4 compliant routines |
 +-------------+------------------------------------------------+
 |libtam.a     | tam(S) routines                                |
 +-------------+------------------------------------------------+
 |libtermcap.a | curs_termcap(S) routines                       |
 +-------------+------------------------------------------------+
 |libtinfo.a   | curs_terminfo(S) routines                      |
 +-------------+------------------------------------------------+
 |libvt0.a     | terminal-specific plot routines                |
 +-------------+------------------------------------------------+
 |libwindows.a | libwindows(S) routines                         |
 +-------------+------------------------------------------------+
 |liby.a       | yacc routines                                  |
 +-------------+------------------------------------------------+
 |libx.a       | XENIX compatibility routines                   |
 +-------------+------------------------------------------------+

New manual pages

Many manual page entries in this section are new for this release. The system services documented by these new entries are either new, exposed to users for the first time, or are transferred from other sections of manual pages.

The entirely new manual pages include:

addsev(S) addseverity(S) adjtime(S)
aio_error(S) aio_mkcbs(S) aio_read(S)
aio_return(S) aio_write(S) bstring(S)
confstr(S) dlclose(S) dlerror(S)
dlopen(S) dlsym(S) elf(S)
elf_begin(S) elf_cntl(S) elf_end(S)
elf_error(S) elf_fill(S) elf_flag(S)
elf_fsize(S) elf_getarhdr(S) elf_getarsym(S)
elf_getbase(S) elf_getdata(S) elf_getehdr(S)
elf_getident(S) elf_getphdr(S) elf_getscn(S)
elf_getshdr(S) elf_hash(S) elf_kind(S)
elf_next(S) elf_rand(S) elf_rawfile(S)
elf_strptr(S) elf_update(S) elf_version(S)
elf_xlate(S) ffs(S) fgetws(S)
fmtmsg(S) fputws(S) getcontext(S)
getdate(S) getdtablesize(S) getrlimit(S)
getsid(S) getsubopt(S) gettimeofday(S)
gettxt(S) getutx(S) getwd(S)
glob(S) goodpw_check_other(S) goodpw_set_other_checks(S)
grantpt(S) index(S) initgroups(S)
insque(S) isastream(S) killpg(S)
latch_close(S) latch_getvalue(S) latch_open(S)
latch_post(S) latch_unlink(S) latch_wait(S)
lio_listio(S) mbchar(S) mbstring(S)
mmap(S) mprotect(S) msync(S)
munmap(S) pfmt(S) psignal(S)
ptsname(S) putwc(S) random(S)
realpath(S) sched_get_priority_max(S) sched_getparam(S)
sched_getscheduler(S) sched_rr_get_interval(S) sched_setparam(S)
sched_setscheduler(S) sched_yield(S) sem_close(S)
sem_destroy(S) sem_getvalue(S) sem_init(S)
sem_open(S) sem_post(S) sem_unlink(S)
sem_wait(S) setcat(S) setlabel(S)
sigaltstack(S) siginterrupt(S) sigsend(S)
sigstack(S) sisinit(S) smp_audit_fail(S)
smp_check_pw(S) smp_check_user(S) smp_generate_pw(S)
smp_get_messages(S) smp_pw_change(S) smp_pw_choice(S)
smp_set_identity(S) smp_set_pw(S) smp_try_pw(S)
statvfs(S) strftime(S) strptime(S)
suds_aioinfo(S) suds_lock(S) suds_lockinit(S)
suds_lockstate(S) suds_locktry(S) suds_shmat(S)
suds_unlock(S) syssetconf(S) tcgetsid(S)
termios(S) timer_create(S) timer_delete(S)
timer_settime(S) truncate(S) ungetwc(S)
unlockpt(S) usersgroups(S) utimes(S)
vfork(S) wait3(S) waitid(S)
wcsstr(S) wctob(S)  

 addsev(S)               addseverity(S)              adjtime(S)
 aio_error(S)            aio_mkcbs(S)                aio_read(S)
 aio_return(S)           aio_write(S)                bstring(S)
 confstr(S)              dlclose(S)                  dlerror(S)
 dlopen(S)               dlsym(S)                    elf(S)
 elf_begin(S)            elf_cntl(S)                 elf_end(S)
 elf_error(S)            elf_fill(S)                 elf_flag(S)
 elf_fsize(S)            elf_getarhdr(S)             elf_getarsym(S)
 elf_getbase(S)          elf_getdata(S)              elf_getehdr(S)
 elf_getident(S)         elf_getphdr(S)              elf_getscn(S)
 elf_getshdr(S)          elf_hash(S)                 elf_kind(S)
 elf_next(S)             elf_rand(S)                 elf_rawfile(S)
 elf_strptr(S)           elf_update(S)               elf_version(S)
 elf_xlate(S)            ffs(S)                      fgetws(S)
 fmtmsg(S)               fputws(S)                   getcontext(S)
 getdate(S)              getdtablesize(S)            getrlimit(S)
 getsid(S)               getsubopt(S)                gettimeofday(S)
 gettxt(S)               getutx(S)                   getwd(S)
 glob(S)                 goodpw_check_other(S)       goodpw_set_other_checks(S)
 grantpt(S)              index(S)                    initgroups(S)
 insque(S)               isastream(S)                killpg(S)
 latch_close(S)          latch_getvalue(S)           latch_open(S)
 latch_post(S)           latch_unlink(S)             latch_wait(S)
 lio_listio(S)           mbchar(S)                   mbstring(S)
 mmap(S)                 mprotect(S)                 msync(S)
 munmap(S)               pfmt(S)                     psignal(S)
 ptsname(S)              putwc(S)                    random(S)
 realpath(S)             sched_get_priority_max(S)   sched_getparam(S)
 sched_getscheduler(S)   sched_rr_get_interval(S)    sched_setparam(S)
 sched_setscheduler(S)   sched_yield(S)              sem_close(S)
 sem_destroy(S)          sem_getvalue(S)             sem_init(S)
 sem_open(S)             sem_post(S)                 sem_unlink(S)
 sem_wait(S)             setcat(S)                   setlabel(S)
 sigaltstack(S)          siginterrupt(S)             sigsend(S)
 sigstack(S)             sisinit(S)                  smp_audit_fail(S)
 smp_check_pw(S)         smp_check_user(S)           smp_generate_pw(S)
 smp_get_messages(S)     smp_pw_change(S)            smp_pw_choice(S)
 smp_set_identity(S)     smp_set_pw(S)               smp_try_pw(S)
 statvfs(S)              strftime(S)                 strptime(S)
 suds_aioinfo(S)         suds_lock(S)                suds_lockinit(S)
 suds_lockstate(S)       suds_locktry(S)             suds_shmat(S)
 suds_unlock(S)          syssetconf(S)               tcgetsid(S)
 termios(S)              timer_create(S)             timer_delete(S)
 timer_settime(S)        truncate(S)                 ungetwc(S)
 unlockpt(S)             usersgroups(S)              utimes(S)
 vfork(S)                wait3(S)                    waitid(S)
 wcsstr(S)               wctob(S)
Some of the new manual page entries are added to previously existing manual pages. These new entries include:

Routine Manual page Routine Manual page
ceilf floor(S) copysign floor(S)
fabsf floor(S) fchdir chdir(S)
fchmod chmod(S) fchown chown(S)
floorf floor(S) fmodf floor(S)
frexpl frexp(S) getpgid getpid(S)
getpmsg getmsg(S) lchown chown(S)
ldexpl frexp(S) ledxpl frexp(S)
locked_out fields(S) logb frexp(S)
logbl frexp(S) modff frexp(S)
modfl frexp(S) nextafter frexp(S)
nextafterl frexp(S) putpmsg putmsg(S)
readv read(S) remainder floor(S)
rint floor(S) scalb frexp(S)
scalbl frexp(S) setegid setuid(S)
seteuid setuid(S) setregid setuid(S)
setreuid setuid(S) writev write(S)

 +-----------+-------------+-----------+-------------+
 |Routine    | Manual page | Routine   | Manual page |
 +-----------+-------------+-----------+-------------+
 |ceilf      | floor(S)    | copysign  | floor(S)    |
 +-----------+-------------+-----------+-------------+
 |fabsf      | floor(S)    | fchdir    | chdir(S)    |
 +-----------+-------------+-----------+-------------+
 |fchmod     | chmod(S)    | fchown    | chown(S)    |
 +-----------+-------------+-----------+-------------+
 |floorf     | floor(S)    | fmodf     | floor(S)    |
 +-----------+-------------+-----------+-------------+
 |frexpl     | frexp(S)    | getpgid   | getpid(S)   |
 +-----------+-------------+-----------+-------------+
 |getpmsg    | getmsg(S)   | lchown    | chown(S)    |
 +-----------+-------------+-----------+-------------+
 |ldexpl     | frexp(S)    | ledxpl    | frexp(S)    |
 +-----------+-------------+-----------+-------------+
 |locked_out | fields(S)   | logb      | frexp(S)    |
 +-----------+-------------+-----------+-------------+
 |logbl      | frexp(S)    | modff     | frexp(S)    |
 +-----------+-------------+-----------+-------------+
 |modfl      | frexp(S)    | nextafter | frexp(S)    |
 +-----------+-------------+-----------+-------------+
 |nextafterl | frexp(S)    | putpmsg   | putmsg(S)   |
 +-----------+-------------+-----------+-------------+
 |readv      | read(S)     | remainder | floor(S)    |
 +-----------+-------------+-----------+-------------+
 |rint       | floor(S)    | scalb     | frexp(S)    |
 +-----------+-------------+-----------+-------------+
 |scalbl     | frexp(S)    | setegid   | setuid(S)   |
 +-----------+-------------+-----------+-------------+
 |seteuid    | setuid(S)   | setregid  | setuid(S)   |
 +-----------+-------------+-----------+-------------+
 |setreuid   | setuid(S)   | writev    | write(S)    |
 +-----------+-------------+-----------+-------------+
Note that there are also many new manual pages introduced by the re-grouping of manual pages. These include, for example, curs_*(S) manual pages and are not listed in the previous two tables.

Obsolete routines

The following routines are no longer described in section (S). All corresponding manual pages have been entirely removed. The routines are:

Routine Manual page Routine Manual page
isaddindex isaddidx(S) isbuild isbuild(S)
isclose isclose(S) isconv isconv(S)
isdelcurr isdelcurr(S) isdelete isdelete(S)
isdelindex isdelidx(S) isdelrec isdelrec(S)
iserase iserase(S) isindexinfo isidxinfo(S)
islock islock(S) isopen isopen(S)
isread isread(S) isrelease isrelease(S)
isrename isrename(S) isrewcurr isrewcurr(S)
isrewrec isrewrec(S) isrewrite isrewrite(S)
issetunique issetuniq(S) isstart isstart(S)
isuniqueid isuniqid(S) isunlock isunlock(S)
iswrcurr iswrcurr(S) iswrite iswrite(S)
lddbl isconv(S) ldfloat isconv(S)
ldint isconv(S) ldlong isconv(S)
ll_close llog(S) ll_err llog(S)
ll_hdinit llog(S) ll_init llog(S)
ll_log llog(S) ll_open llog(S)
llog llog(S) ml_1adr ml_send(S)
ml_adr ml_send(S) ml_aend ml_send(S)
ml_cc ml_send(S) ml_end ml_send(S)
ml_file ml_send(S) ml_init ml_send(S)
ml_send ml_send(S) ml_tinit ml_send(S)
ml_to ml_send(S) ml_txt ml_send(S)
mm_end mmdf(S) mm_init mmdf(S)
mm_pkend mmdf(S) mm_pkinit mmdf(S)
mm_radr mmdf(S) mm_rinit mmdf(S)
mm_rrec mmdf(S) mm_rrply mmdf(S)
mm_rstm mmdf(S) mm_rtxt mmdf(S)
mm_sbend mmdf(S) mm_sbinit mmdf(S)
mm_wadr mmdf(S) mm_waend mmdf(S)
mm_winit mmdf(S) mm_wrec mmdf(S)
mm_wrply mmdf(S) mm_wstm mmdf(S)
mm_wtend mmdf(S) mm_wtxt mmdf(S)
mmdf mmdf(S) phs phs(S)
phs_get phs(S) phs_msg phs(S)
phs_note phs(S) stdbl isconv(S)
stfloat isconv(S) stint isconv(S)
stlong isconv(S) tai_end tai(S)
tai_get tai(S) tai_init tai(S)

 Routine       Manual page    Routine       Manual page
 isaddindex    isaddidx(S)    isbuild       isbuild(S)
 isclose       isclose(S)     isconv        isconv(S)
 isdelcurr     isdelcurr(S)   isdelete      isdelete(S)
 isdelindex    isdelidx(S)    isdelrec      isdelrec(S)
 iserase       iserase(S)     isindexinfo   isidxinfo(S)
 islock        islock(S)      isopen        isopen(S)
 isread        isread(S)      isrelease     isrelease(S)
 isrename      isrename(S)    isrewcurr     isrewcurr(S)
 isrewrec      isrewrec(S)    isrewrite     isrewrite(S)
 issetunique   issetuniq(S)   isstart       isstart(S)
 isuniqueid    isuniqid(S)    isunlock      isunlock(S)
 iswrcurr      iswrcurr(S)    iswrite       iswrite(S)
 lddbl         isconv(S)      ldfloat       isconv(S)
 ldint         isconv(S)      ldlong        isconv(S)
 ll_close      llog(S)        ll_err        llog(S)
 ll_hdinit     llog(S)        ll_init       llog(S)
 ll_log        llog(S)        ll_open       llog(S)
 llog          llog(S)        ml_1adr       ml_send(S)
 ml_adr        ml_send(S)     ml_aend       ml_send(S)
 ml_cc         ml_send(S)     ml_end        ml_send(S)
 ml_file       ml_send(S)     ml_init       ml_send(S)
 ml_send       ml_send(S)     ml_tinit      ml_send(S)
 ml_to         ml_send(S)     ml_txt        ml_send(S)
 mm_end        mmdf(S)        mm_init       mmdf(S)
 mm_pkend      mmdf(S)        mm_pkinit     mmdf(S)
 mm_radr       mmdf(S)        mm_rinit      mmdf(S)
 mm_rrec       mmdf(S)        mm_rrply      mmdf(S)
 mm_rstm       mmdf(S)        mm_rtxt       mmdf(S)
 mm_sbend      mmdf(S)        mm_sbinit     mmdf(S)
 mm_wadr       mmdf(S)        mm_waend      mmdf(S)
 mm_winit      mmdf(S)        mm_wrec       mmdf(S)
 mm_wrply      mmdf(S)        mm_wstm       mmdf(S)
 mm_wtend      mmdf(S)        mm_wtxt       mmdf(S)
 mmdf          mmdf(S)        phs           phs(S)
 phs_get       phs(S)         phs_msg       phs(S)
 phs_note      phs(S)         stdbl         isconv(S)
 stfloat       isconv(S)      stint         isconv(S)
 stlong        isconv(S)      tai_end       tai(S)
 tai_get       tai(S)         tai_init      tai(S)

In addition, the following manual pages have been transferred to the (NET) section:

t_accept(S) t_alloc(S) t_bind(S)
t_close(S) t_connect(S) t_error(S)
t_free(S) t_getinfo(S) t_getstate(S)
t_listen(S) t_look(S) t_open(S)
t_optmgmt(S) t_rcv(S) t_rcvconnect(S)
t_rcvudata(S) t_rcvuderr(S) t_rcvdis(S)
t_rcvrel(S) t_snd(S) t_snddis(S)
t_sndrel(S) t_sndudata(S) t_sync(S)
t_unbind(S)    

 t_accept(S)     t_alloc(S)      t_bind(S)
 t_close(S)      t_connect(S)    t_error(S)
 t_free(S)       t_getinfo(S)    t_getstate(S)
 t_listen(S)     t_look(S)       t_open(S)
 t_optmgmt(S)    t_rcv(S)        t_rcvconnect(S)
 t_rcvudata(S)   t_rcvuderr(S)   t_rcvdis(S)
 t_rcvrel(S)     t_snd(S)        t_snddis(S)
 t_sndrel(S)     t_sndudata(S)   t_sync(S)
 t_unbind(S)

Error values

Most services that are part of the operating system kernel have one or more error returns. An error condition is indicated by an otherwise impossible returned value. This is almost always -1 for functions returning an integer or the NULL pointer for functions returning a pointer. The individual manual pages specify details and attempt to list all possible error numbers. An error number is also made available in the external variable errno. errno is not cleared on successful calls, so it should be tested only after an error has been indicated.

Each of the tables in this section list errors numerically. After the tables, alphabetic information is provided about each error.

The following table lists error values defined in <errno.h> (any error number that is not listed in this table is reserved):

1 EPERM 40 EL3RST 93 ENOTSOCK
2 ENOENT 41 ELNRNG 94 EDESTADDRREQ
3 ESRCH 42 EUNATCH 95 EMSGSIZE
4 EINTR 43 ENOCSI 96 EPROTOTYPE
5 EIO 44 EL2HLT 97 EPROTONOSUPPORT
6 ENXIO 45 EDEADLK 98 ESOCKTNOSUPPORT
7 E2BIG 46 ENOLCK 99 EOPNOTSUPP
8 ENOEXEC 60 ENOSTR 100 EPFNOSUPPORT
9 EBADF 61 ENODATA 101 EAFNOSUPPORT
10 ECHILD 62 ETIME 102 EADDRINUSE
11 EAGAIN 63 ENOBUFS 103 EADDRNOTAVAIL
12 ENOMEM 63 ENOSR 104 ENETDOWN
13 EACCES 64 ENONET 105 ENETUNREACH
14 EFAULT 65 ENOPKG 106 ENETRESET
15 ENOTBLK 66 EREMOTE 107 ECONNABORTED
16 EBUSY 67 ENOLINK 108 ECONNRESET
17 EEXIST 68 EADV 110 EISCONN
18 EXDEV 69 ESRMNT 111 ENOTCONN
19 ENODEV 70 ECOMM 112 ESHUTDOWN
20 ENOTDIR 71 EPROTO 113 ETOOMANYREFS
21 EISDIR 74 EMULTIHOP 114 ETIMEDOUT
22 EINVAL 75 ELBIN 115 ECONNREFUSED
23 ENFILE 76 EDOTDOT 116 EHOSTDOWN
24 EMFILE 77 EBADMSG 117 EHOSTUNREACH
25 ENOTTY 78 ENAMETOOLONG 118 ENOPROTOOPT
26 ETXTBSY 79 EOVERFLOW 135 EUCLEAN
27 EFBIG 80 ENOTUNIQ 137 ENOTNAM
28 ENOSPC 81 EBADFD 138 ENAVAIL
29 ESPIPE 82 EREMCHG 139 EISNAM
30 EROFS 83 ELIBACC 140 EREMOTEIO
31 EMLINK 84 ELIBBAD 141 EINIT
32 EPIPE 85 ELIBSCN 142 EREMDEV
33 EDOM 86 ELIBMAX 145 ENOTEMPTY
34 ERANGE 87 ELIBEXEC 150 ELOOP
35 ENOMSG 88 EILSEQ 151 ESTALE
36 EIDRM 89 ENOSYS 152 ERESTART
37 ECHRNG 90 EWOULDBLOCK 153 ESTRPIPE
38 EL2NSYNC 91 EINPROGRESS 500 EIORESID
39 EL3HLT 92 EALREADY    

  1   EPERM      40   EL3RST          93   ENOTSOCK
  2   ENOENT     41   ELNRNG          94   EDESTADDRREQ
  3   ESRCH      42   EUNATCH         95   EMSGSIZE
  4   EINTR      43   ENOCSI          96   EPROTOTYPE
  5   EIO        44   EL2HLT          97   EPROTONOSUPPORT
  6   ENXIO      45   EDEADLK         98   ESOCKTNOSUPPORT
  7   E2BIG      46   ENOLCK          99   EOPNOTSUPP
  8   ENOEXEC    60   ENOSTR         100   EPFNOSUPPORT
  9   EBADF      61   ENODATA        101   EAFNOSUPPORT
 10   ECHILD     62   ETIME          102   EADDRINUSE
 11   EAGAIN     63   ENOBUFS        103   EADDRNOTAVAIL
 12   ENOMEM     63   ENOSR          104   ENETDOWN
 13   EACCES     64   ENONET         105   ENETUNREACH
 14   EFAULT     65   ENOPKG         106   ENETRESET
 15   ENOTBLK    66   EREMOTE        107   ECONNABORTED
 16   EBUSY      67   ENOLINK        108   ECONNRESET
 17   EEXIST     68   EADV           110   EISCONN
 18   EXDEV      69   ESRMNT         111   ENOTCONN
 19   ENODEV     70   ECOMM          112   ESHUTDOWN
 20   ENOTDIR    71   EPROTO         113   ETOOMANYREFS
 21   EISDIR     74   EMULTIHOP      114   ETIMEDOUT
 22   EINVAL     75   ELBIN          115   ECONNREFUSED
 23   ENFILE     76   EDOTDOT        116   EHOSTDOWN
 24   EMFILE     77   EBADMSG        117   EHOSTUNREACH
 25   ENOTTY     78   ENAMETOOLONG   118   ENOPROTOOPT
 26   ETXTBSY    79   EOVERFLOW      135   EUCLEAN
 27   EFBIG      80   ENOTUNIQ       137   ENOTNAM
 28   ENOSPC     81   EBADFD         138   ENAVAIL
 29   ESPIPE     82   EREMCHG        139   EISNAM
 30   EROFS      83   ELIBACC        140   EREMOTEIO
 31   EMLINK     84   ELIBBAD        141   EINIT
 32   EPIPE      85   ELIBSCN        142   EREMDEV
 33   EDOM       86   ELIBMAX        145   ENOTEMPTY
 34   ERANGE     87   ELIBEXEC       150   ELOOP
 35   ENOMSG     88   EILSEQ         151   ESTALE
 36   EIDRM      89   ENOSYS         152   ERESTART
 37   ECHRNG     90   EWOULDBLOCK    153   ESTRPIPE
 38   EL2NSYNC   91   EINPROGRESS    500   EIORESID
 39   EL3HLT     92   EALREADY

Message catalog errors

The following table lists message catalog error values that are defined in <nls/i_errno.h>. These values are made available in the external variable i_errno, not errno.

-1 I_ERROR 7 I_EICNV 14 I_EIBNV
1 I_EBACC 8 I_EISTI 15 I_EREAD
2 I_EBADF 9 I_EISTR 16 I_ENMSG
3 I_ENMEM 10 I_EICOD 17 I_EBADC
4 I_EINTL 11 I_EICTM 18 I_ENOOP
5 I_EIPRP 12 I_EICPR  
6 I_EICOL 13 I_EICSC  

  -1  I_ERROR     7  I_EICNV   14  I_EIBNV
   1  I_EBACC     8  I_EISTI   15  I_EREAD
   2  I_EBADF     9  I_EISTR   16  I_ENMSG
   3  I_ENMEM    10  I_EICOD   17  I_EBADC
   4  I_EINTL    11  I_EICTM   18  I_ENOOP
   5  I_EIPRP    12  I_EICPR
   6  I_EICOL    13  I_EICSC

Error descriptions

The following is a complete list of the error numbers (enclosed in parentheses) and their names (enclosed in square brackets) as defined in <errno.h> and <nls/i_errno.h>.

[E2BIG] (7) Arg list too long
An argument list longer than ARG_MAX bytes is presented to a member of the exec(S) family of routines. The argument list limit is the sum of the size of the argument list plus the size of the environment's exported shell variables.

[EACCES] (13) Permission denied
An attempt was made to access a file in a way forbidden by the protection system. The access control mechanism grants and denies a process permission to access an object based on a comparison of the attributes of the process (real and effective user IDs and Mandatory Access Control level) and the attributes of the object (access permissions and level). Access to the object may also be denied because the level of the object is outside of the level range restriction in effect at the time the access is attempted. Failure of any of these checks causes denial of the requested access and the return of [EACCES].

[EADDRINUSE] (102) Address already in use
User attempted to use an address already in use, and the protocol does not allow this.

[EADDRNOTAVAIL] (103) Cannot assign requested address
Results from an attempt to create a transport endpoint with an address not on the current machine.

[EADV] (68) Advertise error
This error is RFS specific. It occurs when users try to advertise a resource which has been advertised already, or try to stop RFS while there are resources still advertised, or try to force unmount a resource when it is still advertised.

[EAFNOSUPPORT] (101) Address family not supported by protocol family
An address incompatible with the requested protocol was used.

[EAGAIN] (11) Resource temporarily unavailable
For example, the fork(S) routine failed because the system's process table is full or the user is not allowed to create any more processes, or a system call failed because of insufficient memory or swap space.

[EALREADY] (92) Operation already in progress
An operation was attempted on a non-blocking object that already had an operation in progress.

[EBADF] (9) Bad file number
Either a file descriptor refers to no open file, or a read (respectively, write) request is made to a file that is open only for writing (respectively, reading).

[EBADFD] (81) File descriptor in bad state
Either a file descriptor refers to no open file or a read request was made to a file that is open only for writing.

[EBADMSG] (77) Not a data message
During a read(S), getmsg(S), or ioctl(I_RECVFD) system call to a STREAMS device, something has come to the head of the queue that can't be processed. That something depends on the system call:

read
control information or a passed file descriptor

getmsg
passed file descriptor

ioctl
control or data information

[EBUSY] (16) Device busy
The device or resource is currently unavailable. An attempt was made to do one of the following: mount a device that was already mounted; unmount a device on which there is an active file (open file, current directory, mounted-on file, active text segment); enable accounting when it is already enabled; or, open a device that is in the process of closing.

[ECHILD] (10) No child processes
A wait(S) routine was executed by a process that had no existing or unwaited-for child processes.

[ECHRNG] (37) Channel number out of range

[ECOMM] (70) Communication error on send
This error is RFS specific. It occurs when the current process is waiting for a message from a remote machine, and the virtual circuit fails.

[ECONNABOR2ED] (107) Software caused connection abort
A connection abort was caused internal to your host machine.

[ECONNREFUSED] (115) Connection refused
No connection could be made because the target machine actively refused it. This usually results from trying to connect to a service that is inactive on the remote host.

[ECONNRESET] (108) Connection reset by peer
A connection was forcibly closed by a peer. This normally results from a loss of the connection on the remote host due to a timeout or a reboot.

[EDEADLK] (45) Deadlock condition
A deadlock situation was detected and avoided. This error pertains to file and record locking.

[EDESTADDRREQ] (94) Destination address required
A required address was omitted from an operation on a transport endpoint. Destination address required.

[EDOM] (33) Math argument out of domain of func
The argument of a function in the math package is out of the domain of the function.

[EDOTDOT] (76) Error 76
This error is RFS specific. A way for the server to tell the client that a process has transferred back from mount point.

[EEXIST] (17) File exists
An existing file was mentioned in an inappropriate context (for example, call to the link(S) routine).

[EFAULT] (14) Bad address
The system encountered a hardware fault in attempting to use an argument of a routine. For example, errno potentially may be set to [EFAULT] any time a routine that takes a pointer argument is passed an invalid address, if the system can detect the condition. Because systems will differ in their ability to reliably detect a bad address, on some implementations passing a bad address to a routine will result in undefined behavior.

[EFBIG] (27) File too large
The size of a file exceeded the maximum file size, FCHR_MAX (see getrlimit(S)).

[EHOSTDOWN] (116) Host is down
A transport provider operation failed because the destination host was down.

[EHOSTUNREACH] (117) No route to host
A transport provider operation was attempted to an unreachable host.

[EIDRM] (36) Identifier removed
This error is returned to processes that resume execution due to the removal of a message or semaphore identifier from the system (see msgop(S), semop(S), msgctl(S), and semctl(S)).

[EILSEQ] (88) Illegal byte sequence
Illegal byte sequence. Handle multiple characters as a single character.

[EINIT] (141) Reserved
This error number is reserved for XENIX.

[EINPROGRESS] (91) Operation now in progress
An operation that takes a long time to complete was attempted on a non-blocking object.

[EINTR] (4) Interrupted system call
An asynchronous signal (such as interrupt or quit), which the user has elected to catch, occurred during a system service routine. If execution is resumed after processing the signal, it will appear as if the interrupted routine call returned this error condition.

[EINVAL] (22) Invalid argument
An invalid argument was specified (for example, unmounting a non-mounted device or specifying an undefined signal in a call to sigaction(S) or kill(S)).

[EIO] (5) I/O error
Some physical I/O error has occurred. This error may in some cases occur on a call following the one to which it actually applies.

[EIORESID] (500) Reserved for future use

[EISCONN] (110) Transport endpoint is already connected
A connect request was made on an already connected transport endpoint; or, a sendto(SSC) or sendmsg request on a connected transport endpoint specified a destination when already connected.

[EISDIR] (21) Is a directory
An attempt was made to perform an operation not appropriate for a directory, such as write(S).

[EISNAM] (139) Is a name file
A name file (semaphore, shared data, and so on) was specified when not expected.

[EL2HLT] (44) Level 2 halted

[EL2NSYNC] (38) Level 2 not synchronized

[EL3HLT] (39) Level 3 halted

[EL3RST] (40) Level 3 reset

[ELIBACC] (83) Cannot access a needed shared library
Trying to exec(S) an a.out that requires a static shared library and the static shared library doesn't exist or the user doesn't have permission to use it.

[ELBIN] (75) Inode is remote (not really an error)

[ELIBBAD] (84) Accessing a corrupted shared library
Trying to exec(S) an a.out that requires a static shared library (to be linked in) and exec(S) could not load the static shared library. The static shared library is probably corrupted.

[ELIBEXEC] (87) Cannot exec(S) a shared library directly
Attempting to exec(S) a shared library directly and failed.

[ELIBMAX] (86) Attempting to link in more shared libraries than system limit
Trying to exec(S) an a.out that requires more static shared libraries than is allowed on the current configuration of the system. See your system administration guide.

[ELIBSCN] (85) .lib section in a.out corrupted
Trying to exec(S) an a.out that requires a static shared library (to be linked in) and there was erroneous data in the .lib section of the a.out. The .lib section tells exec(S) what static shared libraries are needed. The a.out is probably corrupted.

[ELNRNG] (41) Link number out of range

[ELOOP] (150) Too many symbolic links in pathname traversal

[EMFILE] (24) Too many open files
No process may have more than OPEN_MAX file descriptors open at a time.

[EMLINK] (31) Too many links
An attempt to make more than the maximum number of links, LINK_MAX, to a file.

[EMSGSIZE] (95) Message too long
A message sent on a transport provider was larger than the internal message buffer or some other network limit.

[EMULTIHOP] (74) Multihop attempted
This error is RFS specific. It occurs when users try to access remote resources which are not directly accessible.

[ENAMETOOLONG] (78) File name too long
The length of the path argument exceeds PATH_MAX, or the length of a path component exceeds NAME_MAX while _POSIX_NO_TRUNC is in effect; see pathconf(S).

[ENAVAIL] (138) No XENIX system semaphores available
An opensem(S), waitsem(S), or sigsem(S) was issued to a XENIX system semaphore that has not been initialized by a call to creatsem(S). A sigsem was issued to a XENIX system semaphore out of sequence; that is, before the process has issued the corresponding waitsem to the semaphore. An nbwaitsem was issued to a semaphore guarding a resource that is currently in use by another process. The semaphore that a process was waiting on has been left in an inconsistent state when the process controlling the semaphore exited without relinquishing control properly; that is, without issuing a waitsem on the semaphore.

[ENETDOWN] (104) Network is down
Operation encountered a dead network.

[ENETRESET] (106) Network dropped connection because of reset
The host you were connected to crashed and rebooted.

[ENETUNREACH] (105) Network is unreachable
Operation was attempted to an unreachable network.

[ENFILE] (23) File table overflow
The system file table is full (that is, SYS_OPEN files are open, and temporarily no more files can be opened).

[ENOBUFS] (63) No buffer space available
An operation on a transport endpoint or pipe was not performed because the system lacked sufficient buffer space or because a queue was full.

[ENOCSI] (43) No CSI structure available

[ENODATA] (61) No data available


[ENODEV] (19) No such device
An attempt was made to apply an inappropriate operation to a device (for example, read a write-only device, open a device not yet allocated).

[ENOENT] (2) No such file or directory
A file name is specified and the file should exist but doesn't, or one of the directories in a pathname does not exist.

[ENOEXEC] (8) Exec format error
A request is made to execute a file which, although it has the appropriate permissions, does not start with a valid format (see a.out(FP)).

[ENOLCK] (46) No record locks available
There are no more locks available. The system lock table is full (see fcntl(S)).

[ENOLINK] (67) Link has been severed
This error is RFS specific. It occurs when the link (virtual circuit) connecting to a remote machine is gone.

[ENOMEM] (12) Not enough space
During execution of an exec(S), brk(S), or sbrk(S) routine, a program asks for more space than the system is able to supply. This is not a temporary condition; the maximum size is a system parameter. The error may also occur if the arrangement of text, data, and stack segments requires too many segmentation registers, or if there is not enough swap space during the fork(S) routine. If this error occurs on a resource associated with Remote File Sharing (RFS), it indicates a memory depletion which may be temporary, dependent on system activity at the time the call was invoked.

[ENOMSG] (35) No message of desired type
An attempt was made to receive a message of a type that does not exist on the specified message queue (see msgop(S)).

[ENONET] (64) Machine is not on the network
This error is Remote File Sharing (RFS) specific. It occurs when users try to advertise, unadvertise, mount, or unmount remote resources while the machine has not done the proper startup to connect to the network.

[ENOPKG] (65) Package not installed
This error occurs when users attempt to use a system call from a package which has not been installed.

[ENOPROTOOPT] (118) Protocol not available
A bad option or level was specified when getting or setting options for a protocol.

[ENOSPC] (28) No space left on device
While writing an ordinary file or creating a directory entry, there is no free space left on the device. In the fcntl(S) routine, the setting or removing of record locks on a file cannot be accomplished because there are no more record entries left on the system.

[ENOSR] (63) Out of stream resources
During a STREAMS open(S), either no STREAMS queues or no STREAMS head data structures were available. This is a temporary condition; one may recover from it if other processes release resources.

[ENOSTR] (60) Device not a stream
A putmsg(S) or getmsg(S) system call was attempted on a file descriptor that is not a STREAMS device.

[ENOSYS] (89) Function not implemented

[ENOTBLK] (15) Block device required
A non-block file was mentioned where a block device was required (for example, in a call to the mount(S) routine).

[ENOTCONN] (111) Transport endpoint is not connected
A request to send or receive data was disallowed because the transport endpoint is not connected and (when sending a datagram) no address was supplied.

[ENOTDIR] (20) Not a directory
A non-directory was specified where a directory is required (for example, in a path prefix or as an argument to the chdir(S) routine).

[ENOTEMPTY] (145) Directory not empty

[ENOTNAM] (137) Not a XENIX system named type file
Not a name file:
A creatsem(S), opensem(S), waitsem(S), or sigsem(S) was issued using an invalid semaphore identifier.

[ENOTSOCK] (93) Socket operation on non-socket

[ENOTTY] (25) Not a typewriter
A call was made to the ioctl(S) routine specifying a file that is not a special character device.

[ENOTUNIQ] (80) Name not unique on network
Given log name not unique.

[ENXIO] (6) No such device or address
I/O on a special file refers to a subdevice which does not exist, or exists beyond the limit of the device. It may also occur when, for example, a tape drive is not on-line or no disk pack is loaded on a drive.

[EOPNOTSUPP] (99) Operation not supported on transport endpoint
For example, trying to accept a connection on a datagram transport endpoint.

[EOVERFLOW] (79) Value too large for defined data type

[EPERM] (1) Not privileged
Typically this error indicates an attempt to modify a file in some way forbidden by the privilege mechanism, or restricted to the owner of the file. It is also returned when an attempt is made to open a device already open by another process.

[EPFNOSUPPORT] (100) Protocol family not supported
The protocol family has not been configured into the system or no implementation for it exists. Used for the Internet protocols.

[EPIPE] (32) Broken pipe
A write on a pipe for which there is no process to read the data. This condition normally generates a signal; the error is returned if the signal is ignored.

[EPROTO] (71) Protocol error
Some protocol error occurred. This error is device specific, but is generally not related to a hardware failure.

[EPROTONOSUPPORT] (97) Protocol not supported
The protocol has not been configured into the system or no implementation for it exists.

[EPROTOTYPE] (96) Protocol wrong type for socket
A protocol was specified that does not support the semantics of the socket type requested.

[ERANGE] (34) Math result not representable
The value of a function in the math package is not representable within machine precision.

[EREMCHG] (82) Remote address changed

EREMDEV (142) Reserved

[EREMOTE] (66) Object is remote
This error is RFS specific. It occurs when users try to advertise a resource which is not on the local machine, or try to mount/unmount a device (or pathname) that is on a remote machine.

[EREMOTEIO] (140) Remote I/O error: XENIX
There was an I/O error on a remote device.

[ERESTART] (152) Restartable system call
Interrupted system call should be restarted.

[EROFS] (30) Read-only filesystem
An attempt to modify a file or directory was made on a filesystem which was mounted read-only.

[ESHUTDOWN] (112) Cannot send after transport endpoint shutdown
A request to send data was disallowed because the transport endpoint has already been shut down.

[ESOCKTNOSUPPORT] (98) Socket type not supported
The support for the socket type has not been configured into the system or no implementation for it exists.

[ESPIPE] (29) Illegal seek
A call to the lseek(S) routine was issued to a pipe.

[ESRCH] (3) No such process
No process can be found corresponding to the process identifier specified.

[ESRMNT] (69) Srmount error
This error is RFS specific. It occurs when an attempt is made to stop RFS while resources are still mounted by remote machines, or when a resource is readvertised with a client list that does not include a remote machine that currently has the resource mounted.

[ESTALE] (151) Stale NFS file handle

[ESTRPIPE] (153) Streams pipe error
Streams pipe error (not externally visible).

[ETIME] (62) Timer expired
The timer set for a STREAMS ioctl(S) call has expired. The cause of this error is device specific and could indicate either a hardware or software failure, or perhaps a timeout value that is too short for the specific operation. The status of the ioctl(S) operation is indeterminate.

[ETIMEDOUT] (114) Connection timed out
A connect or send request failed because the connected party did not properly respond after a period of time. (The timeout period is dependent on the communication protocol.)

[ETOOMANYREFS] (113) Too many references: cannot splice

[ETXTBSY] (26) Text file busy
An attempt was made to execute a pure-procedure program that is currently open for writing. Also an attempt to open for writing or to remove a pure-procedure program that is being executed.

EUCLEAN (135) Filesystem needs cleaning
An attempt was made to mount a filesystem using mount(S), but the super block is not flagged as clean.

[EUNATCH] (42) Protocol driver not attached

EWOULDBLOCK (90) Operation would block

[EXDEV] (18) Cross-device link
A link to a file on another device was attempted.

[I_EBACC] (1) Inaccessible database

[I_EBADC] (17) Bad call of function

[I_EBADF] (2) Corrupted database/msgcat

[I_EIBNV] (14) Bad environment

[I_EICNV] (7) Illegal conversion table

[I_EICOD] (10) Illegal code in the database

[I_EICOL] (6) Illegal collation table

[I_EICPR] (12) Illegal conversion in doprnt

[I_EICSC] (13) Illegal conversion in doscan

[I_EICTM] (11) Illegal format in i_ctime

[I_EINTL] (4) Illegal database pointer

[I_EIPRP] (5) Illegal property table

[I_EISTI] (8) Illegal string index table

[I_EISTR] (9) Illegal string name

[I_ENMEM] (3) Not enough memory

[I_ENMSG] (16) No message available

[I_ENOOP] (18) Cannot open message catalog

[I_EREAD] (15) Read error in message catalog

[I_ERROR] (-1) General error return used

© 2003 System Services (S)
SCO OpenServer Release 5.0.7 -- 11 February 2003