Print this page
11582 3SCF isn't the object-caching memory allocation library

Split Close
Expand all
Collapse all
          --- old/usr/src/man/man3/Intro.3
          +++ new/usr/src/man/man3/Intro.3
   1    1  '\" te
   2      -.\" Copyright 2017 Peter Tribble
        2 +.\" Copyright 2019 Peter Tribble
   3    3  .\" Copyright 2015 Joyent, Inc.
   4    4  .\" Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved.
   5    5  .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License").  You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
   6    6  .\"  See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE.  If applicable, add the following below this CDDL HEADER, with
   7    7  .\" the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
   8      -.TH INTRO 3 "Nov 26, 2017"
        8 +.TH INTRO 3 "Aug 19, 2019"
   9    9  .SH NAME
  10   10  Intro, intro \- introduction to functions and libraries
  11   11  .SH DESCRIPTION
  12      -.LP
  13   12  This section describes functions found in various Solaris libraries, other than
  14   13  those functions described in Section 2 of this manual that directly invoke UNIX
  15   14  system primitives. Function declarations can be obtained from the
  16   15  \fB#include\fR files indicated on each page. Pages are grouped by library and
  17   16  are identified by the library name (or an abbreviation of the library name)
  18   17  after the section number. Collections of related libraries are grouped into
  19   18  volumes as described below. The first volume contains pages describing the
  20   19  contents of each shared library and each header used by the functions, macros,
  21   20  and external variables described in the remaining volumes.
  22   21  .SS "Library Interfaces and Headers"
  23      -.LP
  24   22  This volume describes the contents of each shared library and each header used
  25   23  by functions, macros, and external variables described in the remaining
  26   24  volumes.
  27   25  .sp
  28   26  .ne 2
  29   27  .na
  30   28  \fB(3LIB)\fR
  31   29  .ad
  32   30  .sp .6
  33   31  .RS 4n
↓ open down ↓ 17 lines elided ↑ open up ↑
  51   49  The headers described in this section are used by functions, macros, and
  52   50  external variables. Headers contain function prototypes, definitions of
  53   51  symbolic constants, common structures, preprocessor macros, and defined types.
  54   52  Each function described in the remaining five volumes specifies the headers
  55   53  that an application must include in order to use that function. In most cases
  56   54  only one header is required. These headers are present on an application
  57   55  development system; they do have to be present on the target execution system.
  58   56  .RE
  59   57  
  60   58  .SS "Basic Library Functions"
  61      -.LP
  62   59  The functions described in this volume are the core C library functions that
  63   60  are basic to application development.
  64   61  .sp
  65   62  .ne 2
  66   63  .na
  67   64  \fB(3C)\fR
  68   65  .ad
  69   66  .sp .6
  70   67  .RS 4n
  71   68  These functions, together with those of Section 2, constitute the standard C
↓ open down ↓ 38 lines elided ↑ open up ↑
 110  107  \fBlibmtmalloc.so\fR, and \fBlibumem.so\fR). These libraries are not
 111  108  automatically linked by the C compilation system. Specify \fB-lmalloc\fR,
 112  109  \fB-lbsdmalloc\fR, \fB-lmapmalloc\fR, \fB-lmtmalloc\fR, and \fB-lumem\fR to
 113  110  link with, respectively, \fBlibmalloc\fR, \fBlibbsdmalloc\fR,
 114  111  \fBlibmapmalloc\fR, \fBlibmtmalloc\fR, and \fBlibumem\fR. See
 115  112  \fBlibmalloc\fR(3LIB), \fBlibbsdmalloc\fR(3LIB), \fBlibmapmalloc\fR(3LIB),
 116  113  \fBlibmtmalloc\fR(3LIB), and \fBlibumem\fR(3LIB).
 117  114  .RE
 118  115  
 119  116  .SS "Networking Library Functions"
 120      -.LP
 121  117  The functions described in this volume comprise the various networking
 122  118  libraries.
 123  119  .sp
 124  120  .ne 2
 125  121  .na
 126  122  \fB(3COMMPUTIL)\fR
 127  123  .ad
 128  124  .sp .6
 129  125  .RS 4n
 130  126  These functions constitute the communication protocol parser utilities library,
↓ open down ↓ 175 lines elided ↑ open up ↑
 306  302  .sp
 307  303  .LP
 308  304  Under all circumstances, the use of the Sockets API is recommended over the XTI
 309  305  and TLI APIs. If portability to other XPGV4v2 (see \fBstandards\fR(5)) systems
 310  306  is a requirement, the application must use the \fBlibxnet\fR interfaces. If
 311  307  portability is not required, the sockets interfaces in \fBlibsocket\fR and
 312  308  \fBlibnsl\fR are recommended over those in \fBlibxnet\fR. Between the XTI and
 313  309  TLI APIs, the \fBXTI\fR interfaces (available with \fBlibxnet\fR) are
 314  310  recommended over the \fBTLI\fR interfaces (available with \fBlibnsl\fR).
 315  311  .SS "Curses Library Functions"
 316      -.LP
 317  312  The functions described in this volume comprise the libraries that provide
 318  313  graphics and character screen updating capabilities.
 319  314  .sp
 320  315  .ne 2
 321  316  .na
 322  317  \fB(3CURSES)\fR
 323  318  .ad
 324  319  .sp .6
 325  320  .RS 4n
 326  321  The functions constitute the following libraries:
↓ open down ↓ 62 lines elided ↑ open up ↑
 389  384  \fB/usr/xpg4/lib/libcurses.so\fR. This library provides a set of
 390  385  internationalized functions and macros for creating and modifying input and
 391  386  output to a terminal screen. Included in this library are functions for
 392  387  creating windows, highlighting text, writing to the screen, reading from user
 393  388  input, and moving the cursor. X/Open Curses is designed to optimize screen
 394  389  update activities. The X/Open Curses library conforms fully with Issue 4 of the
 395  390  X/Open Extended Curses specification. See \fBlibcurses\fR(3XCURSES).
 396  391  .RE
 397  392  
 398  393  .SS "Extended Library Functions"
 399      -.LP
 400  394  The functions described in this volume comprise the following specialized
 401  395  libraries:
 402  396  .sp
 403  397  .ne 2
 404  398  .na
 405  399  \fB(3BSM)\fR
 406  400  .ad
 407  401  .sp .6
 408  402  .RS 4n
 409  403  These functions constitute the auditing library, \fBlibbsm\fR. This
↓ open down ↓ 413 lines elided ↑ open up ↑
 823  817  \fBcc\fR command line to link with this library. See \fBlibrsm\fR(3LIB).
 824  818  .RE
 825  819  
 826  820  .sp
 827  821  .ne 2
 828  822  .na
 829  823  \fB(3SCF)\fR
 830  824  .ad
 831  825  .sp .6
 832  826  .RS 4n
 833      -These functions constitute the object-caching memory allocation library,
      827 +These functions constitute the service configuration facility library,
 834  828  \fBlibscf\fR. This library is implemented as a shared object, \fBlibscf.so\fR,
 835  829  but is not automatically linked by the C compilation system. Specify
 836  830  \fB-lscf\fR on the \fBcc\fR command line to link with this library. See
 837  831  \fBlibscf\fR(3LIB).
 838  832  .RE
 839  833  
 840  834  .sp
 841  835  .ne 2
 842  836  .na
 843  837  \fB(3SEC)\fR
↓ open down ↓ 114 lines elided ↑ open up ↑
 958  952  .ad
 959  953  .sp .6
 960  954  .RS 4n
 961  955  These functions constitute the volume management library, \fBlibvolmgt\fR. This
 962  956  library is implemented as a shared object, \fBlibvolmgt.so\fR, but is not
 963  957  automatically linked by the C compilation system. Specify \fB-lvolmgt\fR on the
 964  958  \fBcc\fR command line to link with this library. See \fBlibvolmgt\fR(3LIB).
 965  959  .RE
 966  960  
 967  961  .SH DEFINITIONS
 968      -.LP
 969  962  A character is any bit pattern able to fit into a byte on the machine. In some
 970  963  international languages, however, a "character" might require more than one
 971  964  byte, and is represented in multi-bytes.
 972  965  .sp
 973  966  .LP
 974  967  The null character is a character with value 0, conventionally represented in
 975  968  the C language as \fB\e\|0\fR\&. A character array is a sequence of characters.
 976  969  A null-terminated character array (a \fIstring\fR) is a sequence of characters,
 977  970  the last of which is the null character. The null string is a character array
 978  971  containing only the terminating null character. A null pointer is the value
 979  972  that is obtained by casting \fB0\fR into a pointer. C guarantees that this
 980  973  value will not match that of any legitimate pointer, so many functions that
 981  974  return pointers return \fINULL\fR to indicate an error. The macro \fINULL\fR is
 982  975  defined in <\fBstdio.h\fR>. Types of the form \fBsize_t\fR are defined in the
 983  976  appropriate headers.
 984  977  .SH MULTITHREADED APPLICATIONS
 985      -.LP
 986  978  Both POSIX threads and Solaris threads can be used within the same application.
 987  979  Their implementations are completely compatible with each other; however, only
 988  980  POSIX threads guarantee portability to other POSIX-conforming environments.
 989  981  .sp
 990  982  .LP
 991  983  The \fBlibpthread\fR(3LIB) and \fBlibthread\fR(3LIB) libraries are implemented
 992  984  as filters on \fBlibc\fR(3LIB).
 993  985  .sp
 994  986  .LP
 995  987  When compiling a multithreaded application, the \fB-mt\fR option must be
↓ open down ↓ 43 lines elided ↑ open up ↑
1039 1031  .LP
1040 1032  Unsafe interfaces should be called only from the main thread to ensure the
1041 1033  application's safety.
1042 1034  .sp
1043 1035  .LP
1044 1036  MT-Safe interfaces are denoted in the \fBATTRIBUTES\fR section of the functions
1045 1037  and libraries manual pages (see \fBattributes\fR(5)). If a manual page does not
1046 1038  state explicitly that an interface is MT-Safe, the user should assume that the
1047 1039  interface is unsafe.
1048 1040  .SH REALTIME APPLICATIONS
1049      -.LP
1050 1041  The environment variable \fBLD_BIND_NOW\fR must be set to a non-null value to
1051 1042  enable early binding. Refer to the "When Relocations are Processed" chapter in
1052 1043  \fILinker and Libraries Guide\fR for additional information.
1053 1044  .SH FILES
1054 1045  .ne 2
1055 1046  .na
1056 1047  \fB\fIINCDIR\fR\fR
1057 1048  .ad
1058 1049  .RS 15n
1059 1050  usually \fB/usr/include\fR
↓ open down ↓ 12 lines elided ↑ open up ↑
1072 1063  .sp
1073 1064  .ne 2
1074 1065  .na
1075 1066  \fB\fILIBDIR\fR\fB/*.so\fR\fR
1076 1067  .ad
1077 1068  .RS 15n
1078 1069  shared libraries
1079 1070  .RE
1080 1071  
1081 1072  .SH ACKNOWLEDGMENTS
1082      -.LP
1083 1073  Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to
1084 1074  reproduce portions of its copyrighted documentation. Original documentation
1085 1075  from The Open Group can be obtained online at
1086 1076  http://www.opengroup.org/bookstore/\&.
1087 1077  .sp
1088 1078  .LP
1089 1079  The Institute of Electrical and Electronics Engineers and The Open Group, have
1090 1080  given us permission to reprint portions of their documentation.
1091 1081  .sp
1092 1082  .LP
↓ open down ↓ 7 lines elided ↑ open up ↑
1100 1090  Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of
1101 1091  Electrical and Electronics Engineers, Inc and The Open Group.  In the event of
1102 1092  any discrepancy between these versions and the original IEEE and The Open Group
1103 1093  Standard, the original IEEE and The Open Group Standard is the referee
1104 1094  document.  The original Standard can be obtained online at
1105 1095  http://www.opengroup.org/unix/online.html\&.
1106 1096  .sp
1107 1097  .LP
1108 1098  This notice shall appear on any product containing this material.
1109 1099  .SH SEE ALSO
1110      -.LP
1111 1100  \fBar\fR(1), \fBld\fR(1), \fBfork\fR(2), \fBstdio\fR(3C), \fBattributes\fR(5),
1112 1101  \fBstandards\fR(5)
1113 1102  .sp
1114 1103  .LP
1115 1104  \fILinker and Libraries Guide\fR
1116 1105  .sp
1117 1106  .LP
1118 1107  \fIPerformance Profiling Tools\fR
1119 1108  .sp
1120 1109  .LP
1121 1110  \fIANSI C Programmer's Guide\fR
1122 1111  .SH DIAGNOSTICS
1123      -.LP
1124 1112  For functions that return floating-point values, error handling varies
1125 1113  according to compilation mode. Under the \fB-Xt\fR (default) option to
1126 1114  \fBcc\fR, these functions return the conventional values \fB0\fR,
1127 1115  \fB\(+-HUGE\fR, or \fBNaN\fR when the function is undefined for the given
1128 1116  arguments or when the value is not representable. In the \fB-Xa\fR and
1129 1117  \fB-Xc\fR compilation modes, \fB\(+-HUGE_VAL\fR is returned instead of
1130 1118  \fB\(+-HUGE\fR\&. (\fBHUGE_VAL\fR and \fBHUGE\fR are defined in \fBmath.h\fR to
1131 1119  be infinity and the largest-magnitude single-precision number, respectively.)
1132 1120  .SH NOTES
1133      -.LP
1134 1121  None of the functions, external variables, or macros should be redefined in the
1135 1122  user's programs. Any other name can be redefined without affecting the behavior
1136 1123  of other library functions, but such redefinition might conflict with a
1137 1124  declaration in an included header.
1138 1125  .sp
1139 1126  .LP
1140 1127  The headers in \fIINCDIR\fR provide function prototypes (function declarations
1141 1128  including the types of arguments) for most of the functions listed in this
1142 1129  manual. Function prototypes allow the compiler to check for correct usage of
1143 1130  these functions in the user's program. The \fBlint\fR program checker can also
↓ open down ↓ 34 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX