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.man.txt
+++ new/usr/src/man/man3/Intro.3.man.txt
1 1 INTRO(3) Introduction to Library Functions INTRO(3)
2 2
3 3
4 4
5 5 NAME
6 6 Intro, intro - introduction to functions and libraries
7 7
8 8 DESCRIPTION
9 9 This section describes functions found in various Solaris libraries,
10 10 other than those functions described in Section 2 of this manual that
11 11 directly invoke UNIX system primitives. Function declarations can be
12 12 obtained from the #include files indicated on each page. Pages are
13 13 grouped by library and are identified by the library name (or an
14 14 abbreviation of the library name) after the section number. Collections
15 15 of related libraries are grouped into volumes as described below. The
16 16 first volume contains pages describing the contents of each shared
17 17 library and each header used by the functions, macros, and external
18 18 variables described in the remaining volumes.
19 19
20 20 Library Interfaces and Headers
21 21 This volume describes the contents of each shared library and each
22 22 header used by functions, macros, and external variables described in
23 23 the remaining volumes.
24 24
25 25 (3LIB)
26 26
27 27 The libraries described in this section are implemented as shared
28 28 objects.
29 29
30 30 Descriptions of shared objects can include a definition of the
31 31 global symbols that define the shared objects' public interface,
32 32 for example SUNW_1.1. Other interfaces can exist within the shared
33 33 object, for example SUNWprivate.1.1. The public interface provides
34 34 a stable, committed set of symbols for application development. The
35 35 private interfaces are for internal use only, and could change at
36 36 any time.
37 37
38 38
39 39 (3HEAD)
40 40
41 41 The headers described in this section are used by functions,
42 42 macros, and external variables. Headers contain function
43 43 prototypes, definitions of symbolic constants, common structures,
44 44 preprocessor macros, and defined types. Each function described in
45 45 the remaining five volumes specifies the headers that an
46 46 application must include in order to use that function. In most
47 47 cases only one header is required. These headers are present on an
48 48 application development system; they do have to be present on the
49 49 target execution system.
50 50
51 51
52 52 Basic Library Functions
53 53 The functions described in this volume are the core C library functions
54 54 that are basic to application development.
55 55
56 56 (3C)
57 57
58 58 These functions, together with those of Section 2, constitute the
59 59 standard C library, libc, which is automatically linked by the C
60 60 compilation system. The standard C library is implemented as a
61 61 shared object, libc.so. See libc(3LIB) and the "C Compilation
62 62 System" chapter of the ANSI C Programmer's Guide for a discussion.
63 63 Some functions behave differently in standard-conforming
64 64 environments. This behavior is noted on the individual manual
65 65 pages. See standards(5).
66 66
67 67 The libpthread and libthread libraries are filter libraries on libc
68 68 that are used for building multithreaded applications: libpthread
69 69 implements the POSIX (see standards(5)) threads interface, whereas
70 70 libthread implements the Solaris threads interface. See
71 71 MULTITHREADED APPLICATIONS, below.
72 72
73 73
74 74 (3C_DB)
75 75
76 76 These functions constitute the threads debugging library, libc_db.
77 77 This library is implemented as a shared object, libc_db.so, but is
78 78 not automatically linked by the C compilation system. Specify
79 79 -lc_db on the cc command line to link with this library. See
80 80 libc_db(3LIB).
81 81
82 82
83 83 (3MALLOC)
84 84
85 85 These functions constitute the various memory allocation libraries:
86 86 libmalloc, libbsdmalloc, libmapmalloc, libmtmalloc, and libumem.
87 87 Each of these libraries is implemented as a shared object
88 88 (libmalloc.so, libbsdmalloc.so, libmapmalloc.so, libmtmalloc.so,
89 89 and libumem.so). These libraries are not automatically linked by
90 90 the C compilation system. Specify -lmalloc, -lbsdmalloc,
91 91 -lmapmalloc, -lmtmalloc, and -lumem to link with, respectively,
92 92 libmalloc, libbsdmalloc, libmapmalloc, libmtmalloc, and libumem.
93 93 See libmalloc(3LIB), libbsdmalloc(3LIB), libmapmalloc(3LIB),
94 94 libmtmalloc(3LIB), and libumem(3LIB).
95 95
96 96
97 97 Networking Library Functions
98 98 The functions described in this volume comprise the various networking
99 99 libraries.
100 100
101 101 (3COMMPUTIL)
102 102
103 103 These functions constitute the communication protocol parser
104 104 utilities library, libcommputil. This library is implemented as a
105 105 shared object, libcommputil.so, but it is not automatically linked
106 106 by the C compilation system. Specify -lcommputil on the cc command
107 107 line to link with this library. See libcommputil(3LIB).
108 108
109 109
110 110 (3DLPI)
111 111
112 112 These functions constitute the data link provider interface
113 113 library, libdlpi. This library is implemented as a shared object,
114 114 libdlpi.so, but it is not automatically linked by the C compilation
115 115 system. Specify -ldlpi on the cc command line to link with this
116 116 library. See libdlpi(3LIB).
117 117
118 118
119 119 (3DNS_SD)
120 120
121 121 These functions constitute the DNS service discovery library,
122 122 libdns_sd. This library is implemented as a shared object,
123 123 libdns_sd.so, but it is not automatically linked by the C
124 124 compilation system. Specify -ldns_sd on the cc command line to link
125 125 with this library. See libdns_sd(3LIB).
126 126
127 127
128 128 (3GSS)
129 129
130 130 These functions constitute the generic security services library.
131 131 This library is implemented as a shared object, libgss.so, but it
132 132 is not automatically linked by the C compilation system. Specify
133 133 -lgss on the cc command line to link with this library. See
134 134 libgss(3LIB).
135 135
136 136
137 137 (3LDAP)
138 138
139 139 These functions constitute the lightweight directory access
140 140 protocol library, libldap. This library is implemented as a shared
141 141 object, libldap.so, but is not automatically linked by the C
142 142 compilation system. Specify -lldap on the cc command line to link
143 143 with this library. See ldap(3LDAP).
144 144
145 145
146 146 (3NSL)
147 147
148 148 These functions constitute the network service library, libnsl.
149 149 This library is implemented as a shared object, libnsl.so, but is
150 150 not automatically linked by the C compilation system. Specify -lnsl
151 151 on the cc command line to link with this library. See libnsl(3LIB).
152 152
153 153 Many base networking functions are also available in the X/Open
154 154 networking interfaces library, libxnet. See section (3XNET) below
155 155 for more information on the libxnet interfaces.
156 156
157 157
158 158 (3RESOLV)
159 159
160 160 These functions constitute the resolver library, libresolv. This
161 161 library is implemented as a shared object, libresolv.so, but is not
162 162 automatically linked by the C compilation system. Specify -lresolv
163 163 on the cc command line to link with this library. See
164 164 libresolv(3LIB).
165 165
166 166
167 167 (3RPC)
168 168
169 169 These functions constitute the remote procedure call libraries,
170 170 librpcsvc and librpcsoc. The latter is provided for compatibility
171 171 only; new applications should not link to it. Both libraries are
172 172 implemented as shared objects, librpcsvc.so and librpcsoc.so,
173 173 respectively. Neither library is automatically linked by the C
174 174 compilation system. Specify -lrpcsvc or -lrpcsoc on the cc command
175 175 line to link with these libraries. See librpcsvc(3LIB).
176 176
177 177
178 178 (3SASL)
179 179
180 180 These functions constitute the simple authentication and security
181 181 layer library, libsasl. This library is implemented as a shared
182 182 object, libsasl.so, but it is not automatically linked by the C
183 183 compilation system. Specify -lsasl on the cc command line to link
184 184 with this library. See libsasl(3LIB).
185 185
186 186
187 187 (3SIP)
188 188
189 189 These functions constitute the session initiation protocol library,
190 190 libsip. This library is implemented as a shared object, libsip.so,
191 191 but it is not automatically linked by the C compilation system.
192 192 Specify -lsip on the cc command line to link with this library. See
193 193 libsip(3LIB).
194 194
195 195
196 196 (3SLP)
197 197
198 198 These functions constitute the service location protocol library,
199 199 libslp. This library is implemented as a shared object, libslp.so,
200 200 but it is not automatically linked by the C compilation system.
201 201 Specify -lslp on the cc command line to link with this library. See
202 202 libslp(3LIB).
203 203
204 204
205 205 (3SOCKET)
206 206
207 207 These functions constitute the sockets library, libsocket. This
208 208 library is implemented as a shared object, libsocket.so, but is not
209 209 automatically linked by the C compilation system. Specify -lsocket
210 210 on the cc command line to link with this library. See
211 211 libsocket(3LIB).
212 212
213 213
214 214 (3XNET)
215 215
216 216 These functions constitute X/Open networking interfaces which
217 217 comply with the X/Open CAE Specification, Networking Services,
218 218 Issue 4 (September, 1994). This library is implemented as a shared
219 219 object, libxnet.so, but is not automatically linked by the C
220 220 compilation system. Specify -lxnet on the cc command line to link
221 221 with this library. See libxnet(3LIB) and standards(5) for
222 222 compilation information.
223 223
224 224
225 225
226 226 Under all circumstances, the use of the Sockets API is recommended over
227 227 the XTI and TLI APIs. If portability to other XPGV4v2 (see
228 228 standards(5)) systems is a requirement, the application must use the
229 229 libxnet interfaces. If portability is not required, the sockets
230 230 interfaces in libsocket and libnsl are recommended over those in
231 231 libxnet. Between the XTI and TLI APIs, the XTI interfaces (available
232 232 with libxnet) are recommended over the TLI interfaces (available with
233 233 libnsl).
234 234
235 235 Curses Library Functions
236 236 The functions described in this volume comprise the libraries that
237 237 provide graphics and character screen updating capabilities.
238 238
239 239 (3CURSES)
240 240
241 241 The functions constitute the following libraries:
242 242
243 243 libcurses
244 244
245 245 These functions constitute the curses library, libcurses. This
246 246 library is implemented as a shared object, libcurses.so, but is
247 247 not automatically linked by the C compilation system. Specify
248 248 -lcurses on the cc command line to link with this library. See
249 249 libcurses(3LIB).
250 250
251 251
252 252 libform
253 253
254 254 These functions constitute the forms library, libform. This
255 255 library is implemented as a shared object, libform.so, but is
256 256 not automatically linked by the C compilation system. Specify
257 257 -lform on the cc command line to link with this library. See
258 258 libform(3LIB).
259 259
260 260
261 261 libmenu
262 262
263 263 These functions constitute the menus library, libmenu. This
264 264 library is implemented as a shared object, libmenu.so, but is
265 265 not automatically linked by the C compilation system. Specify
266 266 -lmenu on the cc command line to link with this library. See
267 267 libmenu(3LIB).
268 268
269 269
270 270 libpanel
271 271
272 272 These functions constitute the panels library, libpanel. This
273 273 library is implemented as a shared object, libpanel.so, but is
274 274 not automatically linked by the C compilation system. Specify
275 275 -lpanel on the cc command line to link with this library. See
276 276 libpanel(3LIB).
277 277
278 278
279 279
280 280 (3XCURSES)
281 281
282 282 These functions constitute the X/Open curses library, located in
283 283 /usr/xpg4/lib/libcurses.so. This library provides a set of
284 284 internationalized functions and macros for creating and modifying
285 285 input and output to a terminal screen. Included in this library are
286 286 functions for creating windows, highlighting text, writing to the
287 287 screen, reading from user input, and moving the cursor. X/Open
288 288 Curses is designed to optimize screen update activities. The X/Open
289 289 Curses library conforms fully with Issue 4 of the X/Open Extended
290 290 Curses specification. See libcurses(3XCURSES).
291 291
292 292
293 293 Extended Library Functions
294 294 The functions described in this volume comprise the following
295 295 specialized libraries:
296 296
297 297 (3BSM)
298 298
299 299 These functions constitute the auditing library, libbsm. This
300 300 library is implemented as a shared object, libbsm.so, but is not
301 301 automatically linked by the C compilation system. Specify -lbsm on
302 302 the cc command line to link with this library. See libbsm(3LIB).
303 303
304 304
305 305 (3CFGADM)
306 306
307 307 These functions constitute the configuration administration
308 308 library, libcfgadm. This library is implemented as a shared object,
309 309 libcfgadm.so, but is not automatically linked by the C compilation
310 310 system. Specify -lcfgadm on the cc command line to link with this
311 311 library. See libcfgadm(3LIB).
312 312
313 313
314 314 (3CONTRACT)
315 315
316 316 These functions constitute the contract management library,
317 317 libcontract. This library is implemented as a shared object,
318 318 libcontract.so, but is not automatically linked by the C
319 319 compilation system. Specify -lcontract on the cc command line to
320 320 link with this library. See libcontract(3LIB).
321 321
322 322
323 323 (3CPC)
324 324
325 325 These functions constitute the CPU performance counter library,
326 326 libcpc, and the process context library, libpctx. These libraries
327 327 are implemented as shared objects, libcpc.so and libpctx.so,
328 328 respectively, but are not automatically linked by the C compilation
329 329 system. Specify -lcpc or -lpctx on the cc command line to link with
330 330 these libraries. See libcpc(3LIB) and libpctx(3LIB).
331 331
332 332
333 333 (3DAT)
334 334
335 335 These functions constitute the direct access transport library,
336 336 libdat. This library is implemented as a shared object, libdat.so,
337 337 but is not automatically linked by the C compilation system.
338 338 Specify -ldat on the cc command line to link with this library. See
339 339 libdat(3LIB).
340 340
341 341
342 342 (3DEVID)
343 343
344 344 These functions constitute the device ID library, libdevid. This
345 345 library is implemented as a shared object, libdevid.so, but is not
346 346 automatically linked by the C compilation system. Specify -ldevid
347 347 on the cc command line to link with this library. See
348 348 libdevid(3LIB).
349 349
350 350
351 351 (3DEVINFO)
352 352
353 353 These functions constitute the device information library,
354 354 libdevinfo. This library is implemented as a shared object,
355 355 libdevinfo.so, but is not automatically linked by the C compilation
356 356 system. Specify -ldevinfo on the cc command line to link with this
357 357 library. See libdevinfo(3LIB).
358 358
359 359
360 360 (3ELF)
361 361
362 362 These functions constitute the ELF access library, libelf,
363 363 (Extensible Linking Format). This library provides the interface
364 364 for the creation and analyses of "elf" files; executables, objects,
365 365 and shared objects. libelf is implemented as a shared object,
366 366 libelf.so, but is not automatically linked by the C compilation
367 367 system. Specify -lelf on the cc command line to link with this
368 368 library. See libelf(3LIB).
369 369
370 370
371 371 (3EXACCT)
372 372
373 373 These functions constitute the extended accounting access library,
374 374 libexacct, and the project database access library, libproject.
375 375 These libraries are implemented as shared objects, libexacct.so and
376 376 libproject.so, respectively, but are not automatically linked by
377 377 the C compilation system. Specify -lexacct or -lproject on the cc
378 378 command line to link with these libraries. See libexacct(3LIB) and
379 379 libproject(3LIB).
380 380
381 381
382 382 (3FCOE)
383 383
384 384 These functions constitute the Fibre Channel over Ethernet port
385 385 management library. This library is implemented as a shared object,
386 386 libfcoe.so, but is not automatically linked by the C compilation
387 387 system. Specify -lfcoe on the cc command line to link with this
388 388 library. See libfcoe(3LIB).
389 389
390 390
391 391 (3FSTYP)
392 392
393 393 These functions constitute the file system type identification
394 394 library. This library is implemented as a shared object,
395 395 libfstyp.so, but is not automatically linked by the C compilation
396 396 system. Specify -lfstyp on the cc command line to link with this
397 397 library. See libfstyp(3LIB).
398 398
399 399
400 400 (3GEN)
401 401
402 402 These functions constitute the string pattern-matching and pathname
403 403 manipulation library, libgen. This library is implemented as a
404 404 shared object, libgen.so, but is not automatically linked by the C
405 405 compilation system. Specify -lgen on the cc command line to link
406 406 with this library. See libgen(3LIB).
407 407
408 408
409 409 (3HBAAPI)
410 410
411 411 These functions constitute the common fibre channel HBA information
412 412 library, libhbaapi. This library is implemented as a shared object,
413 413 libhbaapi.so, but is not automatically linked by the C compilation
414 414 system. Specify -lhbaapi on the cc command line to link with this
415 415 library. See libhbaapi(3LIB).
416 416
417 417
418 418 (3ISCSIT)
419 419
420 420 These functions constitute the iSCSI Management library, libiscsit.
421 421 This library is implemented as a shared object, libiscsit.so, but
422 422 is not automatically linked by the C compilation system. Specify
423 423 -liscsit on the cc command line to link with this library. See
424 424 libiscsit(3LIB).
425 425
426 426
427 427 (3KSTAT)
428 428
429 429 These functions constitute the kernel statistics library, which is
430 430 implemented as a shared object, libkstat.so, but is not
431 431 automatically linked by the C compilation system. Specify -lkstat
432 432 on the cc command line to link with this library. See
433 433 libkstat(3LIB).
434 434
435 435
436 436 (3KVM)
437 437
438 438 These functions allow access to the kernel's virtual memory
439 439 library, which is implemented as a shared object, libkvm.so, but is
440 440 not automatically linked by the C compilation system. Specify -lkvm
441 441 on the cc command line to link with this library. See libkvm(3LIB).
442 442
443 443
444 444 (3LGRP)
445 445
446 446 These functions constitute the locality group library, which is
447 447 implemented as a shared object, liblgrp.so, but is not
448 448 automatically linked by the C compilation system. Specify -llgrp on
449 449 the cc command line to link with this library. See liblgrp(3LIB).
450 450
451 451
452 452 (3M)
453 453
454 454 These functions constitute the mathematical library, libm. This
455 455 library is implemented as a shared object, libm.so, but is not
456 456 automatically linked by the C compilation system. Specify -lm on
457 457 the cc command line to link with this library. See libm(3LIB).
458 458
459 459
460 460 (3MAIL)
461 461
462 462 These functions constitute the user mailbox management library,
463 463 libmail. This library is implemented as a shared object,
464 464 libmail.so, but is not automatically linked by the C compilation
465 465 system. Specify -lmail on the cc command line to link with this
466 466 library. See libmail(3LIB).
467 467
468 468
469 469 (3MP)
470 470
471 471 These functions constitute the integer mathematical library, libmp.
472 472 This library is implemented as a shared object, libmp.so, but is
473 473 not automatically linked by the C compilation system. Specify -lmp
474 474 on the cc command line to link with this library. See libmp(3LIB).
475 475
476 476
477 477 (3MPAPI)
478 478
479 479 These functions constitute the Common Multipath Management library,
480 480 libMPAPI. This library is implemented as a shared object,
481 481 libMPAPI.so, but is not automatically linked by the C compilation
482 482 system. Specify -lMPAPI on the cc command line to link with this
483 483 library. See libMPAPI(3LIB).
484 484
485 485
486 486 (3MVEC)
487 487
488 488 These functions constitute the vector mathematical library,
489 489 libmvec. This library is implemented as a shared object,
490 490 libmvec.so, but is not automatically linked by the C compilation
491 491 system. Specify -lmvec on the cc command line to link with this
492 492 library. See libmvec(3LIB).
493 493
494 494
495 495 (3NVPAIR)
496 496
497 497 These functions constitute the name-value pair library, libnvpair.
498 498 This library is implemented as a shared object, libnvpair.so, but
499 499 is not automatically linked by the C compilation system. Specify
500 500 -lnvpair on the cc command line to link with this library. See
501 501 libnvpair(3LIB).
502 502
503 503
504 504 (3PAM)
505 505
506 506 These functions constitute the pluggable authentication module
507 507 library, libpam. This library is implemented as a shared object,
508 508 libpam.so, but is not automatically linked by the C compilation
509 509 system. Specify -lpam on the cc command line to link with this
510 510 library. See libpam(3LIB).
511 511
512 512
513 513 (3PAPI)
514 514
515 515 These functions constitute the Free Standards Group Open Printing
516 516 API (PAPI) library, libpapi. This library is implemented as a
517 517 shared object, libpapi.so, but is not automatically linked by the C
518 518 compilation system. Specify -lpapi on the cc command line to link
519 519 with this library. See libpapi(3LIB).
520 520
521 521
522 522 (3PICL)
523 523
524 524 These functions constitute the PICL library, libpicl. This library
525 525 is implemented as a shared object, libpicl.so, but is not
526 526 automatically linked by the C compilation system. Specify -lpicl on
527 527 the cc command line to link with this library. See libpicl(3LIB)
528 528 and libpicl(3PICL).
529 529
530 530
531 531 (3PICLTREE)
532 532
533 533 These functions constitute the PICL plug-in library, libpicltree.
534 534 This library is implemented as a shared object, libpicltree.so, but
535 535 is not automatically linked by the C compilation system. Specify
536 536 -lpicltree on the cc command line to link with this library. See
537 537 libpicltree(3LIB) and libpicltree(3PICLTREE).
538 538
539 539
540 540 (3POOL)
541 541
542 542 These functions constitute the pool configuration manipulation
543 543 library, libpool. This library is implemented as a shared object,
544 544 libpool.so, but is not automatically linked by the C compilation
545 545 system. Specify -lpool on the cc command line to link with this
546 546 library. See libpool(3LIB).
547 547
548 548
549 549 (3PROC)
550 550
551 551 These functions constitute the process manipulation library,
552 552 libproc. This library is implemented as a shared object,
553 553 libproc.so, but it is not automatically linked by the C compilation
554 554 system. Specify -lproc on the cc command line to link with this
555 555 library. See libproc(3LIB).
556 556
557 557
558 558 (3PROJECT)
559 559
560 560 These functions constitute the project database access library,
561 561 libproject. This library is implemented as a shared object,
562 562 libproject.so, but is not automatically linked by the C compilation
563 563 system. Specify -lproject on the cc command line to link with this
564 564 library. See libproject(3LIB).
565 565
566 566
567 567 (3RSM)
↓ open down ↓ |
567 lines elided |
↑ open up ↑ |
568 568
569 569 These functions constitute the remote shared memory library,
570 570 librsm. This library is implemented as a shared object, librsm.so,
571 571 but is not automatically linked by the C compilation system.
572 572 Specify -lrsm on the cc command line to link with this library. See
573 573 librsm(3LIB).
574 574
575 575
576 576 (3SCF)
577 577
578 - These functions constitute the object-caching memory allocation
578 + These functions constitute the service configuration facility
579 579 library, libscf. This library is implemented as a shared object,
580 580 libscf.so, but is not automatically linked by the C compilation
581 581 system. Specify -lscf on the cc command line to link with this
582 582 library. See libscf(3LIB).
583 583
584 584
585 585 (3SEC)
586 586
587 587 These functions constitute the file access control library, libsec.
588 588 This library is implemented as a shared object, libsec.so, but is
589 589 not automatically linked by the C compilation system. Specify -lsec
590 590 on the cc command line to link with this library. See libsec(3LIB).
591 591
592 592
593 593 (3SECDB)
594 594
595 595 These functions constitute the security attributes database
596 596 library, libsecdb. This library is implemented as a shared object,
597 597 libsecdb.so, but is not automatically linked by the C compilation
598 598 system. Specify -lsecdb on the cc command line to link with this
599 599 library. See libsecdb(3LIB).
600 600
601 601
602 602 (3STMF)
603 603
604 604 These functions constitute the SCSI Target Mode Framework library,
605 605 libstmf. This library is implemented as a shared object,
606 606 libstmf.so, but is not automatically linked by the C compilation
607 607 system. Specify -lstmf on the cc command line to link with this
608 608 library. See libstmf(3LIB).
609 609
610 610
611 611 (3SYSEVENT)
612 612
613 613 These functions constitute the system event library, libsysevent.
614 614 This library is implemented as a shared object, libsysevent.so, but
615 615 is not automatically linked by the C compilation system. Specify
616 616 -lsysevent on the cc command line to link with this library. See
617 617 libsysevent(3LIB).
618 618
619 619
620 620 (3TECLA)
621 621
622 622 These functions constitute the interactive command-line input
623 623 library, libtecla. This library is implemented as a shared object,
624 624 libtecla.so, but is not automatically linked by the C compilation
625 625 system. Specify -ltecla on the cc command line to link with this
626 626 library. See libtecla(3LIB).
627 627
628 628
629 629 (3TNF)
630 630
631 631 These functions constitute the TNF libraries, libtnf, libtnfctl,
632 632 and libtnfprobe. These libraries are implemented as shared objects,
633 633 libtnf.so, libtnfctl.so, and libtnfprobe.so, respectively, but are
634 634 not automatically linked by the C compilation system. Specify
635 635 -ltnf, -ltnfctl, or -ltnfprobe on the cc command line to link with
636 636 these libraries. See libtnfctl(3TNF) and libtnfctl(3LIB).
637 637
638 638
639 639 (3TSOL)
640 640
641 641 These functions constitute the Trusted Extensions library, libtsol,
642 642 and the Trusted Extensions network library, libtsnet. These
643 643 libraries are implemented as shared objects, libtsol.so and
644 644 libtsnet.so, but are not automatically linked by the C compilation
645 645 system. Specify -ltsol or -ltsnet on the cc command line to link
646 646 with these libraries. See libtsol(3LIB) and libtsnet(3LIB).
647 647
648 648
649 649 (3UUID)
650 650
651 651 These functions constitute the universally unique identifier
652 652 library, libuuid. This library is implemented as a shared object,
653 653 libuuid.so, but is not automatically linked by the C compilation
654 654 system. Specify -luuid on the cc command line to link with this
655 655 library. See libuuid(3LIB).
656 656
657 657
658 658 (3VOLMGT)
659 659
660 660 These functions constitute the volume management library,
661 661 libvolmgt. This library is implemented as a shared object,
662 662 libvolmgt.so, but is not automatically linked by the C compilation
663 663 system. Specify -lvolmgt on the cc command line to link with this
664 664 library. See libvolmgt(3LIB).
665 665
666 666
667 667 DEFINITIONS
668 668 A character is any bit pattern able to fit into a byte on the machine.
669 669 In some international languages, however, a "character" might require
670 670 more than one byte, and is represented in multi-bytes.
671 671
672 672
673 673 The null character is a character with value 0, conventionally
674 674 represented in the C language as \0. A character array is a sequence of
675 675 characters. A null-terminated character array (a string) is a sequence
676 676 of characters, the last of which is the null character. The null string
677 677 is a character array containing only the terminating null character. A
678 678 null pointer is the value that is obtained by casting 0 into a pointer.
679 679 C guarantees that this value will not match that of any legitimate
680 680 pointer, so many functions that return pointers return NULL to indicate
681 681 an error. The macro NULL is defined in <stdio.h>. Types of the form
682 682 size_t are defined in the appropriate headers.
683 683
684 684 MULTITHREADED APPLICATIONS
685 685 Both POSIX threads and Solaris threads can be used within the same
686 686 application. Their implementations are completely compatible with each
687 687 other; however, only POSIX threads guarantee portability to other
688 688 POSIX-conforming environments.
689 689
690 690
691 691 The libpthread(3LIB) and libthread(3LIB) libraries are implemented as
692 692 filters on libc(3LIB).
693 693
694 694
695 695 When compiling a multithreaded application, the -mt option must be
696 696 specified on the command line.
697 697
698 698
699 699 There is no need for a multithreaded application to link with -lthread.
700 700 An application must link with -lpthread only when POSIX semantics for
701 701 fork(2) are desired. When an application is linked with -lpthread, a
702 702 call to fork() assumes the behavior fork1(2) rather than the default
703 703 behavior that forks all threads.
704 704
705 705
706 706 When compiling a POSIX-conforming application, either the
707 707 _POSIX_C_SOURCE or _POSIX_PTHREAD_SEMANTICS option must be specified on
708 708 the command line. For POSIX.1c-conforming applications, define the
709 709 _POSIX_C_SOURCE flag to be >= 199506L:
710 710
711 711 cc -mt [ flag... ] file... -D_POSIX_C_SOURCE=199506L -lpthread
712 712
713 713
714 714
715 715 For POSIX behavior with the Solaris fork() and fork1() distinction,
716 716 compile as follows:
717 717
718 718 cc -mt [ flag... ] file... -D_POSIX_PTHREAD_SEMANTICS
719 719
720 720
721 721
722 722 For Solaris threads behavior, compile as follows:
723 723
724 724 cc -mt [ flag... ] file...
725 725
726 726
727 727
728 728 Unsafe interfaces should be called only from the main thread to ensure
729 729 the application's safety.
730 730
731 731
732 732 MT-Safe interfaces are denoted in the ATTRIBUTES section of the
733 733 functions and libraries manual pages (see attributes(5)). If a manual
734 734 page does not state explicitly that an interface is MT-Safe, the user
735 735 should assume that the interface is unsafe.
736 736
737 737 REALTIME APPLICATIONS
738 738 The environment variable LD_BIND_NOW must be set to a non-null value to
739 739 enable early binding. Refer to the "When Relocations are Processed"
740 740 chapter in Linker and Libraries Guide for additional information.
741 741
742 742 FILES
743 743 INCDIR
744 744 usually /usr/include
745 745
746 746
747 747 LIBDIR
748 748 usually either /lib or /usr/lib (32-bit) or either
749 749 /lib/64 or /usr/lib/64 (64-bit)
750 750
751 751
752 752 LIBDIR/*.so
753 753 shared libraries
754 754
755 755
756 756 ACKNOWLEDGMENTS
757 757 Sun Microsystems, Inc. gratefully acknowledges The Open Group for
758 758 permission to reproduce portions of its copyrighted documentation.
759 759 Original documentation from The Open Group can be obtained online at
760 760 http://www.opengroup.org/bookstore/.
761 761
762 762
763 763 The Institute of Electrical and Electronics Engineers and The Open
764 764 Group, have given us permission to reprint portions of their
765 765 documentation.
766 766
767 767
768 768 In the following statement, the phrase ``this text'' refers to portions
769 769 of the system documentation.
770 770
771 771
772 772 Portions of this text are reprinted and reproduced in electronic form
773 773 in the SunOS Reference Manual, from IEEE Std 1003.1, 2004 Edition,
774 774 Standard for Information Technology -- Portable Operating System
775 775 Interface (POSIX), The Open Group Base Specifications Issue 6,
776 776 Copyright (C) 2001-2004 by the Institute of Electrical and Electronics
777 777 Engineers, Inc and The Open Group. In the event of any discrepancy
778 778 between these versions and the original IEEE and The Open Group
779 779 Standard, the original IEEE and The Open Group Standard is the referee
780 780 document. The original Standard can be obtained online at
781 781 http://www.opengroup.org/unix/online.html.
782 782
783 783
784 784 This notice shall appear on any product containing this material.
785 785
786 786 SEE ALSO
787 787 ar(1), ld(1), fork(2), stdio(3C), attributes(5), standards(5)
788 788
789 789
790 790 Linker and Libraries Guide
791 791
792 792
793 793 Performance Profiling Tools
794 794
795 795
796 796 ANSI C Programmer's Guide
797 797
798 798 DIAGNOSTICS
799 799 For functions that return floating-point values, error handling varies
800 800 according to compilation mode. Under the -Xt (default) option to cc,
801 801 these functions return the conventional values 0, +-HUGE, or NaN when
802 802 the function is undefined for the given arguments or when the value is
803 803 not representable. In the -Xa and -Xc compilation modes, +-HUGE_VAL is
804 804 returned instead of +-HUGE. (HUGE_VAL and HUGE are defined in math.h to
805 805 be infinity and the largest-magnitude single-precision number,
806 806 respectively.)
807 807
808 808 NOTES
809 809 None of the functions, external variables, or macros should be
810 810 redefined in the user's programs. Any other name can be redefined
811 811 without affecting the behavior of other library functions, but such
812 812 redefinition might conflict with a declaration in an included header.
813 813
814 814
815 815 The headers in INCDIR provide function prototypes (function
816 816 declarations including the types of arguments) for most of the
817 817 functions listed in this manual. Function prototypes allow the compiler
818 818 to check for correct usage of these functions in the user's program.
819 819 The lint program checker can also be used and will report discrepancies
820 820 even if the headers are not included with #include statements.
821 821 Definitions for Sections 2 and 3C are checked automatically. Other
822 822 definitions can be included by using the -l option to lint. (For
823 823 example, -lm includes definitions for libm.) Use of lint is highly
824 824 recommended. See the lint chapter in Performance Profiling Tools
825 825
826 826
827 827 Users should carefully note the difference between STREAMS and stream.
828 828 STREAMS is a set of kernel mechanisms that support the development of
829 829 network services and data communication drivers. It is composed of
830 830 utility routines, kernel facilities, and a set of data structures. A
831 831 stream is a file with its associated buffering. It is declared to be a
832 832 pointer to a type FILE defined in <stdio.h>.
833 833
834 834
835 835 In detailed definitions of components, it is sometimes necessary to
836 836 refer to symbolic names that are implementation-specific, but which are
837 837 not necessarily expected to be accessible to an application program.
838 838 Many of these symbolic names describe boundary conditions and system
839 839 limits.
840 840
841 841
842 842 In this section, for readability, these implementation-specific values
843 843 are given symbolic names. These names always appear enclosed in curly
844 844 brackets to distinguish them from symbolic names of other
845 845 implementation-specific constants that are accessible to application
846 846 programs by headers. These names are not necessarily accessible to an
847 847 application program through a header, although they can be defined in
↓ open down ↓ |
259 lines elided |
↑ open up ↑ |
848 848 the documentation for a particular system.
849 849
850 850
851 851 In general, a portable application program should not refer to these
852 852 symbolic names in its code. For example, an application program would
853 853 not be expected to test the length of an argument list given to a
854 854 routine to determine if it was greater than {ARG_MAX}.
855 855
856 856
857 857
858 - November 26, 2017 INTRO(3)
858 + August 19, 2019 INTRO(3)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX