intro(3) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨페이지이름
검색(S)

intro(3)

Name
     Intro, intro - introduction to functions and libraries

Description
     This section describes functions found  in  various  Solaris
     libraries, other than those functions described in Section 2
     of this manual that directly invoke UNIX system  primitives.
     Function  declarations  can  be  obtained  from the #include
     files indicated on each page. Pages are grouped  by  library
     and  are  identified by the library name (or an abbreviation
     of the library name) after the section  number.  Collections
     of  related  libraries are grouped into volumes as described
     below. The first volume contains pages describing  the  con-
     tents  of  each  shared  library and each header used by the
     functions, macros, and external variables described  in  the
     remaining volumes.

  Library Interfaces and Headers
     This volume describes the contents of  each  shared  library
     and  each  header  used  by  functions, macros, and external
     variables described in the remaining volumes.

     (3LIB)
         The libraries described in this section are  implemented
         as shared objects.

         Descriptions of shared objects can include a  definition
         of  the  global  symbols that define the shared objects'
         public interface, for example SUNW_1.1. Other interfaces
         can   exist   within  the  shared  object,  for  example
         SUNWprivate.1.1. The public interface provides a stable,
         committed  set  of  symbols for application development.
         The private interfaces are for internal  use  only,  and
         could change at any time.


     (3HEAD)
         The headers described in this section are used by  func-
         tions,  macros,  and external variables. Headers contain
         function prototypes, definitions of symbolic  constants,
         common  structures,  preprocessor  macros,  and  defined
         types. Each function described  in  the  remaining  five
         volumes  specifies  the headers that an application must
         include in order to use that  function.  In  most  cases
         only  one  header is required. These headers are present
         on an application development system; they do have to be
         present on the target execution system.


  Basic Library Functions

     The functions described  in  this  volume  are  the  core  C
     library functions that are basic to application development.

     (3C)
         These functions, together with those of Section 2,  con-
         stitute the standard C library, libc, which is automati-
         cally linked by the C compilation system. The standard C
         library  is implemented as a shared object, libc.so. See
         libc(3LIB) and the "C Compilation System" chapter of the
         ANSI  C  Programmer's Guide for a discussion. Some func-
         tions behave differently in standard-conforming environ-
         ments.  This  behavior is noted on the individual manual
         pages. See standards(5).

         The  libpthread  and  libthread  libraries  are   filter
         libraries  on  libc  used  to  support programs built on
         older versions of Solaris.  See  MULTITHREADED  APPLICA-
         TIONS, below.


     (3C_DB)
         These  functions  constitute   the   threads   debugging
         library,  libc_db.  This  library  is  implemented  as a
         shared object,  libc_db.so,  but  is  not  automatically
         linked  by  the  C compilation system. Specify -lc_db on
         the cc command line  to  link  with  this  library.  See
         libc_db(3LIB).


     (3MALLOC)
         These functions constitute the various memory allocation
         libraries:    libmalloc,   libbsdmalloc,   libmapmalloc,
         libmtmalloc, and libumem. Each  of  these  libraries  is
         implemented    as   a   shared   object   (libmalloc.so,
         libbsdmalloc.so,    libmapmalloc.so,     libmtmalloc.so,
         libadimalloc.so,  and  libumem.so).  These libraries are
         not automatically linked by the  C  compilation  system.
         Specify  -lmalloc, -lbsdmalloc, -lmapmalloc, -lmtmalloc,
         -ladimalloc, and -lumem to link with, respectively, lib-
         malloc, libbsdmalloc, libmapmalloc, libmtmalloc, libadi-
         malloc, and libumem.  Note  that  libadimalloc  is  only
         usable  on  ADI capable processors. See libmalloc(3LIB),
         libbsdmalloc(3LIB),                  libmapmalloc(3LIB),
         libmtmalloc(3LIB),        libadimalloc(3LIB),        and
         libumem(3LIB).


  Networking Library Functions
     The functions described in this volume comprise the  various
     networking libraries.
     (3COMMPUTIL)
         These functions constitute  the  communication  protocol
         parser  utilities library, libcommputil. This library is
         implemented as a shared object, libcommputil.so, but  it
         is not automatically linked by the C compilation system.
         Specify -lcommputil on the cc command line to link  with
         this library. See libcommputil(3LIB).


     (3DLPI)
         These functions constitute the data link provider inter-
         face  library, libdlpi. This library is implemented as a
         shared object, libdlpi.so, but it is  not  automatically
         linked  by  the  C compilation system. Specify -ldlpi on
         the cc command line  to  link  with  this  library.  See
         libdlpi(3LIB).


     (3DNS_SD)
         These functions constitute  the  DNS  service  discovery
         library,  libdns_sd.  This  library  is implemented as a
         shared object, libdns_sd.so, but it is not automatically
         linked  by the C compilation system. Specify -ldns_sd on
         the cc command line  to  link  with  this  library.  See
         libdns_sd(3LIB).


     (3GSS)
         These functions constitute the generic security services
         library. This library is implemented as a shared object,
         libgss.so, but it is not automatically linked by  the  C
         compilation system. Specify -lgss on the cc command line
         to link with this library. See libgss(3LIB).


     (3LDAP)
         These functions  constitute  the  lightweight  directory
         access protocol library, libldap. This library is imple-
         mented as  a  shared  object,  libldap.so,  but  is  not
         automatically   linked  by  the  C  compilation  system.
         Specify -lldap on the cc command line to link with  this
         library. See ldap(3LDAP).


     (3NSL)
         Functions previously documented in the  network  service
         library  (3NSL),  have  been  moved  to  the  standard C
         library. They are now documented in the 3C section.  The
         libnsl  library is implemented as a filter on libc(3LIB)
         to support objects built on older versions  of  Solaris.
         There is no need for a new application to link with this
         library.


     (3RESOLV)
         These  functions  constitute   the   resolver   library,
         libresolv.  This  library  is  implemented  as  a shared
         object, libresolv.so, but is not automatically linked by
         the  C  compilation  system.  Specify -lresolv on the cc
         command  line   to   link   with   this   library.   See
         libresolv(3LIB).


     (3RPC)
         These functions constitute  the  remote  procedure  call
         libraries,  librpcsvc  and librpcsoc. The latter is pro-
         vided for compatibility only;  new  applications  should
         not link to it. Both libraries are implemented as shared
         objects, librpcsvc.so  and  librpcsoc.so,  respectively.
         Neither  library is automatically linked by the C compi-
         lation system. Specify -lrpcsvc or -lrpcsoc  on  the  cc
         command   line   to   link  with  these  libraries.  See
         librpcsvc(3LIB).


     (3SASL)
         These functions constitute the simple authentication and
         security  layer library, libsasl. This library is imple-
         mented as a shared object, libsasl.so,  but  it  is  not
         automatically   linked  by  the  C  compilation  system.
         Specify -lsasl on the cc command line to link with  this
         library. See libsasl(3LIB).


     (3SIP)
         These functions constitute the session initiation proto-
         col  library,  libsip.  This library is implemented as a
         shared object, libsip.so, but it  is  not  automatically
         linked by the C compilation system. Specify -lsip on the
         cc  command  line  to  link  with  this   library.   See
         libsip(3LIB).


     (3SLP)
         These functions constitute the service location protocol
         library, libslp. This library is implemented as a shared
         object, libslp.so, but it is not automatically linked by
         the  C  compilation system. Specify -lslp on the cc com-
         mand line to link with this library. See libslp(3LIB).

     (3SOCKET)
         Functions previously documented in  the  socket  library
         (3SOCKET),  have  been  moved to the standard C library.
         They are now documented in the 3C section. The libsocket
         library is implemented as a filter on libc(3LIB) to sup-
         port objects built on older versions of  Solaris.  There
         is  no  need  for  a  new  application to link with this
         library.


     (3XNET)
         Functions previously documented in the X/Open networking
         library  (3XNET),  have  been  moved  to  the standard C
         library. They are now documented in the 3C section.  The
         libxnet library is implemented as a filter on libc(3LIB)
         to support objects built on older versions  of  Solaris.
         There is no need for a new application to link with this
         library.


  Curses Library Functions
     The  functions  described  in  this  volume   comprise   the
     libraries  that provide graphics and character screen updat-
     ing capabilities.

     (3CURSES)
         The functions constitute the following libraries:

         libcurses
             These functions constitute the curses library,  lib-
             curses.  This  library  is  implemented  as a shared
             object,  libcurses.so,  but  is  not   automatically
             linked by the C compilation system. Specify -lcurses
             on the cc command line to link  with  this  library.
             See libcurses(3LIB).


         libform
             These functions constitute the forms  library,  lib-
             form.  This  library  is  implemented  as  a  shared
             object, libform.so, but is not automatically  linked
             by  the  C compilation system. Specify -lform on the
             cc command line  to  link  with  this  library.  See
             libform(3LIB).


         libmenu
             These functions constitute the menus  library,  lib-
             menu.  This  library  is  implemented  as  a  shared
             object, libmenu.so, but is not automatically  linked
             by  the  C compilation system. Specify -lmenu on the
             cc command line  to  link  with  this  library.  See
             libmenu(3LIB).


         libpanel
             These functions constitute the panels library,  lib-
             panel.  This  library  is  implemented  as  a shared
             object, libpanel.so, but is not automatically linked
             by  the C compilation system. Specify -lpanel on the
             cc command line  to  link  with  this  library.  See
             libpanel(3LIB).



     (3XCURSES)
         These functions constitute the  X/Open  curses  library,
         located in /usr/xpg4/lib/libcurses.so. This library pro-
         vides a set of internationalized  functions  and  macros
         for  creating and modifying input and output to a termi-
         nal screen. Included in this library are  functions  for
         creating  windows,  highlighting  text,  writing  to the
         screen, reading from user input, and moving the  cursor.
         X/Open  Curses  is  designed  to  optimize screen update
         activities. The X/Open  Curses  library  conforms  fully
         with  Issue  4  of the X/Open Extended Curses specifica-
         tion. See libcurses(3XCURSES).


  Extended Library Functions, Vol. 1
     The functions described in this volume comprise the  follow-
     ing specialized libraries:

     (3CFGADM)
         These functions constitute the configuration administra-
         tion  library, libcfgadm. This library is implemented as
         a shared object, libcfgadm.so, but is not  automatically
         linked  by the C compilation system. Specify -lcfgadm on
         the cc command line  to  link  with  this  library.  See
         libcfgadm(3LIB).


     (3CONTRACT)
         These  functions  constitute  the  contract   management
         library,  libcontract.  This library is implemented as a
         shared object, libcontract.so, but is not  automatically
         linked  by  the C compilation system. Specify -lcontract
         on the cc command line to link with  this  library.  See
         libcontract(3LIB).

     (3CPC)
         These functions constitute the CPU  performance  counter
         library,   libcpc,  and  the  process  context  library,
         libpctx.  These  libraries  are  implemented  as  shared
         objects, libcpc.so and libpctx.so, respectively, but are
         not automatically linked by the  C  compilation  system.
         Specify  -lcpc  or -lpctx on the cc command line to link
         with   these    libraries.    See    libcpc(3LIB)    and
         libpctx(3LIB).


     (3DAT)
         These functions constitute the direct  access  transport
         library, libdat. This library is implemented as a shared
         object, libdat.so, but is not  automatically  linked  by
         the  C  compilation system. Specify -ldat on the cc com-
         mand line to link with this library. See libdat(3LIB).


     (3DEVID)
         These functions constitute the device ID library, libde-
         vid.  This  library  is  implemented as a shared object,
         libdevid.so, but is not automatically linked  by  the  C
         compilation  system.  Specify  -ldevid on the cc command
         line to link with this library. See libdevid(3LIB).


     (3DEVINFO)
         These  functions  constitute  the   device   information
         library,  libdevinfo.  This  library is implemented as a
         shared object, libdevinfo.so, but is  not  automatically
         linked by the C compilation system. Specify -ldevinfo on
         the cc command line  to  link  with  this  library.  See
         libdevinfo(3LIB).


     (3ELF)
         These  functions  constitute  the  ELF  access  library,
         libelf,  (Extensible  Linking Format). This library pro-
         vides the interface for the  creation  and  analyses  of
         "elf"  files;  executables, objects, and shared objects.
         libelf is implemented as a shared object, libelf.so, but
         is not automatically linked by the C compilation system.
         Specify -lelf on the cc command line to link  with  this
         library. See libelf(3LIB).


     (3EXACCT)
         These  functions  constitute  the  extended   accounting
         access  library,  libexacct,  and  the  project database
         access library, libproject. These libraries  are  imple-
         mented    as    shared    objects,    libexacct.so   and
         libproject.so, respectively, but are  not  automatically
         linked  by the C compilation system. Specify -lexacct or
         -lproject on the cc command  line  to  link  with  these
         libraries. See libexacct(3LIB) and libproject(3LIB).


     (3FCOE)
         These functions constitute the Fibre  Channel  over Eth-
         ernet  port  management  library. This library is imple-
         mented as  a  shared  object,  libfcoe.so,  but  is  not
         automatically   linked  by  the  C  compilation  system.
         Specify -lfcoe on the cc command line to link with  this
         library. See libfcoe(3LIB).


     (3FM)
         These functions constitute the fault  management  events
         library. This library is implemented as a shared object,
         libfmevent.so, but is not automatically linked by the  C
         compilation  system. Specify -lfmevent on the cc command
         line to link with this library. See libfmevent(3LIB).


     (3FSTYP)
         These functions constitute the file system type identif-
         ication library. This library is implemented as a shared
         object, libfstyp.so, but is not automatically linked  by
         the C compilation system. Specify -lfstyp on the cc com-
         mand line to link with this library. See libfstyp(3LIB).


  Extended Library Functions, Vol. 2
     The functions described in this volume comprise the  follow-
     ing specialized libraries:

     (3GEN)
         These functions constitute the  string  pattern-matching
         and  pathname manipulation library, libgen. This library
         is implemented as a shared object, libgen.so, but is not
         automatically   linked  by  the  C  compilation  system.
         Specify -lgen on the cc command line to link  with  this
         library. See libgen(3LIB).


     (3HBAAPI)
         These functions constitute the common fibre channel  HBA
         information   library,   libhbaapi.   This   library  is
         implemented as a shared object, libhbaapi.so, but is not
         automatically   linked  by  the  C  compilation  system.
         Specify -lhbaapi on the cc command  line  to  link  with
         this library. See libhbaapi(3LIB).


     (3ISCSIT)
         These functions constitute the iSCSI Management library,
         libiscsit.  This  library  is  implemented  as  a shared
         object, libiscsit.so, but is not automatically linked by
         the  C  compilation  system.  Specify -liscsit on the cc
         command  line   to   link   with   this   library.   See
         libiscsit(3LIB).


     (3KSTAT)
         These  functions  constitute   the   kernel   statistics
         library,  which  is  implemented  as  a  shared  object,
         libkstat.so, but is not automatically linked  by  the  C
         compilation  system.  Specify  -lkstat on the cc command
         line to link with this library. See libkstat(3LIB).


     (3KVM)
         These functions allow access  to  the  kernel's  virtual
         memory library, which is implemented as a shared object,
         libkvm.so, but is not automatically linked by the C com-
         pilation system. Specify -lkvm on the cc command line to
         link with this library. See libkvm(3LIB).


     (3LAYOUT)
         These functions constitute the layout  service  library,
         which  is  implemented as a shared object, liblayout.so,
         but is not automatically linked  by  the  C  compilation
         system.  Specify -llayout on the cc command line to link
         with this library. See liblayout(3LIB).


     (3LGRP)
         These functions constitute the locality  group  library,
         which is implemented as a shared object, liblgrp.so, but
         is not automatically linked by the C compilation system.
         Specify  -llgrp on the cc command line to link with this
         library. See liblgrp(3LIB).


     (3M)
         These functions  constitute  the  mathematical  library,
         libm.  This  library  is implemented as a shared object,
         libm.so, but is not automatically linked by the C compi-
         lation  system.  Specify  -lm  on the cc command line to
         link with this library. See libm(3LIB).


     (3MAIL)
         These functions constitute the user  mailbox  management
         library,  libmail.  This  library  is  implemented  as a
         shared object,  libmail.so,  but  is  not  automatically
         linked  by  the  C compilation system. Specify -lmail on
         the cc command line  to  link  with  this  library.  See
         libmail(3LIB).


     (3MP)
         These  functions  constitute  the  integer  mathematical
         library,  libmp. This library is implemented as a shared
         object, libmp.so, but is not automatically linked by the
         C  compilation  system.  Specify  -lmp on the cc command
         line to link with this library. See libmp(3LIB).


     (3MPAPI)
         These functions constitute the Common Mulitipath Manage-
         ment library, libMPAPI. This library is implemented as a
         shared object, libMPAPI.so,  but  is  not  automatically
         linked  by  the C compilation system. Specify -lMPAPI on
         the cc command line  to  link  with  this  library.  See
         libMPAPI(3LIB).


     (3MVEC)
         These  functions  constitute  the  vector   mathematical
         library,  libmvec.  This  library  is  implemented  as a
         shared object,  libmvec.so,  but  is  not  automatically
         linked  by  the  C compilation system. Specify -lmvec on
         the cc command line  to  link  with  this  library.  See
         libmvec(3LIB).


  Extended Library Functions, Vol. 3
     The functions described in this volume comprise the  follow-
     ing specialized libraries:

     (3NVPAIR)
         These functions constitute the name-value pair  library,
         libnvpair.  This  library  is  implemented  as  a shared
         object, libnvpair.so, but is not automatically linked by
         the  C  compilation  system.  Specify -lnvpair on the cc
         command  line   to   link   with   this   library.   See
         libnvpair(3LIB).


     (3PAM)
         These functions constitute the pluggable  uuthentication
         module library, libpam. This library is implemented as a
         shared  object,  libpam.so,  but  is  not  automatically
         linked by the C compilation system. Specify -lpam on the
         cc  command  line  to  link  with  this   library.   See
         libpam(3LIB).


     (3PAPI)
         These functions constitute the Free Standards Group Open
         Printing  API  (PAPI)  library, libpapi. This library is
         implemented as a shared object, libpapi.so, but  is  not
         automatically   linked  by  the  C  compilation  system.
         Specify -lpapi on the cc command line to link with  this
         library. See libpapi(3LIB).


     (3PICL)
         These functions constitute the  PICL  library,  libpicl.
         This   library   is  implemented  as  a  shared  object,
         libpicl.so, but is not automatically  linked  by  the  C
         compilation  system.  Specify  -lpicl  on the cc command
         line to link with this library.  See  libpicl(3LIB)  and
         libpicl(3PICL).


     (3PICLTREE)
         These functions constitute  the  PICL  plug-in  library,
         libpicltree.  This  library  is  implemented as a shared
         object, libpicltree.so, but is not automatically  linked
         by  the  C compilation system. Specify -lpicltree on the
         cc  command  line  to  link  with  this   library.   See
         libpicltree(3LIB) and libpicltree(3PICLTREE).


     (3POOL)
         These functions constitute the pool configuration  mani-
         pulation  library,  libpool. This library is implemented
         as a shared object, libpool.so, but is not automatically
         linked  by  the  C compilation system. Specify -lpool on
         the cc command line  to  link  with  this  library.  See
         libpool(3LIB).

     (3PROJECT)
         These functions constitute the project  database  access
         library,  libproject.  This  library is implemented as a
         shared object, libproject.so, but is  not  automatically
         linked by the C compilation system. Specify -lproject on
         the cc command line  to  link  with  this  library.  See
         libproject(3LIB).


     (3REPARSE)
         These functions constitute the  reparse  point  library,
         libreparse.  This  library  is  implemented  as a shared
         object, libreparse.so, but is not  automatically  linked
         by the C compilation system. Specify -lreparse on the cc
         command  line   to   link   with   this   library.   See
         libreparse(3LIB).


  Extended Library Functions, Vol. 4
     The functions described in this volume comprise the  follow-
     ing specialized libraries:

     (3SCF)
         These functions  constitute  the  object-caching  memory
         allocation  library, libscf. This library is implemented
         as a shared object, libscf.so, but is not  automatically
         linked by the C compilation system. Specify -lscf on the
         cc  command  line  to  link  with  this   library.   See
         libscf(3LIB).


     (3SEC)
         These  functions  constitute  the  file  access  control
         library, libsec. This library is implemented as a shared
         object, libsec.so, but is not  automatically  linked  by
         the  C  compilation system. Specify -lsec on the cc com-
         mand line to link with this library. See libsec(3LIB).


     (3SRPT)
         These functions constitute  the  SRP  Target  Management
         library,  libsrpt.  This  library  is  implemented  as a
         shared object,  libsrpt.so,  but  is  not  automatically
         linked  by  the  C compilation system. Specify -lsrpt on
         the cc command line  to  link  with  this  library.  See
         libsrpt(3LIB).

     (3STMF)
         These functions constitute the SCSI Target  Mode  Frame-
         work  library, libstmf. This library is implemented as a
         shared object,  libstmf.so,  but  is  not  automatically
         linked  by  the  C compilation system. Specify -lstmf on
         the cc command line  to  link  with  this  library.  See
         libstmf(3LIB).


     (3SYSEVENT)
         These functions constitute  the  system  event  library,
         libsysevent.  This  library  is  implemented as a shared
         object, libsysevent.so, but is not automatically  linked
         by  the  C compilation system. Specify -lsysevent on the
         cc  command  line  to  link  with  this   library.   See
         libsysevent(3LIB).


     (3TECLA)
         These functions constitute the interactive  command-line
         input  library, libtecla. This library is implemented as
         a shared object, libtecla.so, but is  not  automatically
         linked  by  the C compilation system. Specify -ltecla on
         the cc command line  to  link  with  this  library.  See
         libtecla(3LIB).


     (3TSOL)
         These  functions  constitute  the   Trusted   Extensions
         library,  libtsol,  and  the  Trusted Extensions network
         library, libtsnet. These libraries  are  implemented  as
         shared  objects, libtsol.so and libtsnet.so, but are not
         automatically  linked  by  the  C  compilation   system.
         Specify -ltsol or -ltsnet on the cc command line to link
         with   these   libraries.    See    libtsol(3LIB)    and
         libtsnet(3LIB).


     (3UUID)
         These functions constitute the universally unique  iden-
         tifier  library, libuuid. This library is implemented as
         a shared object, libuuid.so, but  is  not  automatically
         linked  by  the  C compilation system. Specify -luuid on
         the cc command line  to  link  with  this  library.  See
         libuuid(3LIB).


     (3VOLMGT)
         These  functions  constitute   the   volume   management
         library,  libvolmgt.  This  library  is implemented as a
         shared object, libvolmgt.so, but  is  not  automatically
         linked  by the C compilation system. Specify -lvolmgt on
         the cc command line  to  link  with  this  library.  See
         libvolmgt(3LIB).


     (3XTSOL)
         These functions constitute the Trusted Extensions to the
         X windows library, libXtsol. This library is implemented
         as a shared object, libXtsol.so, but  is  not  automati-
         cally  linked by the C compilation system. Specify -lX11
         and then -lXtsol on the cc command  line  to  link  with
         this library. See libXtsol(3LIB).


     (3ZONESTAT)
         These functions constitute the zones statistics library,
         libzonestat.  This  library  is  implemented as a shared
         object, libzonestat.so, but is not automatically  linked
         by  the  C compilation system. Specify -lzonestat on the
         cc  command  line  to  link  with  this   library.   See
         libzonestat(3LIB).


  Multimedia Library Functions
     (3MLIB)
         These  functions  constitute   the   mediaLib   library,
         libmlib. This library is implemented as a shared object,
         libmlib.so, but is not automatically  linked  by  the  C
         compilation  system.  Specify  -lmlib  on the cc command
         line to link with this library. See libmlib(3LIB).

Definitions
     A character is any bit pattern able to fit into  a  byte  on
     the  machine.  In  some  international languages, however, a
     "character"  might  require  more  than  one  byte,  and  is
     represented in multi-bytes.


     The null character is a character with value 0,  convention-
     ally  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 headers.

Multithreaded Applications
     Both POSIX threads and Solaris threads can  be  used  within
     the  same  application. Their implementations are completely
     compatible with each  other;  however,  only  POSIX  threads
     guarantee  portability  to  other  POSIX-conforming environ-
     ments. See threads(5).


     The  libpthread(3LIB)  and  libthread(3LIB)  libraries   are
     implemented  as  filters  on  libc(3LIB)  to support objects
     built on older versions of Solaris. There is no need  for  a
     multithreaded application to link with these libraries.


     In  the  default  compilation  environment,   when   neither
     _POSIX_C_SOURCE  nor _XOPEN_SOURCE is defined, all functions
     as specified by the latest POSIX  standard  are  visible  to
     code  being  compiled,  along  with  all other functions and
     names provided by Solaris. For Solaris 12, this  corresponds
     to  The  Open  Group,  Single UNIX Specification, Version 4,
     December 2010 (IEEE Std 1003.1-2008, aka XPG7, UNIX V7). The
     default compilation environment is equivalent to:

       cc -D_POSIX_C_SOURCE=200809L -D__EXTENSIONS__ ...
       or
       cc -D_XOPEN_SOURCE=700 -D__EXTENSIONS__ ...



     Prior to Solaris 12,  the  default  compilation  environment
     made  the  Draft-6 POSIX.1c-1995 (POSIX Threads) versions of
     several interfaces visible to code  being  compiled,  rather
     than the final POSIX.1c-1995 versions. To allow applications
     that were written to use the obsolete Draft-6 interfaces  to
     continue    to    be    compiled    and    run,    the     -
     D__USE_DRAFT6_PROTOTYPES__ option must be used:

       cc -D__USE_DRAFT6_PROTOTYPES__ ...



     Support for the Draft-6 interfaces is  provided  for  source
     compatibility  only  and  might  not  be supported in future
     releases. Old applications should be converted  to  use  the
     standard definitions.


     Unsafe interfaces should be called only from the main thread
     to ensure the application's safety.

     MT-Safe interfaces are denoted in the ATTRIBUTES section  of
     the   functions  and  libraries  manual  pages  (see  attri-
     butes(5)). If a manual page does not state  explicitly  that
     an  interface  is  MT-Safe,  the user should assume that the
     interface is unsafe.

Realtime Applications
     The environment variable LD_BIND_NOW must be set to  a  non-
     null value to enable early binding. See When Relocations Are
     Performed, in the Linkers and Libraries Guide for additional
     information.

Files
     INCDIR
                    usually /usr/include


     LIBDIR
                    usually either /lib or /usr/lib  (32-bit)  or
                    either /lib/64 or /usr/lib/64 (64-bit)


     LIBDIR/*.so
                    shared libraries

Acknowledgments
     Oracle America, Inc. gratefully acknowledges The Open  Group
     for  permission  to  reproduce  portions  of its copyrighted
     documentation. Original documentation from  The  Open  Group
     can          be          obtained          online       at
     http://www.opengroup.org/bookstore/.


     The Institute of Electrical and  Electronics  Engineers  and
     The Open Group, have given us permission to reprint portions
     of their documentation.


     In the following statement, the phrase ``this text''  refers
     to portions of the system documentation.


     Portions of this text are reprinted and reproduced in  elec-
     tronic  form  in  the  SunOS Reference Manual, from IEEE Std
     1003.1, 2004 Edition, Standard for Information Technology --
     Portable  Operating System Interface (POSIX), The Open Group
     Base Specifications Issue 6, Copyright (C) 2001-2004 by  the
     Institute  of  Electrical and Electronics Engineers, Inc and
     The Open Group. In the  event  of  any  discrepancy  between
     these  versions  and  the  original  IEEE and The Open Group
     Standard, the original IEEE and The Open Group  Standard  is
     the referee document.  The original Standard can be obtained
     online at http://www.opengroup.org/unix/online.html.

     This notice shall appear  on  any  product  containing  this
     material.

See Also
     ar(1),  ld(1),  fork(2),  stdio(3C),  attributes(5),   standards(5),
     threads(5)


     Linkers and Libraries Guide


     Performance Profiling Tools


     ANSI C Programmer's Guide

Diagnostics
     For functions that return floating-point values, error  han-
     dling  varies  according  to compilation mode. Under the -Xt
     (default) option to cc, these functions return  the  conven-
     tional  values  0,  +-HUGE, or NaN when the function is unde-
     fined for the given arguments  or  when  the  value  is  not
     representable.   In  the  -Xa  and  -Xc  compilation  modes,
     +-HUGE_VAL is returned instead of +-HUGE. (HUGE_VAL  and  HUGE
     are  defined  in  math.h  to  be  infinity  and the largest-
     magnitude single-precision number, respectively.)

Notes
     None of the functions, external variables, or macros  should
     be  redefined  in the user's programs. Any other name can be
     redefined without affecting the behavior  of  other  library
     functions,  but  such  redefinition  might  conflict  with a
     declaration in an included header.


     The headers in INCDIR provide function prototypes  (function
     declarations  including  the types of arguments) for most of
     the functions listed in  this  manual.  Function  prototypes
     allow the compiler to check for correct usage of these func-
     tions in the user's program. The lint  program  checker  can
     also  be  used  and  will  report  discrepancies even if the
     headers are not included with #include  statements.  Defini-
     tions for Sections 2 and 3C are checked automatically. Other
     definitions can be included by using the -l option to  lint.
     (For  example,  -lm  includes  definitions for libm.) Use of
     lint is highly recommended. See the lint chapter in  Perfor-
     mance Profiling Tools


     Users should carefully note the difference  between  STREAMS
     and  stream. STREAMS is a set of kernel mechanisms that sup-
     port  the  development  of   network   services   and   data
     communication  drivers.  It is composed of utility routines,
     kernel facilities, and a set of data structures. A stream is
     a file with its associated buffering. It is declared to be a
     pointer to a type FILE defined in <stdio.h>.


     In detailed  definitions  of  components,  it  is  sometimes
     necessary    to   refer   to   symbolic   names   that   are
     implementation-specific,  but  which  are  not   necessarily
     expected to be accessible to an application program. Many of
     these symbolic names describe boundary conditions and system
     limits.


     In this  section,  for  readability,  these  implementation-
     specific values are given symbolic names. These names always
     appear enclosed in curly brackets to distinguish  them  from
     symbolic  names  of  other implementation-specific constants
     that are accessible  to  application  programs  by  headers.
     These names are not necessarily accessible to an application
     program through a header, although they can  be  defined  in
     the documentation for a particular system.


     In general, a portable application program should not  refer
     to  these symbolic names in its code. For example, an appli-
     cation program would not be expected to test the  length  of
     an  argument  list given to a routine to determine if it was
     greater than {ARG_MAX}.
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3