Query: intro
OS: ultrix
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
intro(3) Library Functions Manual intro(3) Name intro - introduction to library functions Description This section describes functions that may be found in various libraries. The library functions are those other than the functions that directly invoke ULTRIX system primitives, described in section 2. Section 3 has the libraries physically grouped together. The functions described in this section are grouped into various libraries: Sections 3 and 3s The(3) functions are the standard C library functions. The C library also includes all the functions described in Section 2. These rou- tines are included for compatibility with other systems. In particular, a number of system call interfaces provided in 4.2BSD have been included for source code compatibility. The(3s) functions comprise the standard I/O library. Together with the(3n), (3xti), (3yp) and(3) routines, these functions constitute library libc, which is automatically loaded by the C compiler (cc), the Pascal compiler (pc), and the FORTRAN compiler (f77). (FORTRAN and Pascal are optional and may not be installed on your system.) Declarations for these functions may be obtained from the include file, <stdio.h>. The link editor searches this library under the -lc option. Declarations for some of these functions may be obtained from include files indicated on the appropriate pages. On VAX machines, the GFLOAT version of libc is used when you use the command with the -Mg option, or you use the command with the -lcg option. The GFLOAT version of libc must be used with modules compiled with using the -Mg option. Note that neither the compiler nor the linker can detect when mixed double floating point types are used, and your program may produce erroneous results if this occurs on a VAX machine. Section 3cur The(3cur) library routines make up the X/Open curses library. These routines are different from the 4.2BSD curses routines contained in Section 3x. Section 3f The(3f) functions are all functions callable from FORTRAN. These functions perform the same jobs as do the(3) functions. An unsupported FORTRAN compiler, f77, is included in the VAX distribution. FORTRAN is available as a layered product on both VAX and RISC machines. Section 3int The(3int) functions assist programs in supporting native language interfaces. They are found in the internationalization library libi. Section 3krb The library of routines for the Kerberos authentication service. These routines support the authentication of commonly networked applica- tions across machine boundaries in a distributed network. Section 3m The(3m) functions constitute the math library, libm. They are automatically loaded as needed by the Pascal compiler (pc) and the FORTRAN compiler (f77). The link editor searches this library under the -lm option. Declarations for these functions may be obtained from the include file, < math.h >. On VAX machines, the GFLOAT version of libm is used when you use the command with the -lcg option. Note that you must use the GFLOAT version of libm with modules compiled using the command with the -Mg option. Note that neither the compiler nor the linker can detect when mixed double floating point types are used, and the program may produce erro- neous results if this occurs on a VAX machine. Section 3ncs This section describes the NCS (Network Computing System) library routines. The Title, Name, and See Also sections of the NCS reference pages do not contain the dollar ($) sign in the command names and library routines. The actual NCS commands and library routines do con- tain the dollar ($) sign. Section 3n These functions constitute the internet network library, Section 3x Various specialized libraries have not been given distinctive captions. Files in which such libraries are found are named on appropriate pages. Section 3xti The X/Open Transport Interface defines a transport service interface that is independent of any specific transport provider. The interface is provided by way of a set of library functions for the C programming language. Section 3yp These functions are specific to the Yellow Pages (YP) service. Environmental Compatibility The libraries in Sections 3, 3m, and 3s contain System V and POSIX compatibility features that are available to general ULTRIX programs. This compatibility sometimes conflicts with features already present in ULTRIX. That is, the function performed may be slightly different in the System V or POSIX environment. These features are provided for applications that are being ported from System V or written for a POSIX environment. The descriptions in these sections include an ENVIRONMENT section to describe any differences in function between System V or POSIX and the standard C runtime library. The System V compatibility features are not contained in the standard C runtime library. To get System V-specific behavior, you must spec- ify that the System V environment is to be used in compiling and linking programs. You can do this in one of two ways: 1. Using the -YSYSTEM_FIVE option for the command. 2. Globally setting the environment variable PROG_ENV to SYSTEM_FIVE. If you are using the C shell, you would execute the following line, or include it in your .login file: setenv PROG_ENV SYSTEM_FIVE If you are using the Bourne shell, you would execute the following line, or include it in your .profile file: PROG_ENV=SYSTEM_FIVE ; export PROG_ENV In both cases, the command defines the preprocessor symbol SYSTEM_FIVE, so that the C preprocessor, will select the System V version of various data structures and symbol definitions. In addition, if invokes the library libcV.a (the System V version of the Standard C library) is searched before libc.a to resolve refer- ences to the System-V-specific routines. Also, if -lm is specified on either the or the command line, then the System V version of the math library will be used instead of the regular ULTRIX math library. The POSIX compatibility features are included in the library libcP.a, so the only special action needed is to specify -YPOSIX on the com- mand line or set the environment variable PROG_ENV to POSIX. Either action will cause the command to define the preprocessor symbol POSIX and search the POSIX library. Files /usr/lib/libc.a /usr/lib/lib_cg.a (VAX only) /usr/lib/libm.a /usr/lib/libc_p.a (VAX only) /usr/lib/m_g.a (VAX only) /usr/lib/libm_p.a (VAX only) Diagnostics Functions in the math library(3m) may return conventional values when the function is undefined for the given arguments or when the value is not representable. In these cases the external variable errno is set to the value EDOM (domain error) or ERANGE (range error). For further information, see The values of EDOM and ERANGE are defined in the include file <math.h>. See Also cc(1), ld(1), nm(1), intro(2) intro(3m), intro(3n), intro(3ncs), intro(3s), intro(3xti) intro(3)