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
34 32 The libraries described in this section are implemented as shared objects.
35 33 .sp
36 34 Descriptions of shared objects can include a definition of the global symbols
37 35 that define the shared objects' public interface, for example \fBSUNW_1.1\fR.
38 36 Other interfaces can exist within the shared object, for example
39 37 \fBSUNWprivate.1.1\fR. The public interface provides a stable, committed set of
40 38 symbols for application development. The private interfaces are for internal
41 39 use only, and could change at any time.
42 40 .RE
43 41
44 42 .sp
45 43 .ne 2
46 44 .na
47 45 \fB(3HEAD)\fR
48 46 .ad
49 47 .sp .6
50 48 .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
72 69 library, \fBlibc\fR, which is automatically linked by the C compilation system.
73 70 The standard C library is implemented as a shared object, \fBlibc.so\fR. See
74 71 \fBlibc\fR(3LIB) and the "C Compilation System" chapter of the \fIANSI C
75 72 Programmer's Guide\fR for a discussion. Some functions behave differently in
76 73 standard-conforming environments. This behavior is noted on the individual
77 74 manual pages. See \fBstandards\fR(5).
78 75 .sp
79 76 The \fBlibpthread\fR and \fBlibthread\fR libraries are filter libraries on
80 77 \fBlibc\fR that are used for building multithreaded applications:
81 78 \fBlibpthread\fR implements the POSIX (see \fBstandards\fR(5)) threads
82 79 interface, whereas \fBlibthread\fR implements the Solaris threads interface.
83 80 See \fBMULTITHREADED APPLICATIONS\fR, below.
84 81 .RE
85 82
86 83 .sp
87 84 .ne 2
88 85 .na
89 86 \fB(3C_DB)\fR
90 87 .ad
91 88 .sp .6
92 89 .RS 4n
93 90 These functions constitute the threads debugging library, \fBlibc_db\fR. This
94 91 library is implemented as a shared object, \fBlibc_db.so\fR, but is not
95 92 automatically linked by the C compilation system. Specify \fB-lc_db\fR on the
96 93 \fBcc\fR command line to link with this library. See \fBlibc_db\fR(3LIB).
97 94 .RE
98 95
99 96 .sp
100 97 .ne 2
101 98 .na
102 99 \fB(3MALLOC)\fR
103 100 .ad
104 101 .sp .6
105 102 .RS 4n
106 103 These functions constitute the various memory allocation libraries:
107 104 \fBlibmalloc\fR, \fBlibbsdmalloc\fR, \fBlibmapmalloc\fR, \fBlibmtmalloc\fR, and
108 105 \fBlibumem\fR. Each of these libraries is implemented as a shared object
109 106 (\fBlibmalloc.so\fR, \fBlibbsdmalloc.so\fR, \fBlibmapmalloc.so\fR,
↓ 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,
131 127 \fBlibcommputil\fR. This library is implemented as a shared object,
132 128 \fBlibcommputil.so\fR, but it is not automatically linked by the C compilation
133 129 system. Specify \fB-lcommputil\fR on the \fBcc\fR command line to link with
134 130 this library. See \fBlibcommputil\fR(3LIB).
135 131 .RE
136 132
137 133 .sp
138 134 .ne 2
139 135 .na
140 136 \fB(3DLPI)\fR
141 137 .ad
142 138 .sp .6
143 139 .RS 4n
144 140 These functions constitute the data link provider interface library,
145 141 \fBlibdlpi\fR. This library is implemented as a shared object,
146 142 \fBlibdlpi.so\fR, but it is not automatically linked by the C compilation
147 143 system. Specify \fB-ldlpi\fR on the \fBcc\fR command line to link with this
148 144 library. See \fBlibdlpi\fR(3LIB).
149 145 .RE
150 146
151 147 .sp
152 148 .ne 2
153 149 .na
154 150 \fB(3DNS_SD)\fR
155 151 .ad
156 152 .sp .6
157 153 .RS 4n
158 154 These functions constitute the DNS service discovery library, \fBlibdns_sd\fR.
159 155 This library is implemented as a shared object, \fBlibdns_sd.so\fR, but it is
160 156 not automatically linked by the C compilation system. Specify \fB-ldns_sd\fR on
161 157 the \fBcc\fR command line to link with this library. See \fBlibdns_sd\fR(3LIB).
162 158 .RE
163 159
164 160 .sp
165 161 .ne 2
166 162 .na
167 163 \fB(3GSS)\fR
168 164 .ad
169 165 .sp .6
170 166 .RS 4n
171 167 These functions constitute the generic security services library. This library
172 168 is implemented as a shared object, \fBlibgss.so\fR, but it is not automatically
173 169 linked by the C compilation system. Specify \fB-lgss\fR on the \fBcc\fR command
174 170 line to link with this library. See \fBlibgss\fR(3LIB).
175 171 .RE
176 172
177 173 .sp
178 174 .ne 2
179 175 .na
180 176 \fB(3LDAP)\fR
181 177 .ad
182 178 .sp .6
183 179 .RS 4n
184 180 These functions constitute the lightweight directory access protocol library,
185 181 \fBlibldap\fR. This library is implemented as a shared object,
186 182 \fBlibldap.so\fR, but is not automatically linked by the C compilation system.
187 183 Specify \fB-lldap\fR on the \fBcc\fR command line to link with this library.
188 184 See \fBldap\fR(3LDAP).
189 185 .RE
190 186
191 187 .sp
192 188 .ne 2
193 189 .na
194 190 \fB(3NSL)\fR
195 191 .ad
196 192 .sp .6
197 193 .RS 4n
198 194 These functions constitute the network service library, \fBlibnsl\fR. This
199 195 library is implemented as a shared object, \fBlibnsl.so\fR, but is not
200 196 automatically linked by the C compilation system. Specify \fB-lnsl\fR on the
201 197 \fBcc\fR command line to link with this library. See \fBlibnsl\fR(3LIB).
202 198 .sp
203 199 Many base networking functions are also available in the X/Open networking
204 200 interfaces library, \fBlibxnet\fR. See section (3XNET) below for more
205 201 information on the \fBlibxnet\fR interfaces.
206 202 .RE
207 203
208 204 .sp
209 205 .ne 2
210 206 .na
211 207 \fB(3RESOLV)\fR
212 208 .ad
213 209 .sp .6
214 210 .RS 4n
215 211 These functions constitute the resolver library, \fBlibresolv\fR. This library
216 212 is implemented as a shared object, \fBlibresolv.so\fR, but is not automatically
217 213 linked by the C compilation system. Specify \fB-lresolv\fR on the \fBcc\fR
218 214 command line to link with this library. See \fBlibresolv\fR(3LIB).
219 215 .RE
220 216
221 217 .sp
222 218 .ne 2
223 219 .na
224 220 \fB(3RPC)\fR
225 221 .ad
226 222 .sp .6
227 223 .RS 4n
228 224 These functions constitute the remote procedure call libraries, \fBlibrpcsvc\fR
229 225 and \fBlibrpcsoc\fR. The latter is provided for compatibility only; new
230 226 applications should not link to it. Both libraries are implemented as shared
231 227 objects, \fBlibrpcsvc.so\fR and \fBlibrpcsoc.so\fR, respectively. Neither
232 228 library is automatically linked by the C compilation system. Specify
233 229 \fB-lrpcsvc\fR or \fB-lrpcsoc\fR on the \fBcc\fR command line to link with
234 230 these libraries. See \fBlibrpcsvc\fR(3LIB).
235 231 .RE
236 232
237 233 .sp
238 234 .ne 2
239 235 .na
240 236 \fB(3SASL)\fR
241 237 .ad
242 238 .sp .6
243 239 .RS 4n
244 240 These functions constitute the simple authentication and security layer
245 241 library, \fBlibsasl\fR. This library is implemented as a shared object,
246 242 \fBlibsasl.so\fR, but it is not automatically linked by the C compilation
247 243 system. Specify \fB-lsasl\fR on the \fBcc\fR command line to link with this
248 244 library. See \fBlibsasl\fR(3LIB).
249 245 .RE
250 246
251 247 .sp
252 248 .ne 2
253 249 .na
254 250 \fB(3SIP)\fR
255 251 .ad
256 252 .sp .6
257 253 .RS 4n
258 254 These functions constitute the session initiation protocol library,
259 255 \fBlibsip\fR. This library is implemented as a shared object, \fBlibsip.so\fR,
260 256 but it is not automatically linked by the C compilation system. Specify
261 257 \fB-lsip\fR on the \fBcc\fR command line to link with this library. See
262 258 \fBlibsip\fR(3LIB).
263 259 .RE
264 260
265 261 .sp
266 262 .ne 2
267 263 .na
268 264 \fB(3SLP)\fR
269 265 .ad
270 266 .sp .6
271 267 .RS 4n
272 268 These functions constitute the service location protocol library, \fBlibslp\fR.
273 269 This library is implemented as a shared object, \fBlibslp.so\fR, but it is not
274 270 automatically linked by the C compilation system. Specify \fB-lslp\fR on the
275 271 \fBcc\fR command line to link with this library. See \fBlibslp\fR(3LIB).
276 272 .RE
277 273
278 274 .sp
279 275 .ne 2
280 276 .na
281 277 \fB(3SOCKET)\fR
282 278 .ad
283 279 .sp .6
284 280 .RS 4n
285 281 These functions constitute the sockets library, \fBlibsocket\fR. This library
286 282 is implemented as a shared object, \fBlibsocket.so\fR, but is not automatically
287 283 linked by the C compilation system. Specify \fB-lsocket\fR on the \fBcc\fR
288 284 command line to link with this library. See \fBlibsocket\fR(3LIB).
289 285 .RE
290 286
291 287 .sp
292 288 .ne 2
293 289 .na
294 290 \fB(3XNET)\fR
295 291 .ad
296 292 .sp .6
297 293 .RS 4n
298 294 These functions constitute X/Open networking interfaces which comply with the
299 295 X/Open CAE Specification, Networking Services, Issue 4 (September, 1994). This
300 296 library is implemented as a shared object, \fBlibxnet.so\fR, but is not
301 297 automatically linked by the C compilation system. Specify \fB-lxnet\fR on the
302 298 \fBcc\fR command line to link with this library. See \fBlibxnet\fR(3LIB) and
303 299 \fBstandards\fR(5) for compilation information.
304 300 .RE
305 301
↓ 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:
327 322 .sp
328 323 .ne 2
329 324 .na
330 325 \fB\fBlibcurses\fR\fR
331 326 .ad
332 327 .sp .6
333 328 .RS 4n
334 329 These functions constitute the curses library, \fBlibcurses\fR. This library is
335 330 implemented as a shared object, \fBlibcurses.so\fR, but is not automatically
336 331 linked by the C compilation system. Specify \fB-lcurses\fR on the \fBcc\fR
337 332 command line to link with this library. See \fBlibcurses\fR(3LIB).
338 333 .RE
339 334
340 335 .sp
341 336 .ne 2
342 337 .na
343 338 \fB\fBlibform\fR\fR
344 339 .ad
345 340 .sp .6
346 341 .RS 4n
347 342 These functions constitute the forms library, \fBlibform\fR. This library is
348 343 implemented as a shared object, \fBlibform.so\fR, but is not automatically
349 344 linked by the C compilation system. Specify \fB-lform\fR on the \fBcc\fR
350 345 command line to link with this library. See \fBlibform\fR(3LIB).
351 346 .RE
352 347
353 348 .sp
354 349 .ne 2
355 350 .na
356 351 \fB\fBlibmenu\fR\fR
357 352 .ad
358 353 .sp .6
359 354 .RS 4n
360 355 These functions constitute the menus library, \fBlibmenu\fR. This library is
361 356 implemented as a shared object, \fBlibmenu.so\fR, but is not automatically
362 357 linked by the C compilation system. Specify \fB-lmenu\fR on the \fBcc\fR
363 358 command line to link with this library. See \fBlibmenu\fR(3LIB).
364 359 .RE
365 360
366 361 .sp
367 362 .ne 2
368 363 .na
369 364 \fB\fBlibpanel\fR\fR
370 365 .ad
371 366 .sp .6
372 367 .RS 4n
373 368 These functions constitute the panels library, \fBlibpanel\fR. This library is
374 369 implemented as a shared object, \fBlibpanel.so\fR, but is not automatically
375 370 linked by the C compilation system. Specify \fB-lpanel\fR on the \fBcc\fR
376 371 command line to link with this library. See \fBlibpanel\fR(3LIB).
377 372 .RE
378 373
379 374 .RE
380 375
381 376 .sp
382 377 .ne 2
383 378 .na
384 379 \fB(3XCURSES)\fR
385 380 .ad
386 381 .sp .6
387 382 .RS 4n
388 383 These functions constitute the X/Open curses library, located in
↓ 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
410 404 library is implemented as a shared object, \fBlibbsm.so\fR, but is not
411 405 automatically linked by the C compilation system. Specify \fB-lbsm\fR on the
412 406 \fBcc\fR command line to link with this library. See \fBlibbsm\fR(3LIB).
413 407 .RE
414 408
415 409 .sp
416 410 .ne 2
417 411 .na
418 412 \fB(3CFGADM)\fR
419 413 .ad
420 414 .sp .6
421 415 .RS 4n
422 416 These functions constitute the configuration administration library,
423 417 \fBlibcfgadm\fR. This library is implemented as a shared object,
424 418 \fBlibcfgadm.so\fR, but is not automatically linked by the C compilation
425 419 system. Specify \fB-lcfgadm\fR on the \fBcc\fR command line to link with this
426 420 library. See \fBlibcfgadm\fR(3LIB).
427 421 .RE
428 422
429 423 .sp
430 424 .ne 2
431 425 .na
432 426 \fB(3CONTRACT)\fR
433 427 .ad
434 428 .sp .6
435 429 .RS 4n
436 430 These functions constitute the contract management library, \fBlibcontract\fR.
437 431 This library is implemented as a shared object, \fBlibcontract.so\fR, but is
438 432 not automatically linked by the C compilation system. Specify \fB-lcontract\fR
439 433 on the \fBcc\fR command line to link with this library. See
440 434 \fBlibcontract\fR(3LIB).
441 435 .RE
442 436
443 437 .sp
444 438 .ne 2
445 439 .na
446 440 \fB(3CPC)\fR
447 441 .ad
448 442 .sp .6
449 443 .RS 4n
450 444 These functions constitute the CPU performance counter library, \fBlibcpc\fR,
451 445 and the process context library, \fBlibpctx\fR. These libraries are implemented
452 446 as shared objects, \fBlibcpc.so\fR and \fBlibpctx.so\fR, respectively, but are
453 447 not automatically linked by the C compilation system. Specify \fB-lcpc\fR or
454 448 \fB-lpctx\fR on the \fBcc\fR command line to link with these libraries. See
455 449 \fBlibcpc\fR(3LIB) and \fBlibpctx\fR(3LIB).
456 450 .RE
457 451
458 452 .sp
459 453 .ne 2
460 454 .na
461 455 \fB(3DAT)\fR
462 456 .ad
463 457 .sp .6
464 458 .RS 4n
465 459 These functions constitute the direct access transport library, \fBlibdat\fR.
466 460 This library is implemented as a shared object, \fBlibdat.so\fR, but is not
467 461 automatically linked by the C compilation system. Specify \fB-ldat\fR on the
468 462 \fBcc\fR command line to link with this library. See \fBlibdat\fR(3LIB).
469 463 .RE
470 464
471 465 .sp
472 466 .ne 2
473 467 .na
474 468 \fB(3DEVID)\fR
475 469 .ad
476 470 .sp .6
477 471 .RS 4n
478 472 These functions constitute the device \fBID\fR library, \fBlibdevid\fR. This
479 473 library is implemented as a shared object, \fBlibdevid.so\fR, but is not
480 474 automatically linked by the C compilation system. Specify \fB-ldevid\fR on the
481 475 \fBcc\fR command line to link with this library. See \fBlibdevid\fR(3LIB).
482 476 .RE
483 477
484 478 .sp
485 479 .ne 2
486 480 .na
487 481 \fB(3DEVINFO)\fR
488 482 .ad
489 483 .sp .6
490 484 .RS 4n
491 485 These functions constitute the device information library, \fBlibdevinfo\fR.
492 486 This library is implemented as a shared object, \fBlibdevinfo.so\fR, but is not
493 487 automatically linked by the C compilation system. Specify \fB-ldevinfo\fR on
494 488 the \fBcc\fR command line to link with this library. See
495 489 \fBlibdevinfo\fR(3LIB).
496 490 .RE
497 491
498 492 .sp
499 493 .ne 2
500 494 .na
501 495 \fB(3ELF)\fR
502 496 .ad
503 497 .sp .6
504 498 .RS 4n
505 499 These functions constitute the ELF access library, \fBlibelf\fR, (Extensible
506 500 Linking Format). This library provides the interface for the creation and
507 501 analyses of "elf" files; executables, objects, and shared objects. \fBlibelf\fR
508 502 is implemented as a shared object, \fBlibelf.so\fR, but is not automatically
509 503 linked by the C compilation system. Specify \fB-lelf\fR on the \fBcc\fR command
510 504 line to link with this library. See \fBlibelf\fR(3LIB).
511 505 .RE
512 506
513 507 .sp
514 508 .ne 2
515 509 .na
516 510 \fB(3EXACCT)\fR
517 511 .ad
518 512 .sp .6
519 513 .RS 4n
520 514 These functions constitute the extended accounting access library,
521 515 \fBlibexacct\fR, and the project database access library, \fBlibproject\fR.
522 516 These libraries are implemented as shared objects, \fBlibexacct.so\fR and
523 517 \fBlibproject.so\fR, respectively, but are not automatically linked by the C
524 518 compilation system. Specify \fB-lexacct\fR or \fB-lproject\fR on the \fBcc\fR
525 519 command line to link with these libraries. See \fBlibexacct\fR(3LIB) and
526 520 \fBlibproject\fR(3LIB).
527 521 .RE
528 522
529 523 .sp
530 524 .ne 2
531 525 .na
532 526 \fB(3FCOE)\fR
533 527 .ad
534 528 .sp .6
535 529 .RS 4n
536 530 These functions constitute the Fibre Channel over Ethernet port management
537 531 library. This library is implemented as a shared object, \fBlibfcoe.so\fR, but
538 532 is not automatically linked by the C compilation system. Specify \fB-lfcoe\fR
539 533 on the \fBcc\fR command line to link with this library. See
540 534 \fBlibfcoe\fR(3LIB).
541 535 .RE
542 536
543 537 .sp
544 538 .ne 2
545 539 .na
546 540 \fB(3FSTYP)\fR
547 541 .ad
548 542 .sp .6
549 543 .RS 4n
550 544 These functions constitute the file system type identification library. This
551 545 library is implemented as a shared object, \fBlibfstyp.so\fR, but is not
552 546 automatically linked by the C compilation system. Specify \fB-lfstyp\fR on the
553 547 \fBcc\fR command line to link with this library. See \fBlibfstyp\fR(3LIB).
554 548 .RE
555 549
556 550 .sp
557 551 .ne 2
558 552 .na
559 553 \fB(3GEN)\fR
560 554 .ad
561 555 .sp .6
562 556 .RS 4n
563 557 These functions constitute the string pattern-matching and pathname
564 558 manipulation library, \fBlibgen\fR. This library is implemented as a shared
565 559 object, \fBlibgen.so\fR, but is not automatically linked by the C compilation
566 560 system. Specify \fB-lgen\fR on the \fBcc\fR command line to link with this
567 561 library. See \fBlibgen\fR(3LIB).
568 562 .RE
569 563
570 564 .sp
571 565 .ne 2
572 566 .na
573 567 \fB(3HBAAPI)\fR
574 568 .ad
575 569 .sp .6
576 570 .RS 4n
577 571 These functions constitute the common fibre channel HBA information library,
578 572 \fBlibhbaapi\fR. This library is implemented as a shared object,
579 573 \fBlibhbaapi.so\fR, but is not automatically linked by the C compilation
580 574 system. Specify \fB-lhbaapi\fR on the \fBcc\fR command line to link with this
581 575 library. See \fBlibhbaapi\fR(3LIB).
582 576 .RE
583 577
584 578 .sp
585 579 .ne 2
586 580 .na
587 581 \fB(3ISCSIT)\fR
588 582 .ad
589 583 .sp .6
590 584 .RS 4n
591 585 These functions constitute the iSCSI Management library, \fBlibiscsit\fR. This
592 586 library is implemented as a shared object, \fBlibiscsit.so\fR, but is not
593 587 automatically linked by the C compilation system. Specify \fB-liscsit\fR on the
594 588 \fBcc\fR command line to link with this library. See \fBlibiscsit\fR(3LIB).
595 589 .RE
596 590
597 591 .sp
598 592 .ne 2
599 593 .na
600 594 \fB(3KSTAT)\fR
601 595 .ad
602 596 .sp .6
603 597 .RS 4n
604 598 These functions constitute the kernel statistics library, which is implemented
605 599 as a shared object, \fBlibkstat.so\fR, but is not automatically linked by the C
606 600 compilation system. Specify \fB-lkstat\fR on the \fBcc\fR command line to link
607 601 with this library. See \fBlibkstat\fR(3LIB).
608 602 .RE
609 603
610 604 .sp
611 605 .ne 2
612 606 .na
613 607 \fB(3KVM)\fR
614 608 .ad
615 609 .sp .6
616 610 .RS 4n
617 611 These functions allow access to the kernel's virtual memory library, which is
618 612 implemented as a shared object, \fBlibkvm.so\fR, but is not automatically
619 613 linked by the C compilation system. Specify \fB-lkvm\fR on the \fBcc\fR command
620 614 line to link with this library. See \fBlibkvm\fR(3LIB).
621 615 .RE
622 616
623 617 .sp
624 618 .ne 2
625 619 .na
626 620 \fB(3LGRP)\fR
627 621 .ad
628 622 .sp .6
629 623 .RS 4n
630 624 These functions constitute the locality group library, which is implemented as
631 625 a shared object, \fBliblgrp.so\fR, but is not automatically linked by the C
632 626 compilation system. Specify \fB-llgrp\fR on the \fBcc\fR command line to link
633 627 with this library. See \fBliblgrp\fR(3LIB).
634 628 .RE
635 629
636 630 .sp
637 631 .ne 2
638 632 .na
639 633 \fB(3M)\fR
640 634 .ad
641 635 .sp .6
642 636 .RS 4n
643 637 These functions constitute the mathematical library, \fBlibm\fR. This library
644 638 is implemented as a shared object, \fBlibm.so\fR, but is not automatically
645 639 linked by the C compilation system. Specify \fB-lm\fR on the \fBcc\fR command
646 640 line to link with this library. See \fBlibm\fR(3LIB).
647 641 .RE
648 642
649 643 .sp
650 644 .ne 2
651 645 .na
652 646 \fB(3MAIL)\fR
653 647 .ad
654 648 .sp .6
655 649 .RS 4n
656 650 These functions constitute the user mailbox management library, \fBlibmail\fR.
657 651 This library is implemented as a shared object, \fBlibmail.so\fR, but is not
658 652 automatically linked by the C compilation system. Specify \fB-lmail\fR on the
659 653 \fBcc\fR command line to link with this library. See \fBlibmail\fR(3LIB).
660 654 .RE
661 655
662 656 .sp
663 657 .ne 2
664 658 .na
665 659 \fB(3MP)\fR
666 660 .ad
667 661 .sp .6
668 662 .RS 4n
669 663 These functions constitute the integer mathematical library, \fBlibmp\fR. This
670 664 library is implemented as a shared object, \fBlibmp.so\fR, but is not
671 665 automatically linked by the C compilation system. Specify \fB-lmp\fR on the
672 666 \fBcc\fR command line to link with this library. See \fBlibmp\fR(3LIB).
673 667 .RE
674 668
675 669 .sp
676 670 .ne 2
677 671 .na
678 672 \fB(3MPAPI)\fR
679 673 .ad
680 674 .sp .6
681 675 .RS 4n
682 676 These functions constitute the Common Multipath Management library,
683 677 \fBlibMPAPI\fR. This library is implemented as a shared object,
684 678 \fBlibMPAPI.so\fR, but is not automatically linked by the C compilation system.
685 679 Specify \fB-lMPAPI\fR on the \fBcc\fR command line to link with this library.
686 680 See \fBlibMPAPI\fR(3LIB).
687 681 .RE
688 682
689 683 .sp
690 684 .ne 2
691 685 .na
692 686 \fB(3MVEC)\fR
693 687 .ad
694 688 .sp .6
695 689 .RS 4n
696 690 These functions constitute the vector mathematical library, \fBlibmvec\fR. This
697 691 library is implemented as a shared object, \fBlibmvec.so\fR, but is not
698 692 automatically linked by the C compilation system. Specify \fB-lmvec\fR on the
699 693 \fBcc\fR command line to link with this library. See \fBlibmvec\fR(3LIB).
700 694 .RE
701 695
702 696 .sp
703 697 .ne 2
704 698 .na
705 699 \fB(3NVPAIR)\fR
706 700 .ad
707 701 .sp .6
708 702 .RS 4n
709 703 These functions constitute the name-value pair library, \fBlibnvpair\fR. This
710 704 library is implemented as a shared object, \fBlibnvpair.so\fR, but is not
711 705 automatically linked by the C compilation system. Specify \fB-lnvpair\fR on the
712 706 \fBcc\fR command line to link with this library. See \fBlibnvpair\fR(3LIB).
713 707 .RE
714 708
715 709 .sp
716 710 .ne 2
717 711 .na
718 712 \fB(3PAM)\fR
719 713 .ad
720 714 .sp .6
721 715 .RS 4n
722 716 These functions constitute the pluggable authentication module library,
723 717 \fBlibpam\fR. This library is implemented as a shared object, \fBlibpam.so\fR,
724 718 but is not automatically linked by the C compilation system. Specify
725 719 \fB-lpam\fR on the \fBcc\fR command line to link with this library. See
726 720 \fBlibpam\fR(3LIB).
727 721 .RE
728 722
729 723 .sp
730 724 .ne 2
731 725 .na
732 726 \fB(3PAPI)\fR
733 727 .ad
734 728 .sp .6
735 729 .RS 4n
736 730 These functions constitute the Free Standards Group Open Printing API (PAPI)
737 731 library, \fBlibpapi\fR. This library is implemented as a shared object,
738 732 \fBlibpapi.so\fR, but is not automatically linked by the C compilation system.
739 733 Specify \fB-lpapi\fR on the \fBcc\fR command line to link with this library.
740 734 See \fBlibpapi\fR(3LIB).
741 735 .RE
742 736
743 737 .sp
744 738 .ne 2
745 739 .na
746 740 \fB(3PICL)\fR
747 741 .ad
748 742 .sp .6
749 743 .RS 4n
750 744 These functions constitute the PICL library, \fBlibpicl\fR. This library is
751 745 implemented as a shared object, \fBlibpicl.so\fR, but is not automatically
752 746 linked by the C compilation system. Specify \fB-lpicl\fR on the \fBcc\fR
753 747 command line to link with this library. See \fBlibpicl\fR(3LIB) and
754 748 \fBlibpicl\fR(3PICL).
755 749 .RE
756 750
757 751 .sp
758 752 .ne 2
759 753 .na
760 754 \fB(3PICLTREE)\fR
761 755 .ad
762 756 .sp .6
763 757 .RS 4n
764 758 These functions constitute the PICL plug-in library, \fBlibpicltree\fR. This
765 759 library is implemented as a shared object, \fBlibpicltree.so\fR, but is not
766 760 automatically linked by the C compilation system. Specify \fB-lpicltree\fR on
767 761 the \fBcc\fR command line to link with this library. See
768 762 \fBlibpicltree\fR(3LIB) and \fBlibpicltree\fR(3PICLTREE).
769 763 .RE
770 764
771 765 .sp
772 766 .ne 2
773 767 .na
774 768 \fB(3POOL)\fR
775 769 .ad
776 770 .sp .6
777 771 .RS 4n
778 772 These functions constitute the pool configuration manipulation library,
779 773 \fBlibpool\fR. This library is implemented as a shared object,
780 774 \fBlibpool.so\fR, but is not automatically linked by the C compilation system.
781 775 Specify \fB-lpool\fR on the \fBcc\fR command line to link with this library.
782 776 See \fBlibpool\fR(3LIB).
783 777 .RE
784 778
785 779 .sp
786 780 .ne 2
787 781 .na
788 782 \fB(3PROC)\fR
789 783 .ad
790 784 .sp .6
791 785 .RS 4n
792 786 These functions constitute the process manipulation library,
793 787 \fBlibproc\fR. This library is implemented as a shared object,
794 788 \fBlibproc.so\fR, but it is not automatically linked by the C compilation
795 789 system. Specify \fB-lproc\fR on the \fBcc\fR command line to link with this
796 790 library. See \fBlibproc\fR(3LIB).
797 791 .RE
798 792
799 793 .sp
800 794 .ne 2
801 795 .na
802 796 \fB(3PROJECT)\fR
803 797 .ad
804 798 .sp .6
805 799 .RS 4n
806 800 These functions constitute the project database access library,
807 801 \fBlibproject\fR. This library is implemented as a shared object,
808 802 \fBlibproject.so\fR, but is not automatically linked by the C compilation
809 803 system. Specify \fB-lproject\fR on the \fBcc\fR command line to link with this
810 804 library. See \fBlibproject\fR(3LIB).
811 805 .RE
812 806
813 807 .sp
814 808 .ne 2
815 809 .na
816 810 \fB(3RSM)\fR
817 811 .ad
818 812 .sp .6
819 813 .RS 4n
820 814 These functions constitute the remote shared memory library, \fBlibrsm\fR. This
821 815 library is implemented as a shared object, \fBlibrsm.so\fR, but is not
822 816 automatically linked by the C compilation system. Specify \fB-lrsm\fR on the
↓ 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
844 838 .ad
845 839 .sp .6
846 840 .RS 4n
847 841 These functions constitute the file access control library, \fBlibsec\fR. This
848 842 library is implemented as a shared object, \fBlibsec.so\fR, but is not
849 843 automatically linked by the C compilation system. Specify \fB-lsec\fR on the
850 844 \fBcc\fR command line to link with this library. See \fBlibsec\fR(3LIB).
851 845 .RE
852 846
853 847 .sp
854 848 .ne 2
855 849 .na
856 850 \fB(3SECDB)\fR
857 851 .ad
858 852 .sp .6
859 853 .RS 4n
860 854 These functions constitute the security attributes database library,
861 855 \fBlibsecdb\fR. This library is implemented as a shared object,
862 856 \fBlibsecdb.so\fR, but is not automatically linked by the C compilation system.
863 857 Specify \fB-lsecdb\fR on the \fBcc\fR command line to link with this library.
864 858 See \fBlibsecdb\fR(3LIB).
865 859 .RE
866 860
867 861 .sp
868 862 .ne 2
869 863 .na
870 864 \fB(3STMF)\fR
871 865 .ad
872 866 .sp .6
873 867 .RS 4n
874 868 These functions constitute the SCSI Target Mode Framework library,
875 869 \fBlibstmf\fR. This library is implemented as a shared object,
876 870 \fBlibstmf.so\fR, but is not automatically linked by the C compilation system.
877 871 Specify \fB-lstmf\fR on the \fBcc\fR command line to link with this library.
878 872 See \fBlibstmf\fR(3LIB).
879 873 .RE
880 874
881 875 .sp
882 876 .ne 2
883 877 .na
884 878 \fB(3SYSEVENT)\fR
885 879 .ad
886 880 .sp .6
887 881 .RS 4n
888 882 These functions constitute the system event library, \fBlibsysevent\fR. This
889 883 library is implemented as a shared object, \fBlibsysevent.so\fR, but is not
890 884 automatically linked by the C compilation system. Specify \fB-lsysevent\fR on
891 885 the \fBcc\fR command line to link with this library. See
892 886 \fBlibsysevent\fR(3LIB).
893 887 .RE
894 888
895 889 .sp
896 890 .ne 2
897 891 .na
898 892 \fB(3TECLA)\fR
899 893 .ad
900 894 .sp .6
901 895 .RS 4n
902 896 These functions constitute the interactive command-line input library,
903 897 \fBlibtecla\fR. This library is implemented as a shared object,
904 898 \fBlibtecla.so\fR, but is not automatically linked by the C compilation system.
905 899 Specify \fB-ltecla\fR on the \fBcc\fR command line to link with this library.
906 900 See \fBlibtecla\fR(3LIB).
907 901 .RE
908 902
909 903 .sp
910 904 .ne 2
911 905 .na
912 906 \fB(3TNF)\fR
913 907 .ad
914 908 .sp .6
915 909 .RS 4n
916 910 These functions constitute the TNF libraries, \fBlibtnf\fR, \fBlibtnfctl\fR,
917 911 and \fBlibtnfprobe\fR. These libraries are implemented as shared objects,
918 912 \fBlibtnf.so\fR, \fBlibtnfctl.so\fR, and \fBlibtnfprobe.so\fR, respectively,
919 913 but are not automatically linked by the C compilation system. Specify
920 914 \fB-ltnf\fR, \fB-ltnfctl\fR, or \fB-ltnfprobe\fR on the \fBcc\fR command line
921 915 to link with these libraries. See \fBlibtnfctl\fR(3TNF) and
922 916 \fBlibtnfctl\fR(3LIB).
923 917 .RE
924 918
925 919 .sp
926 920 .ne 2
927 921 .na
928 922 \fB(3TSOL)\fR
929 923 .ad
930 924 .sp .6
931 925 .RS 4n
932 926 These functions constitute the Trusted Extensions library, \fBlibtsol\fR, and
933 927 the Trusted Extensions network library, \fBlibtsnet\fR. These libraries are
934 928 implemented as shared objects, \fBlibtsol.so\fR and \fBlibtsnet.so\fR, but are
935 929 not automatically linked by the C compilation system. Specify \fB-ltsol\fR or
936 930 \fB-ltsnet\fR on the \fBcc\fR command line to link with these libraries. See
937 931 \fBlibtsol\fR(3LIB) and \fBlibtsnet\fR(3LIB).
938 932 .RE
939 933
940 934 .sp
941 935 .ne 2
942 936 .na
943 937 \fB(3UUID)\fR
944 938 .ad
945 939 .sp .6
946 940 .RS 4n
947 941 These functions constitute the universally unique identifier library,
948 942 \fBlibuuid\fR. This library is implemented as a shared object,
949 943 \fBlibuuid.so\fR, but is not automatically linked by the C compilation system.
950 944 Specify \fB-luuid\fR on the \fBcc\fR command line to link with this library.
951 945 See \fBlibuuid\fR(3LIB).
952 946 .RE
953 947
954 948 .sp
955 949 .ne 2
956 950 .na
957 951 \fB(3VOLMGT)\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
996 988 specified on the command line.
997 989 .sp
998 990 .LP
999 991 There is no need for a multithreaded application to link with \fB-lthread\fR.
1000 992 An application must link with \fB-lpthread\fR only when POSIX semantics for
1001 993 \fBfork\fR(2) are desired. When an application is linked with \fB-lpthread\fR,
1002 994 a call to \fBfork()\fR assumes the behavior \fBfork1\fR(2) rather than the
1003 995 default behavior that forks all threads.
1004 996 .sp
1005 997 .LP
1006 998 When compiling a POSIX-conforming application, either the \fB_POSIX_C_SOURCE\fR
1007 999 or \fB_POSIX_PTHREAD_SEMANTICS\fR option must be specified on the command line.
1008 1000 For POSIX.1c-conforming applications, define the \fB_POSIX_C_SOURCE\fR flag to
1009 1001 be >= 199506L:
1010 1002 .sp
1011 1003 .in +2
1012 1004 .nf
1013 1005 \fBcc\fR \fB-mt\fR [ \fIflag\fR... ] \fIfile\fR... \fB-D_POSIX_C_SOURCE=199506L\fR \fB-lpthread\fR
1014 1006 .fi
1015 1007 .in -2
1016 1008
1017 1009 .sp
1018 1010 .LP
1019 1011 For POSIX behavior with the Solaris \fBfork()\fR and \fBfork1()\fR distinction,
1020 1012 compile as follows:
1021 1013 .sp
1022 1014 .in +2
1023 1015 .nf
1024 1016 \fBcc\fR \fB-mt\fR [ \fIflag\fR... ] \fIfile\fR... \fB-D_POSIX_PTHREAD_SEMANTICS\fR
1025 1017 .fi
1026 1018 .in -2
1027 1019
1028 1020 .sp
1029 1021 .LP
1030 1022 For Solaris threads behavior, compile as follows:
1031 1023 .sp
1032 1024 .in +2
1033 1025 .nf
1034 1026 \fBcc\fR \fB-mt\fR [ \fIflag\fR... ] \fIfile\fR...
1035 1027 .fi
1036 1028 .in -2
1037 1029
1038 1030 .sp
↓ 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
1060 1051 .RE
1061 1052
1062 1053 .sp
1063 1054 .ne 2
1064 1055 .na
1065 1056 \fB\fILIBDIR\fR\fR
1066 1057 .ad
1067 1058 .RS 15n
1068 1059 usually either \fB/lib\fR or \fB/usr/lib\fR (32-bit) or either \fB/lib/64\fR or
1069 1060 \fB/usr/lib/64\fR (64-bit)
1070 1061 .RE
1071 1062
↓ 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
1093 1083 In the following statement, the phrase ``this text'' refers to portions of the
1094 1084 system documentation.
1095 1085 .sp
1096 1086 .LP
1097 1087 Portions of this text are reprinted and reproduced in electronic form in the
1098 1088 SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for
1099 1089 Information Technology -- Portable Operating System Interface (POSIX), The Open
↓ 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
1144 1131 be used and will report discrepancies even if the headers are not included with
1145 1132 \fB#include\fR statements. Definitions for Sections 2 and 3C are checked
1146 1133 automatically. Other definitions can be included by using the \fB-l\fR option
1147 1134 to \fBlint\fR. (For example, \fB-lm\fR includes definitions for \fBlibm\fR.)
1148 1135 Use of \fBlint\fR is highly recommended. See the \fBlint\fR chapter in
1149 1136 \fIPerformance Profiling Tools\fR
1150 1137 .sp
1151 1138 .LP
1152 1139 Users should carefully note the difference between STREAMS and \fIstream\fR.
1153 1140 STREAMS is a set of kernel mechanisms that support the development of network
1154 1141 services and data communication drivers. It is composed of utility routines,
1155 1142 kernel facilities, and a set of data structures. A \fIstream\fR is a file with
1156 1143 its associated buffering. It is declared to be a pointer to a type \fBFILE\fR
1157 1144 defined in \fB<stdio.h>\fR.
1158 1145 .sp
1159 1146 .LP
1160 1147 In detailed definitions of components, it is sometimes necessary to refer to
1161 1148 symbolic names that are implementation-specific, but which are not necessarily
1162 1149 expected to be accessible to an application program. Many of these symbolic
1163 1150 names describe boundary conditions and system limits.
1164 1151 .sp
1165 1152 .LP
1166 1153 In this section, for readability, these implementation-specific values are
1167 1154 given symbolic names. These names always appear enclosed in curly brackets to
1168 1155 distinguish them from symbolic names of other implementation-specific constants
1169 1156 that are accessible to application programs by headers. These names are not
1170 1157 necessarily accessible to an application program through a header, although
1171 1158 they can be defined in the documentation for a particular system.
1172 1159 .sp
1173 1160 .LP
1174 1161 In general, a portable application program should not refer to these symbolic
1175 1162 names in its code. For example, an application program would not be expected to
1176 1163 test the length of an argument list given to a routine to determine if it was
1177 1164 greater than {\fBARG_MAX\fR}.
↓ open down ↓ |
34 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX