This section contains manual pages for the routines in libc,
the standard C library which
is automatically linked by the C compilation system.
The standard C library, libc.so, is searched at compile time by
default. Specify -dn on the
cc(1)
command line to link with
the archive version of this library, libc.a, and the archive
version of all other libraries being searched.
Compatibility
If you are compiling an application using the Release 7.1 version of
libc and the UDK, and want your application to also run on
Release 7.0.0 or Release 7.0.1, then you may need to include the following in your
cc(1)
command line:
-l cudk70
If you do not, then applications built with the Release 7.1 version of
libc may not run on Release 7.0.0 or Release 7.0.1.
This is because 81 symbols from the archive part of libc
(listed in the table below) were moved into the shared part for
Release 7.1.
To provide a way for users to create applications that use these
symbols and run on all UnixWare 7 releases, an archive library
(libcudk70.a), is provided which contains only the following
symbols (moved from the archive to the shared part of
libc since Release 7.0.0):
_adjtime
adjtime
_async_daemon
async_daemon
_dtop
_ecvt
ecvt
_exect
exect
_exportfs
exportfs
_fcvt
fcvt
_fstat
fstat
_fstat32
fstat32
_fstat64
fstat64
_fstatfs
fstatfs
_gcvt
gcvt
_getdents
getdents
_gethz
gethz
_gtty
gtty
_iba_dtop
_iba_ltostr
_keyctl
keyctl
_lstat
lstat
_lstat32
lstat32
_lstat64
lstat64
_ltostr
_mincore
mincore
_nfs_getfh
nfs_getfh
_nfssvc
nfssvc
_nfssys
_plock
plock
_realpath
realpath
_setegid
setegid
_seteuid
seteuid
_settimeofday
settimeofday
_stat
stat
_stat32
stat32
_stat64
stat64
_statfs
statfs
_stty
stty
_syscall
syscall
_sysfs
sysfs
_sysi86
sysi86
_ttyslot
ttyslot
_uadmin
uadmin
_utssys
utssys
_vfork
vfork
NOTE:
The _stat and stat interfaces listed above are the
versions of the stat system call that provide the older System
V Release 3-style stat structure (before expanded fundamental types).
Normally, the stat.h header file translates a call to
stat(2)
to xstat, which has always been in the shared part libc.
New applications compiled without -l cudk70 on Release 7.1
will no longer bind the symbols listed above into their own
images and will, instead, expect to find them in the shared part
of libc.
Since the native versions of the shared part of libc on Release 7.0.0
and Release 7.0.1 do not contain the above symbols, such applications will not
run on these systems.
To permit Release 7.1 applications to run on prior version of UnixWare 7,
include the libcudk70.a library during the linking phase of
compiling the application.
Files
LIBDIR/libc.solibc library (shared object)
LIBDIR/libc.alibc library (archive)
/usr/lib/libc.so.1libc Run-time Standard C Library
Return values
For functions that return a floating-point value, if an error occurs,
the value of errno will be one of the values represented by the manifest
constants EDOM or ERANGE (defined in math.h).
EDOM typically indicates a domain error: one of the input values
was not in the domain of the function.
ERANGE typically indicates a range error: the calculated result
was either too big or too small to be represented by the data type
returned by the function.
Functions that result in a range error typically return zero for underflow
or a value that will compare equal to ±HUGE_VAL for overflow.
HUGE_VAL is defined in math.h.
On systems that support IEEE infinity, HUGE_VAL is infinity.
If the system supports IEEE NaN (not-a-number), functions that
result in a domain error typically return NaN.
Such functions may also raise one of the IEEE floating-point exceptions.
On systems that do not support IEEE NaN, functions
that result in a domain error typically return zero.
The error behavior for programs compiled with the -Xt (transitional)
compilation mode is different (see
cc(1)).
In that case, these functions typically return zero instead
of IEEE NaN for domain errors and a value that will compare
equal to ±HUGE instead of ±HUGE_VAL for overflows.
HUGE is defined in math.h.
Definitions
A character (except a multibyte character; see
mbchar(3C))
is any bit pattern able to fit into a byte on the machine.
The null character is a character with value 0, conventionally
represented in the C language as \0.
A character array is a sequence of characters.
A null-terminated character array (a ``string'')
is a sequence of characters, the last of which is the null character.
The null string is a character array containing only the terminating
null character.
A NULL pointer is the value that is obtained by casting
0 into a pointer.
C guarantees that this value will not match that of any legitimate
pointer, so many functions that return pointers return NULL
to indicate an error.
The macro NULL is defined in stdio.h.
Types of the form size_t are defined in the appropriate header files.