Skip site navigation (1)Skip section navigation (2)

FreeBSD Man Pages

Man Page or Keyword Search:
Man Architecture
Apropos Keyword Search (all sections) Output format
home | help
intro(3)							      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 routines
       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 stan-
       dard I/O	library.  Together with	the (3n), (3xti), (3yp)	and  (3)  rou-
       tines,  these functions constitute library libc,	which is automatically
       loaded by the C compiler	(cc), the Pascal compiler (pc),	and  the  FOR-
       TRAN  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 appropri-
       ate 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	unsup-
       ported FORTRAN compiler,	f77, is	included in the	VAX distribution. FOR-
       TRAN 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  applications
       across machine boundaries in a distributed network.

Section	3m
       The  (3m)  functions constitute the math	library, libm.	They are auto-
       matically 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  rou-
       tines.	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 com-
       patibility 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  specify
       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  SYS-
	    TEM_FIVE  If you are using the Bourne shell, you would execute the
	    following line, or include it in your .profile file: PROG_ENV=SYS-
	    TEM_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 references
       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  command
       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)

Name | Description | Sections 3 and 3s | Section 3cur | Section 3f | Section 3int | Section 3krb | Section 3m | Section 3ncs | Section 3n | Section 3x | Section 3xti | Section 3yp | Environmental Compatibility | Files | Diagnostics | See Also

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=intro&sektion=3&manpath=ULTRIX+4.2>

home | help