advanced_programming_in_the_unix_environment_index

Advanced Programming in the UNIX Environment Index

Linux: Linux Fundamentals, Linux Inventor: Linus Torvalds says “ Linux just sucks less.”, Linux Best Practices - Linux Anti-Patterns, Linux kernel, Linux commands-Linux Shells-Linux CLI-GNU-Linux GUI-X11, Linux DevOps-Linux development-Linux system programming-Bash-zsh-Linux API, Linux package managers, Linux configuration management (Ansible on Linux, Chef on Linux, Puppet on Linux, PowerShell on Linux), Linux Distros (RHEL-Rocky Linux-CentOS (CentOS Stream)-Oracle Linux-Fedora, Ubuntu-Debian-Linux Mint-Raspberry Pi OS-Kali Linux-Tails, openSUSE - SUSE Linux Enterprise Server (SLES), Arch Linux-Manjaro Linux, Alpine Linux-BusyBox - Slackware - Android-Chrome OS); UNIX-UNIX Distros (FreeBSD-OpenBSD, BSD, macOS), Linux networking, Linux storage, Linux secrets, Linux security (Linux IAM-LDAP-Linux Firewall-Linux Proxy), Linux docs, Linux GitHub, Linux Containers, Linux VM, Linux on AWS, Linux on Azure, Linux on GCP, Linux on Windows (WSL), Linux on IBM, Linux on Mainframe (Linux on IBM Z mainframe - Linux for System z - IBM LinuxONE), Embedded Linux, Linus IoT-Linux on Raspberry Pi, LinuxOps-Linux sysadmin, systemd-userland-kernel space-POSIX-SUS-Linux filesystem-Linux architecture, Linux books-UNIX books, Linux courses, Linux Foundation, Linux history, Linux philosophy, Linux adoption, Linux glossary, Linux topics (navbar_linux and navbar_unix - see also navbar_fedora, navbar_rhel, navbar_centos, navbar_debian, navbar_ubuntu, navbar_linux_mint, navbar_freebsd, navbar_opensuse, navbar_manjaro, navbar_kali_linux, navbar_nixos, navbar_alpine_linux, navbar_tails_linux, navbar_slackware, navbar_rocky_linux, navbar_arch_linux, navbar_oracle_linux)

Systems programming: Linux systems programming, UNIX systems programming, Windows system programming, macOS system programming. Linux Programming Interface - A Linux and UNIX System Programming Handbook, Advanced Programming in the UNIX Environment, Mainframe systems programming, Systems programming languages (C systems programming, C++ systems programming, Rust systems programming, Awesome systems programming (navbar_systemprogramming)

Index

The function subentries labeleddefinition of” point to where the function prototype appears and, when applicable, to the source code for the function. Functions defined in the text that are used in later examples, such as the set_fl function in Figure 3.12, are included in this index. The definitions of functions that are part of the larger examples (Chapters 17, 19, 20, and 21) are also included to help in going through these examples. Also, significant functions and constants that occur in any of the examples in the text, such as select and poll, are also included in this index. Trivial functions that occur frequently, such as printf, are sometimes not referenced when they occur in examples.

. , see current directory

.. , see parent directory

386BSD, xxxi, 34

3BSD, 234

4.1BSD, 525

4.2BSD, 18, 34, 81, 121, 129–130, 183, 277, 326, 329, 469, 502, 508, 521, 525, 589

4.3BSD, xxxi, 33–34, 36, 49, 201, 257, 267, 289, 313, 318, 329, 366, 482, 535, 735, 898, 951

Reno, xxxi, 34, 76

Tahoe, xxxi, 34, 951

4.4BSD, xxvi, xxxi, 21, 34, 74, 112, 121, 129, 149, 234, 329, 535, 589, 735, 744, 951

a2ps program, 842

abort function, 198, 236, 241, 272, 275, 313, 317–319, 331, 365–367, 381, 447, 900

definition of, 365–366

absolute pathname, 5, 8, 43, 50, 64, 136, 141–142, 260, 553, 911

accept function, 148, 331, 451, 608–609, 615, 617, 635, 639–640, 648, 817

definition of, 608

access function, 102–104, 121, 124, 331, 452

definition of, 102

Accetta, M., 35

accounting

login, 186–187

process, 269–275

acct function, 269

acct structure, 270, 273

acctcom program, 269

accton program, 269, 274

ACORE constant, 271, 273–274

Adams, J., 293

add_job function, 814, 820, 823, 827

definition of, 820

add_option function, 831, 834

definition of, 831

addressing, socket, 593–605

addrinfo structure, 599–603, 614, 616, 618, 620, 622, 800, 802, 804, 807, 813–814, 816, 819, 833

add_worker function, 814, 824, 828

definition of, 828

adjustment on exit, semaphore, 570–571

Adobe Systems, 825, 947

advisory record locking, 495

AES (Application Environment Specification), 32

AEXPND constant, 271

AF_INET constant, 590–591, 595–596, 598, 601, 603–604, 802, 808

AF_INET6 constant, 590, 595–596, 601

AF_IPX constant, 590

AF_LOCAL constant, 590

AFORK constant, 270–271, 273

AF_UNIX constant, 590, 601, 630, 632, 635, 637, 640–641, 941

AF_UNSPEC constant, 590, 601

agetty program, 290

Aho, A. V., 262, 947

AI_ALL constant, 603

AI_CANONNAME constant, 603, 616, 618, 623, 802

AI_NUMERICHOST constant, 603

AI_NUMERICSERV constant, 603

aio_cancel function, 514–515

definition of, 514

aiocb structure, 511, 517–518

aio_error function, 331, 513, 515, 519–520

definition of, 513

aio_fsync function, 512–513, 520

definition of, 513

<aio.h> header, 29

AIO_LISTIO_MAX constant, 515–516

AIO_MAX constant, 515–516

AIO_PRIO_DELTA_MAX constant, 515–516

aio_read function, 512–513, 515, 518

definition of, 512

aio_return function, 331, 513, 519–520

definition of, 513

aio_suspend function, 331, 451, 514, 520

definition of, 514

aio_write function, 512–513, 515, 519

definition of, 512

AI_PASSIVE constant, 603

AI_V4MAPPED constant, 600, 603

AIX, 35, 334

alarm function, 313, 317, 331–332, 335, 338–343, 357, 373–374, 381–382, 620–621, 924

definition of, 338

alloca function, 210

Almquist, K., 4

already_running function, 475–478

definition of, 474

ALTWERASE constant, 676, 682, 685

American National Standards Institute, see ANSI

Andrade, J. M., 560, 947

ANSI (American National Standards Institute), 25

ANSI C, xxx–xxxi

Apple Computer, xxi, xxvi

Application Environment Specification, see AES

apue_db.h header, 745, 753, 757, 761

apue.h header, 7, 9–10, 247, 324, 489–490, 635, 755, 895–898

Architecture, UNIX, 1–2

argc variable, 815

ARG_MAX constant, 40, 43, 47, 49, 251

arguments, command-line, 203

argv variable, 663

Arnold J. Q., 206, 947

<arpa/inet.h> header, 29, 594

asctime function, 192

<assert.h> header, 27

assignment-allocation character, 162

ASU constant, 271, 273

asynchronous I/O, 501, 509–520

asynchronous socket I/O, 627

async-signal safe, 330, 446, 450, 457, 461–462, 927

at program, 259, 472

atd program, 259, 465

AT_EACCESS constant, 103

atexit function, 40–41, 43, 200, 202, 226, 236, 394, 731, 920

definition of, 200

ATEXIT_MAX constant, 40–41, 43, 49, 52

AT_FDCWD constant, 65, 94, 102, 106, 110, 116–117, 120, 123–124, 127, 129, 553

atoi function, 766, 839–840

atol function, 765–767, 818, 823

atomic operation, 39, 44, 59, 63, 77–79, 81, 116, 149, 359, 365, 488, 553, 566, 568, 570, 945

AT_REMOVEDIR constant, 117

AT_SYMLINK_FOLLOW constant, 116

AT_SYMLINK_NOFOLLOW constant, 94, 106, 110, 127

AT&T, xix, 6, 33, 174, 336, 507, 948

automatic variables, 205, 215, 217, 219, 226

avoidance, deadlock, 402–407

awk program, 44, 46, 262–264, 552, 950

AXSIG constant, 271, 273–274

B0 constant, 692

B110 constant, 692

B115200 constant, 692

B1200 constant, 692

B134 constant, 692

B150 constant, 692

B1800 constant, 692

B19200 constant, 692

B200 constant, 692

B2400 constant, 692

B300 constant, 692

B38400 constant, 692

B4800 constant, 692

B50 constant, 692

B57600 constant, 692

B600 constant, 692

B75 constant, 692

B9600 constant, 692

Bach, M. J., xix, xxxii, 74, 81, 112, 116, 229, 907, 948

background process group, 296, 300, 302, 304, 306–307, 309, 321, 369, 377, 944

backoff, exponential, 606

Barkley, R. E., 948

barrier attributes, 441–442

barriers, 418–422

basename function, 442

bash program, 85, 372

.bash_login file, 289

.bash_profile file, 289

Bass, J., 485

baud rate, terminal I/O, 692–693

Berkeley Software Distribution, see BSD

bibliography, alphabetical, 947–953

big-endian byte order, 593, 791

bind function, 331, 604, 609, 624–625, 634–635, 637–638, 641

definition of, 604

/bin/false program, 179

/bin/true program, 179

<bits/signum.h> header, 314

block special file, 95, 138–139

Bolsky, M. I., 548, 948

Bostic, K., xxxii, 33, 74, 112, 116, 525, 951

Keith, 229, 236

Bourne, S. R., 3

Bourne shell, 3, 53, 90, 210, 222, 289, 299, 303, 372, 497, 542, 548, 702, 935, 950

Bourne-again shell, 3–4, 53, 85, 90, 210, 222, 289, 300, 548

Bovet, D. P., 74, 948

BREAK character, 677, 682, 685, 688, 690, 694, 708

BRKINT constant, 676, 685, 688, 706–708

BS0 constant, 685

BS1 constant, 685

BSD (Berkeley Software Distribution), 34, 65, 111, 175, 286, 289, 291, 293, 296–297, 299, 482, 501, 509–511, 532, 596–597, 630, 726–727, 734, 742

BSD Networking Release 1.0, xxxi, 34

BSD Networking Release 2.0, xxxi, 34

BSD/386, xxxi

BSDLY constant, 676, 684–685, 689

__BSD_VISIBLE constant, 473

bss segment, 205

buf_args function, 656–658, 668–670, 897

definition of, 657

buffer cache, 81

buffering, standard I/O, 145–147, 231, 235, 265, 367, 552, 721, 752

BUFSIZ constant, 49, 147, 166, 220

build_qonstart function, 814, 817, 822

definition of, 822

BUS_ADRALN constant, 353

BUS_ADRERR constant, 353

BUS_OBJERR constant, 353

byte order, xxii, 593–594, 792, 810, 825, 831, 834, 842, 861, 865

big-endian, 593, 791

little-endian, 593

C, ANSI, xxx–xxxi

ISO, 25–26, 153, 950

C shell, 3, 53, 222, 289, 299, 548

c99 program, 58, 70

cache

buffer, 81

page, 81

CAE (Common Application Environment), 32

calendar time, 20, 24, 59, 126, 189, 191–192, 264, 270

calloc function, 207–208, 226, 544, 760, 920

definition of, 207

cancellation point, 451

canonical mode, terminal I/O, 700–703

Carges, M. T., 560, 947

cat program, 89, 112, 123, 301, 304, 734–735, 748, 944

catclose function, 452

catgets function, 442, 452

catopen function, 452

CBAUDEXT constant, 675, 685

cbreak terminal mode, 672, 704, 708, 713

cc program, 6, 57, 206

CCAR_OFLOW constant, 675, 685, 689

cc_t data type, 674

CCTS_OFLOW constant, 675, 685

cd program, 136

CDSR_OFLOW constant, 675, 685

CDTR_IFLOW constant, 675, 685

Cesati, M., 74, 948

cfgetispeed function, 331, 677, 692

definition of, 692

cfgetospeed function, 331, 677, 692

definition of, 692

cfsetispeed function, 331, 677, 692

definition of, 692

cfsetospeed function, 331, 677, 692

definition of, 692

character special file, 95, 138–139, 699

CHAR_BIT constant, 37–38

CHARCLASS_NAME_MAX constant, 39, 49

CHAR_MAX constant, 37–38

CHAR_MIN constant, 37–38

chdir function, 8, 121, 135–137, 141, 222, 288, 331, 468, 912

definition of, 135

Chen, D., 949

CHILD_MAX constant, 40, 43, 49, 233

chmod function, 106–108, 121, 125, 331, 452, 558, 641, 944

definition of, 106

chmod program, 99–100, 559

chown function, 55, 109–110, 120–121, 125, 288, 331, 452, 558, 944

definition of, 109

chroot function, 141, 480, 910, 928

CIBAUDEXT constant, 675, 685

CIGNORE constant, 675, 685

Clark, J. J., xxxii

CLD_CONTINUED constant, 353

CLD_DUMPED constant, 353

CLD_EXITED constant, 353

CLD_KILLED constant, 353

CLD_STOPPED constant, 353

CLD_TRAPPED constant, 353

clearenv function, 212

clearerr function, 151

definition of, 151

cli_args function, 656–658, 668–669

definition of, 658

cli_conn function, 636–637, 640, 659, 665, 897

definition of, 636, 640

client_add function, 662, 665, 667

definition of, 661

client_alloc function, 661–662, 668

definition of, 660

client_cleanup function, 814, 824, 829

definition of, 829

client_del function, 665, 667

definition of, 661

clientserver model, 479–480, 585–587

client_thread function, 814, 817, 824

definition of, 824

CLOCAL constant, 318, 675, 685

clock function, 58–59

clock tick, 20, 42–43, 49, 59, 270, 280

clock_getres function, 190

definition of, 190

clock_gettime function, 189–190, 331, 408, 414, 437, 439

definition of, 189

clockid_t data type, 189

CLOCK_MONOTONIC constant, 189

clock_nanosleep function, 373–375, 437, 439, 451, 462

definition of, 375

CLOCK_PROCESS_CPUTIME_ID constant, 189

CLOCK_REALTIME constant, 189–190, 408, 437, 439, 581

clock_settime function, 190, 439

definition of, 190

CLOCKS_PER_SEC constant, 59

clock_t data type, 20, 58–59, 280

CLOCK_THREAD_CPUTIME_ID constant, 189

clone function, 229

close function, 8, 52, 61, 66, 80–81, 124, 128, 331, 451, 468, 474, 492, 532, 537–539, 544, 550, 553, 560, 577–578, 587, 592–593, 609, 616, 618, 625, 638–639, 641, 654–655, 657, 665, 667–669, 725–726, 728–729, 739–740, 761, 823, 826–827, 829, 833, 837

definition of, 66

closedir function, 5, 7, 130–135, 452, 698, 823, 910

definition of, 130

closelog function, 452, 470

definition of, 470

close-on-exec flag, 80, 83, 252–253, 479–480, 492

clrasync function, definition of, 940

clr_fl function, 85, 482–483, 896, 937

clri program, 122

cmsgcred structure, 648–651

CMSG_DATA function, 645–646, 648, 650, 652

definition of, 645

CMSG_FIRSTHDR function, 645, 652

definition of, 645

cmsghdr structure, 645–647, 649, 651

CMSG_LEN function, 645–647, 649, 651

definition of, 645

CMSG_NXTHDR function, 645, 650, 652

definition of, 645

CMSPAR constant, 675, 685, 690

codes, option, 31

COLL_WEIGHTS_MAX constant, 39, 43, 49

COLUMNS environment variable, 211

Comer, D. E., 744, 949

command-line arguments, 203

Common Application Environment, see CAE

Common Open Software Environment, see COSE

communication, network printer, 789–843

<complex.h> header, 27

comp_t data type, 59

Computing Science Research Group, see CSRG

condition variable attributes, 440–441

condition variables, 413–416

cond_signal function, 416

connect function, 331, 451, 605–608, 610–611, 621, 635, 641–642

definition of, 605

connection establishment, 605–609

connect_retry function, 607, 614, 800, 808, 834

definition of, 606–607

controlling

process, 296–297, 318

terminal, 63, 233, 252, 270, 292, 295–298, 301, 303–304, 306, 309, 311–312, 318, 321, 377, 463, 465–466, 469, 480, 680, 685, 691, 694, 700, 702, 716, 724, 726–727, 898, 953

cooked terminal mode, 672

cooperating processes, 495, 752, 945

Coordinated Universal Time, see UTC

coprocesses, 548–552, 721, 737

copy-on-write, 229, 458

core dump, 74, 928

core file, 111, 124, 275, 315, 317, 320, 332, 366, 681, 703, 909, 920, 922

COSE (Common Open Software Environment), 32

count, link, 44, 59, 114–117, 130

cp program, 141, 528

cpio program, 127, 142, 910–911

<cpio.h> header, 29

CR terminal character, 678, 680, 703

CR0 constant, 685

CR1 constant, 685

CR2 constant, 685

CR3 constant, 685

CRDLY constant, 676, 684–685, 689

CREAD constant, 675, 686

creat function, 61, 66, 68, 79, 89, 101, 104, 118, 121, 125, 149, 331, 451, 491, 825–826, 909, 912

definition of, 66

creation mask, file mode, 104–105, 129, 141, 169, 233, 252, 466

cron program, 259, 382, 465, 470, 472–474, 925

CRTSCTS constant, 675, 686

CRTS_IFLOW constant, 675, 686

CRTSXOFF constant, 675, 686

crypt function, 287, 298, 304, 442

crypt program, 298, 700

CS5 constant, 684, 686

CS6 constant, 684, 686

CS7 constant, 684, 686

CS8 constant, 684, 686, 706–708

.cshrc file, 289

CSIZE constant, 675, 684, 686, 706–707

csopen function, 653–654

definition of, 654, 659

CSRG (Computing Science Research Group), xx, xxvi, 34

CSTOPB constant, 675, 686

ctermid function, 442, 452, 694, 700–701

definition of, 694

ctime function, 192

<ctype.h> header, 27

cu program, 500

cupsd program, 465, 793

current directory, 4–5, 8, 13, 43, 50, 65, 94, 100, 115–117, 120, 127, 130, 135–137, 178, 211, 233, 252, 315, 317, 466

Curses, 32

curses library, 712–713, 949, 953

cuserid function, 276

daemon, 463–480

coding, 466–469

conventions, 474–479

error logging, 469–473

daemonize function, 466, 468, 480, 616, 618, 623, 664, 815, 896, 929–930

definition of, 467

Dang, X. T., 206, 949

Darwin, xxii, xxvii, 35

dash program, 372

data, out-of-band, 626

data segment

initialized, 205

uninitialized, 205

data transfer, 610–623

data types, primitive system, 58

database library, 743–787

coarse-grained locking, 752

concurrency, 752–753

fine-grained locking, 752

implementation, 746–750

performance, 781–786

source code, 753–781

database transactions, 952

Date, C. J., 753, 949

date functions, time and, 189–196

date program, 192, 196, 371, 919, 944

DATEMSK environment variable, 211

db library, 744, 952

DB structure, 756–758, 760–762, 765–768, 773, 776, 782

_db_alloc function, 757, 760–761

definition of, 760

db_close function, 745, 749, 754, 761

definition of, 745, 761

db_delete function, 746, 752, 754, 768–769, 771, 945

definition of, 746, 768

_db_dodelete function, 757, 768–769, 772, 776, 780–781, 787, 944–945

definition of, 769

db_fetch function, 745, 748–749, 752, 754, 762, 767

definition of, 745, 762

_db_find_and_lock function, 757, 762–763, 767–768, 774–775, 777, 786

definition of, 763

_db_findfree function, 757, 775, 777–778, 781

definition of, 777

_db_free function, 757–758, 761

definition of, 761

DBHANDLE data type, 749, 754, 757, 761–762, 768, 774, 779

_db_hash function, 757, 764, 787

definition of, 764

DB_INSERT constant, 745, 749, 754, 774, 776

dbm library, 743–744, 952

dbm_clearerr function, 442

dbm_close function, 442, 452

dbm_delete function, 442, 452

dbm_error function, 442

dbm_fetch function, 442, 452

dbm_firstkey function, 442

dbm_nextkey function, 442, 452

dbm_open function, 442, 452

dbm_store function, 442, 452

db_nextrec function, 746, 750, 752, 754, 769, 779, 781, 787, 944–945

definition of, 746, 779

db_open function, 745–746, 749, 752, 754–757, 759–761, 781

definition of, 745, 757

_db_readdat function, 757, 762, 768, 780, 945

definition of, 768

_db_readidx function, 757, 764–765, 778, 780, 945

definition of, 765

_db_readptr function, 757, 763, 765, 770, 775–777, 787

definition of, 765

DB_REPLACE constant, 745, 754, 774

db_rewind function, 746, 754, 760, 779, 781

definition of, 746, 779

DB_STORE constant, 745, 754, 774

db_store function, 745, 747, 749, 752, 754, 769, 771, 774, 781, 787

definition of, 745, 774

_db_writedat function, 757, 769, 771–772, 775–777, 781, 787, 944–945

definition of, 771

_db_writeidx function, 522, 757, 759, 770, 772, 775–776, 781, 787, 945

definition of, 772

_db_writeptr function, 757, 759, 770, 773, 775–776, 778

definition of, 773

dcheck program, 122

dd program, 275

deadlock, 234, 402, 490, 552, 721

avoidance, 402–407

record locking, 490

Debian Almquist shell, 4, 53

Debian Linux distribution, 4

delayed write, 81

DELAYTIMER_MAX constant, 40, 43

descriptor set, 503, 505, 532, 933

detachstate attribute, 427–428

/dev/fd device, 88–89, 142, 696

/dev/fd/0 device, 89

/dev/fd/1 device, 89, 142

/dev/fd/2 device, 89

device number

major, 58–59, 137, 139, 465, 699

minor, 58–59, 137, 139, 465, 699

device special file, 137–139

/dev/klog device, 470

/dev/kmem device, 68

/dev/log device, 470, 480, 928

/dev/null device, 73, 86, 304

/dev/stderr device, 89, 697

/dev/stdin device, 89, 697

/dev/stdout device, 89, 697

dev_t data type, 59, 137–138

devtmpfs file system, 139

/dev/tty device, 298, 304, 312, 694, 700, 740

/dev/tty1 file, 290

/dev/zero device, 576–578

df program, 141, 910

DIR structure, 7, 131, 283, 697, 822

directories

files and, 4–8

hard links and, 117, 120

reading, 130–135

directory, 4

current, 4–5, 8, 13, 43, 50, 65, 94, 100, 115–117, 120, 127, 130, 135–137, 178, 211, 233, 252, 315, 317, 466

file, 95

home, 2, 8, 135, 211, 288, 292

ownership, 101–102

parent, 4, 108, 125, 129

root, 4, 8, 24, 139, 141, 233, 252, 283, 910

Directory Services daemon, 185

dirent structure, 5, 7, 131, 133, 697, 822

<dirent.h> header, 7, 29, 131

dirname function, 442

DISCARD terminal character, 678, 680, 687

dlclose function, 452

dlerror function, 442

<dlfcn.h> header, 29

dlopen function, 452

do_driver function, 732, 739

definition of, 739

Dorward, S., 229, 952

DOS, 57, 65

dot, see current directory

dot-dot, see parent directory

dprintf function, 159, 452, 945

definition of, 159

drand48 function, 442

DSUSP terminal character, 678, 680, 688

dtruss program, 497

du program, 111, 141, 909

Duff, T., 88

dup function, 52, 61, 74, 77, 79–81, 148, 164, 231, 331, 468, 492–493, 592–593, 907–908, 921

definition of, 79

dup2 function, 64, 79–81, 90, 148, 331, 539, 544, 550–551, 592, 618–619, 655, 728–729, 739–740, 907–908

definition of, 79

E2BIG error, 564

EACCES error, 14–15, 474, 487, 499, 918

EAGAIN error, 16, 376, 474, 482, 484, 487, 496–497, 499, 514, 563, 569–570, 581, 609, 627

EBADF error, 52, 916

EBUSY error, 16, 400, 410, 418

ECANCELED error, 515

ECHILD error, 333, 351, 371, 546

ECHO constant, 676, 686–687, 701, 705–707, 731

echo program, 203

ECHOCTL constant, 676, 686

ECHOE constant, 676, 686–687, 701, 731

ECHOK constant, 676, 687, 701, 731

ECHOKE constant, 676, 687

ECHONL constant, 676, 687, 701, 731

ECHOPRT constant, 676, 686–687

ed program, 367, 369–370, 496–497

EDEADLK error, 418

EEXIST error, 121, 558, 584

EFBIG error, 925

effective

group ID, 98–99, 101–102, 108, 110, 140, 183, 228, 233, 256, 258, 558, 587

user ID, 98–99, 101–102, 106, 110, 126, 140, 228, 233, 253, 256–260, 276, 286, 288, 337, 381, 558, 562, 568, 573, 586–587, 637, 640, 809, 918

efficiency

I/O, 72–74

standard I/O, 153–156

EIDRM error, 562–564, 568–570, 579

EINPROGRESS error, 519–520, 608

EINTR error, 16, 265–266, 301, 327–329, 339, 359, 370, 502, 508, 514, 545–546, 563–564, 569–570, 620

EINVAL error, 42, 47–48, 345, 389, 543, 545–546, 705–707, 774, 914

EIO error, 309, 321, 823–824, 826–827

Ellis, M., xxxii

ELOOP error, 121–122

EMFILE error, 544, 546

EMSGSIZE error, 610

ENAMETOOLONG error, 65, 637, 640

encrypt function, 442

endgrent function, 183–184, 442, 452

definition of, 183

endhostent function, 452, 597

definition of, 597

endnetent function, 452, 598

definition of, 598

endprotoent function, 452, 598

definition of, 598

endpwent function, 180–181, 442, 452

definition of, 180

endservent function, 452, 599

definition of, 599

endspent function, 182

definition of, 182

endutxent function, 442, 452

ENFILE error, 16

ENOBUFS error, 16

ENOENT error, 15, 170, 445, 745, 774

ENOLCK error, 16

ENOMEM error, 16, 914

ENOMSG error, 564

ENOSPC error, 16, 445

ENOTDIR error, 592

ENOTRECOVERABLE error, 433

ENOTTY error, 683, 693

environ variable, 203–204, 211, 213, 251, 255, 444–445, 450, 920

environment list, 203–204, 233, 251, 286–288

environment variable, 210–213

COLUMNS , 211

DATEMSK , 211

HOME , 210–211, 288

IFS , 269

LANG , 41, 211

LC_ALL , 211

LC_COLLATE , 43, 211

LC_CTYPE , 211

LC_MESSAGES , 211

LC_MONETARY , 211

LC_NUMERIC , 211

LC_TIME , 211

LD_LIBRARY_PATH , 753

LINES , 211

LOGNAME , 211, 276, 288

MAILPATH , 210

MALLOC_OPTIONS , 928

MSGVERB , 211

NLSPATH , 211

PAGER , 539, 542–543

PATH , 100, 211, 250–251, 253, 260, 263, 265, 288–289

POSIXLY_CORRECT , 111

PWD , 211

SHELL , 211, 288, 737

TERM , 211, 287, 289

TMPDIR , 211

TZ , 190, 192, 195–196, 211, 919

USER , 210, 288

ENXIO error, 553

EOF constant, 10, 151–152, 154, 164, 175, 545, 547–548, 550–551, 664, 730, 913

EOF terminal character, 678, 680, 686–687, 700, 703

EOL terminal character, 678, 680, 687, 700, 703

EOL2 terminal character, 678, 680, 687, 700, 703

EOWNERDEAD error, 432

EPERM error, 256

EPIPE error, 537, 937

Epoch, 20, 22, 126, 187, 189–190, 640

ERANGE error, 50

ERASE terminal character, 678, 680, 686–687, 702–703

ERASE2 terminal character, 678, 681

err_cont function, 897, 899

definition of, 900

err_dump function, 366, 767, 897, 899

definition of, 900

err_exit function, 809, 897, 899

definition of, 900

err_msg function, 897, 899

definition of, 901

errno variable, 14–15, 42, 50, 55, 65, 67, 81, 121, 144, 256, 265, 277, 301, 309, 314, 321, 327–328, 330–331, 333, 337, 339, 345, 351, 359, 371, 376, 380, 384, 386, 446–447, 454, 471, 474, 482, 484, 487, 499, 502, 508, 513–514, 537, 546, 553, 564, 568, 579, 581, 584, 592, 608–610, 627, 637–638, 640, 683, 693, 745, 805, 899, 925, 937

<errno.h> header, 14–16, 27

error

handling, 14–16

logging, daemon, 469–473

recovery, 16

routines, standard, 898–904

TOCTTOU, 65, 250, 953

err_quit function, 7, 815, 897, 899, 912

definition of, 901

err_ret function, 897, 899, 912

definition of, 899

err_sys function, 7, 897, 899

definition of, 899

ESPIPE error, 67, 592

ESRCH error, 337

/etc/gettydefs file, 290

/etc/group file, 17–18, 177, 185–186

/etc/hosts file, 186, 795

/etc/init directory, 290

/etc/inittab file, 290

/etc/master.passwd file, 185

/etc/networks file, 185–186

/etc/passwd file, 2, 99, 135, 177–178, 180, 182, 185–186

/etc/printer.conf file, 794–795, 799

/etc/protocols file, 185–186

/etc/pwd.db file, 185

/etc/rc file, 189, 291

/etc/services file, 185–186

/etc/shadow file, 99, 185–186

/etc/spwd.db file, 185

/etc/syslog.conf file, 470

/etc/termcap file, 712

/etc/ttys file, 286

ETIME error, 800, 805

ETIMEDOUT error, 407, 413, 415, 581, 800

Evans, J., 949

EWOULDBLOCK error, 16, 482, 609, 627

exec function, 10–11, 13, 23, 39–40, 43, 79, 82, 100, 121, 125, 197, 201, 203, 225, 229, 233–234, 249–257, 260–261, 264–266, 269–271, 275, 277, 282–283, 286–288, 290–292, 294, 305, 325, 372, 457, 479, 492, 527, 533, 538, 541, 557, 585, 653–654, 658–659, 669, 716–717, 721, 723, 727, 739, 742, 920, 928, 948

execl function, 249–251, 261, 265–266, 272, 274–275, 283, 288, 331, 370–371, 539, 544, 550–551, 618, 655, 737, 922

definition of, 249

execle function, 249–251, 254, 287, 331

definition of, 249

execlp function, 12–13, 19, 249–251, 253–254, 264–265, 283, 740, 922

definition of, 249

execv function, 249–251, 331

definition of, 249

execve function, 249–251, 253, 331, 922

definition of, 249

execvp function, 249–251, 253, 731–732

definition of, 249

exercises, solutions to, 905–945

_Exit function, 198, 201, 236–237, 239, 331, 365, 367, 388, 447

definition of, 198

_exit function, 198, 201, 235–239, 265–266, 282–283, 331, 365, 367, 370, 381, 388, 447, 921, 924

definition of, 198

exit function, 7, 150, 154, 198–202, 226, 231, 234–239, 246, 249, 265, 271–272, 274–275, 283, 288, 330, 365–366, 388, 447, 466, 542, 705, 732, 742, 817, 830, 895, 920–921, 944

definition of, 198

exit handler, 200

expect program, 720, 739–740, 951

exponential backoff, 606

ext2 file system, 129

ext3 file system, 129

ext4 file system, 73, 86, 129, 465

EXTPROC constant, 676, 687

faccessat function, 102–104, 331, 452

definition of, 102

Fagin, R., 744, 750, 949

Fast-STREAMS, Linux, 534

fatal error, 16

fchdir function, 135–137, 592

definition of, 135

fchmod function, 106–108, 120, 125, 331, 452, 498, 592

definition of, 106

fchmodat function, 106–108, 331, 452

definition of, 106

fchown function, 109–110, 125, 331, 452, 592

definition of, 109

fchownat function, 109–110, 331, 452

definition of, 109

fclose function, 148–150, 172–174, 199, 201, 365, 367, 452, 545, 701, 803

definition of, 150

fcntl function, 61, 77, 80–87, 90, 112, 148, 164, 252–253, 331, 451–452, 480, 482, 485–490, 492, 494–495, 510–511, 592, 626–627, 783, 785, 939, 944

definition of, 82

<fcntl.h> header, 29, 62

fdatasync function, 81, 86–87, 331, 451, 513, 592

definition of, 81

FD_CLOEXEC constant, 63, 79, 82–83, 252, 480

FD_CLR function, 503–504, 665, 933

definition of, 503

FD_ISSET function, 503–504, 665, 817, 933

definition of, 503

fdopen function, 148–150, 159, 544, 936

definition of, 148

fdopendir function, 130–135

definition of, 130

fd-pipe, 653–654, 656, 658

fd_pipe function, 630, 655, 739, 896

definition of, 630

fd_set data type, 59, 503–504, 532, 664, 805, 814, 816–817, 932–933, 939

FD_SET function, 503–504, 664–665, 805, 816, 933

definition of, 503

__FD_SETSIZE constant, 933

FD_SETSIZE constant, 504, 932–933

F_DUPFD constant, 81–83, 592

F_DUPFD_CLOEXEC constant, 82, 592

FD_ZERO function, 503–504, 664, 805, 933

definition of, 503

feature test macro, 57–58, 84

Fenner, B., 157, 291, 470, 589, 952

<fenv.h> header, 27

feof function, 151, 157

definition of, 151

ferror function, 10, 151, 154, 157, 273, 538, 543, 550

definition of, 151

fexecve function, 249–250, 253, 331

definition of, 249

FF0 constant, 687

FF1 constant, 687

FFDLY constant, 676, 684, 687, 689

fflush function, 145, 147, 149, 172, 174–175, 366, 452, 547–548, 552, 702, 721, 901, 904, 913

definition of, 147

F_FREESP constant, 112

fgetc function, 150–151, 154–155, 452

definition of, 150

F_GETFD constant, 82–83, 480, 592

F_GETFL constant, 82–85, 592

F_GETLK constant, 82, 486–490

F_GETOWN constant, 82–83, 592, 626

fgetpos function, 157–159, 452

definition of, 158

fgets function, 10, 12, 19, 150, 152–156, 168, 174–175, 214, 216, 452, 538, 543, 548, 550–552, 616, 622, 654, 738, 753, 803, 845, 911, 913, 936

definition of, 152

fgetwc function, 452

fgetws function, 452

FIFOs, 95, 534, 552–556

file

access permissions, 99–101, 140

block special, 95, 138–139

character special, 95, 138–139, 699

descriptor passing, 587, 642–652

descriptors, 8–10, 61–62

device special, 137–139

directory, 95

group, 182–183

holes, 68–69, 111–112

mode creation mask, 104–105, 129, 141, 169, 233, 252, 466

offset, 66–68, 74, 77–78, 80, 231–232, 494, 522, 747–748, 908

ownership, 101–102

pointer, 144

regular, 95

sharing, 74–77, 231

size, 111–112

times, 124–125, 532

truncation, 112

types, 95–98

FILE structure, 131, 143–144, 151, 164, 168, 171–172, 220, 235, 273, 443–444, 538, 542–543, 545, 547, 622, 701, 754, 803, 914, 929

file system, 4, 113–116

devtmpfs , 139

ext2 , 129

ext3 , 129

ext4 , 73, 86, 129, 465

HFS , 87, 113, 116

HSFS , 113

PCFS , 49, 57, 113

S5 , 65

UFS , 49, 57, 65, 113, 116, 129

filename, 4

truncation, 65–66

FILENAME_MAX constant, 38

fileno function, 164, 545, 701, 913

definition of, 164

_FILE_OFFSET_BITS constant, 70

FILEPERM constant, 800, 825

files and directories, 4–8

FILESIZEBITS constant, 39, 44, 49

find program, 124, 135, 252

finger program, 141, 179, 910

FIOASYNC constant, 627, 939–940

FIOSETOWN constant, 627

FIPS, 32–33

Flandrena, B., 229, 952

<float.h> header, 27, 38

flock function, 485

flock structure, 486, 489–490, 494

flockfile function, 443–444

definition of, 443

FLUSHO constant, 676, 680, 687

fmemopen function, 171–175, 913

definition of, 171

fmtmsg function, 211, 452

<fmtmsg.h> header, 30

FNDELAY constant, 482

<fnmatch.h> header, 29

F_OK constant, 102

follow_link function, 48

fopen function, 6, 144, 148–150, 165, 220, 273, 452, 538–539, 542, 701, 803, 929

definition of, 148

FOPEN_MAX constant, 38, 43

foreground process group, 296, 298, 300–303, 306, 311, 318–322, 369, 377, 680–682, 685, 689, 710, 719, 741, 944

foreground process group ID, 298, 303, 677

fork function, 11–13, 19, 23, 77, 228–237, 241–243, 245–249, 254, 260–261, 264–266, 269–272, 274–275, 277, 282, 286, 288, 290–292, 294, 296, 304, 307–308, 312, 326, 331, 334, 370–372, 381, 457–462, 466–469, 471, 479, 491–493, 498–500, 527, 533–539, 541, 544, 546, 550, 557, 565, 577, 585, 588, 618–619, 642, 653–655, 658–659, 669–670, 716, 721, 723–724, 726–728, 732, 739, 781, 922–923, 927–928, 930–931, 934, 937, 939, 948

definition of, 229

fork1 function, 229

forkall function, 229

Fowler, G. S., 135, 949, 953

fpathconf function, 37, 39, 41–48, 53–55, 65, 110, 452, 537, 679

definition of, 42

FPE_FLTDIV constant, 353

FPE_FLTINV constant, 353

FPE_FLTOVF constant, 353

FPE_FLTRES constant, 353

FPE_FLTSUB constant, 353

FPE_FLTUND constant, 353

FPE_INTDIV constant, 353

FPE_INTOVF constant, 353

fpos_t data type, 59, 157

fprintf function, 159, 452

definition of, 159

fputc function, 145, 152, 154–155, 452

definition of, 152

fputs function, 146, 150, 152–156, 164, 168, 174–175, 452, 543, 548, 550, 701, 901, 904, 911, 919, 926, 936

definition of, 153

fputwc function, 452

fputws function, 452

F_RDLCK constant, 486–487, 489–490, 897, 930–931

fread function, 150, 156–157, 269, 273, 452

definition of, 156

free function, 163, 174, 207–209, 330, 332, 401, 403–405, 407, 437–438, 450, 697, 762, 829, 833, 837, 842, 917

definition of, 207

freeaddrinfo function, 599, 833

definition of, 599

FreeBSD, xxi–xxii, xxvi–xxvii, 3–4, 21, 26–27, 29–30, 34–36, 38, 49, 57, 60, 62, 64, 68, 70, 81, 83, 88, 95, 102, 108–111, 121, 129, 132, 138, 175, 178, 182, 184–185, 187–188, 209–212, 222, 225, 229, 240, 245, 253, 257, 260, 262, 269, 271, 276–277, 288–289, 292, 298, 303, 310, 314–316, 319, 322, 329, 334, 351, 355, 358, 371, 373, 377, 379–380, 385, 388, 393, 396, 409, 426–427, 433, 439, 473, 485, 492–493, 497, 499, 503, 527, 534, 559, 561, 567, 572, 576, 594–595, 607, 611–613, 627, 634, 648–649, 652, 675–678, 685–691, 716, 724, 726–727, 740–741, 744, 799, 911, 918, 930, 932–933, 935–936, 949, 951

freopen function, 144, 148–150, 452

definition of, 148

frequency scaling, 785

fscanf function, 162, 452

definition of, 162

fsck program, 122

fseek function, 149, 157–159, 172, 452

definition of, 158

fseeko function, 157–159, 172, 452

definition of, 158

F_SETFD constant, 82, 85, 90, 480, 592, 907

F_SETFL constant, 82–83, 85, 90, 511, 592, 627, 907, 944

F_SETLK constant, 82, 486–488, 490, 494, 897, 930–931

F_SETLKW constant, 82, 486, 488, 490, 897, 931

F_SETOWN constant, 82–83, 510, 592, 626–627, 939

fsetpos function, 149, 157–159, 172, 452

definition of, 158

fstat function, 4, 93–95, 120, 331, 452, 494, 498, 518, 529–530, 535, 586, 592, 698, 759, 808, 833

definition of, 93

fstatat function, 93–95, 331, 452

definition of, 93

fsync function, 61, 81, 86–87, 175, 331, 451, 513, 517, 528, 592, 787, 913

definition of, 81

ftell function, 157–159, 452

definition of, 158

ftello function, 157–159, 452

definition of, 158

ftok function, 557–558

definition of, 557

ftpd program, 472, 928

ftruncate function, 112, 125, 331, 529–530, 592

definition of, 112

ftrylockfile function, 443–444

definition of, 443

fts function, 132

ftw function, 122, 130–135, 141

<ftw.h> header, 30

full-duplex pipes, 534

named, 534

timing, 565

function prototypes, 845–893

functions, system calls versus, 21–23

F_UNLCK constant, 486–487, 489–490, 897

funlockfile function, 443–444

definition of, 443

funopen function, 175, 915

futimens function, 125–128, 331, 452, 910

definition of, 126

fwide function, 144

definition of, 144

fwprintf function, 452

fwrite function, 150, 156–157, 382, 452, 925

definition of, 156

F_WRLCK constant, 486–487, 489–490, 494, 897, 931

fwscanf function, 452

gai_strerror function, 600, 616, 619, 621, 623

definition of, 600

Gallmeister, B. O., 949

Garfinkel, S., 181, 250, 298, 949

gather write, 521, 644

gawk program, 262

gcc program, 6, 26, 58, 919

gdb program, 928

gdbm library, 744

generic pointer, 71, 208

getaddrinfo function, 452, 599–601, 603–604, 614–616, 619, 621, 623, 802, 808

definition of, 599

getaddrlist function, 800, 802, 804, 808, 815

definition of, 802

GETALL constant, 568

getc function, 10, 150–156, 164–165, 452, 701–702, 913

definition of, 150

getchar function, 150–151, 164, 175, 452, 547, 913

definition of, 150

getchar_unlocked function, 442, 444, 452

definition of, 444

getconf program, 70

getc_unlocked function, 442, 444, 452

definition of, 444

getcwd function, 50, 135–137, 142, 208, 452, 911–912

definition of, 136

getdate function, 211, 442, 452

getdelim function, 452

getegid function, 228, 331

definition of, 228

getenv function, 204, 210–212, 442, 444–446, 449–450, 462, 539, 928

definition of, 210

getenv_r function, 445–446

geteuid function, 228, 257, 268, 331, 650, 809

definition of, 228

getgid function, 17, 228, 331

definition of, 228

getgrent function, 183–184, 442, 452

definition of, 183

getgrgid function, 182, 442, 452

definition of, 182

getgrgid_r function, 443, 452

getgrnam function, 182, 442, 452

definition of, 182

getgrnam_r function, 443, 452

getgroups function, 184, 331

definition of, 184

gethostbyaddr function, 597, 599

gethostbyname function, 597, 599

gethostent function, 442, 452, 597

definition of, 597

gethostid function, 452

gethostname function, 39–40, 43, 188, 452, 616–618, 623, 815

definition of, 188

getline function, 452

getlogin function, 275–276, 442, 452, 480, 929–930

definition of, 275

getlogin_r function, 443, 452

getmsg function, 740

getnameinfo function, 452, 600

definition of, 600

GETNCNT constant, 568

getnetbyaddr function, 442, 452, 598

definition of, 598

getnetbyname function, 442, 452, 598

definition of, 598

getnetent function, 442, 452, 598

definition of, 598

get_newjobno function, 814, 820, 825, 843

definition of, 820

getopt function, 442, 452, 662–664, 669, 730–731, 807–808

definition of, 662

getpass function, 287, 298, 700, 702–703

definition of, 701

getpeername function, 331, 605

definition of, 605

getpgid function, 293–294

definition of, 294

getpgrp function, 293, 331

definition of, 293

GETPID constant, 568

getpid function, 11, 228, 230, 235, 272, 308, 331, 366, 378, 387, 474, 650, 939

definition of, 228

getppid function, 228–229, 331, 491, 732

definition of, 228

get_printaddr function, 800, 804, 819

definition of, 804

get_printserver function, 800, 804, 808

definition of, 804

getpriority function, 277

definition of, 277

getprotobyname function, 442, 452, 598

definition of, 598

getprotobynumber function, 442, 452, 598

definition of, 598

getprotoent function, 442, 452, 598

definition of, 598

getpwent function, 180–181, 442, 452

definition of, 180

getpwnam function, 177–181, 186, 276, 287, 330–332, 442, 452, 816, 918

definition of, 179–180

getpwnam_r function, 443, 452

getpwuid function, 177–181, 186, 275–276, 442, 452, 809, 918

definition of, 179

getpwuid_r function, 443, 452

getresgid function, 257

getresuid function, 257

getrlimit function, 53, 220, 224, 466–467, 906–907

definition of, 220

getrusage function, 245, 280

gets function, 152–153, 911

definition of, 152

getservbyname function, 442, 452, 599

definition of, 599

getservbyport function, 442, 452, 599

definition of, 599

getservent function, 442, 452, 599

definition of, 599

getsid function, 296

definition of, 296

getsockname function, 331, 605

definition of, 605

getsockopt function, 331, 624–625

definition of, 624

getspent function, 182

definition of, 182

getspnam function, 182, 918

definition of, 182

gettimeofday function, 190, 414, 421, 437, 439

definition of, 190

getty program, 238, 286–288, 290, 472

gettytab file, 287

getuid function, 17, 228, 257, 268, 275–276, 331

definition of, 228

getutxent function, 442, 452

getutxid function, 442, 452

getutxline function, 442, 452

GETVAL constant, 568

getwc function, 452

getwchar function, 452

GETZCNT constant, 568

Ghemawat, S., 949

GID, see group ID

gid_t data type, 59

Gingell, R. A., 206, 525, 949

Gitlin, J. E., xxxii

glob function, 452

global variables, 219

<glob.h> header, 29

gmtime function, 191–192, 442

definition of, 192

gmtime_r function, 443

GNU, 2, 289, 753

GNU Public License, 35

Godsil, J. M., xxxii

Goodheart, B., 712, 949

Google, 210

goto, nonlocal, 213–220, 355–358

Grandi, S., xxxii

grantpt function, 723–725

definition of, 723

grep program, 20, 174, 200, 252, 949–950

group file, 182–183

group ID, 17, 255–260

effective, 98–99, 101–102, 108, 110, 140, 183, 228, 233, 256, 258, 558, 587

real, 98, 102, 183, 228, 233, 252–253, 256, 270, 585

supplementary, 18, 39, 98, 101, 108, 110, 183–184, 233, 252, 258

group structure, 182

<grp.h> header, 29, 182, 186

guardsize attribute, 427, 430

hack, 303, 842

half-duplex pipes, 534

handle_request function, 656, 665–666, 668

definition of, 657, 668

hard link, 4, 114, 117, 120, 122

hard links and directories, 117, 120

hcreate function, 442

hdestroy function, 442

headers

optional, 30

POSIX required, 29

standard, 27

XSI option, 30

heap, 205

Hein, T. R., xxxii, 951

Hewlett-Packard, 35, 835

HFS file system, 87, 113, 116

Hogue, J. E., xxxii

holes, file, 68–69, 111–112

home directory, 2, 8, 135, 211, 288, 292

HOME environment variable, 210–211, 288

Honeyman, P., xxxii

hostent structure, 597

hostname program, 189

HOST_NAME_MAX constant, 40, 43, 49, 188, 615–618, 622–623, 800, 815

HP-UX, 35

hsearch function, 442

HSFS file system, 113

htonl function, 594, 810, 824–827, 834

definition of, 594

htons function, 594, 831, 834

definition of, 594

HTTP (Hypertext Transfer Protocol), 792–793

Hume, A. G., 174, 949

HUPCL constant, 675, 687

Hypertext Transfer Protocol, see HTTP

IBM (International Business Machines), 35

ICANON constant, 676, 678, 680–682, 686–687, 691, 703, 705–707

iconv_close function, 452

<iconv.h> header, 29

iconv_open function, 452

ICRNL constant, 676, 680, 688, 700, 706–708

identifiers

IPC, 556–558

process, 227–228

IDXLEN_MAX constant, 779

IEC (International Electrotechnical Commission), 25

IEEE (Institute for Electrical and Electronic Engineers), xx, 26–27, 950

IEXTEN constant, 676, 678, 680–682, 688, 706–708

I_FIND constant, 725–726

IFS environment variable, 269

IGNBRK constant, 676, 685, 688

IGNCR constant, 676, 680, 688, 700

IGNPAR constant, 676, 688, 690

ILL_BADSTK constant, 353

ILL_COPROC constant, 353

ILL_ILLADR constant, 353

ILL_ILLOPC constant, 353

ILL_ILLOPN constant, 353

ILL_ILLTRP constant, 353

ILL_PRVOPC constant, 353

ILL_PRVREG constant, 353

Illumos, xxi

IMAXBEL constant, 676, 688

implementation differences, password, 184–185

implementations, UNIX System, 33

INADDR_ANY constant, 605

in_addr_t data type, 595

incore, 74, 152

INET6_ADDRSTRLEN constant, 596

inet_addr function, 596

INET_ADDRSTRLEN constant, 596, 603–604

inetd program, 291, 293, 465, 470, 472

inet_ntoa function, 442, 596

inet_ntop function, 596, 604

definition of, 596

inet_pton function, 596

definition of, 596

INFTIM constant, 508

init program, 187, 189, 228, 237–238, 246, 270, 286–291, 293, 307, 309, 312, 320, 337, 379, 464–465, 475, 923, 930

initgroups function, 184, 288

definition of, 184

initialized data segment, 205

init_printer function, 814, 816, 819, 833

definition of, 819

init_request function, 814, 816, 818

definition of, 818

initserver function, 615–617, 619, 622–623, 800, 816

definition of, 609, 625

inittab file, 320

INLCR constant, 676, 688

i-node, 59, 75–77, 94, 108, 113–116, 120, 124, 127, 130–131, 138–139, 179, 253, 493, 698, 905, 910

ino_t data type, 59, 114

INPCK constant, 676, 688, 690, 706–708

in_port_t data type, 595

Institute for Electrical and Electronic Engineers, see IEEE

int16_t data type, 831

Intel, xxii

International Business Machines, see IBM

International Electrotechnical Commission, see IEC

International Standards Organization, see ISO

Internet Printing Protocol, see IPP

Internet worm, 153

interpreter file, 260–264, 283

interprocess communication, see IPC

interrupted system calls, 327–330, 343, 351, 354–355, 365, 508

INT_MAX constant, 37–38

INT_MIN constant, 37–38

INTR terminal character, 678, 681, 688, 701

<inttypes.h> header, 27

I/O

asynchronous, 501, 509–520

asynchronous socket, 627

efficiency, 72–74

library, standard, 10, 143–175

memory-mapped, 525–531

multiplexing, 500–509

nonblocking, 481–484

nonblocking socket, 608–609, 627

terminal, 671–713

unbuffered, 8, 61–91

IOBUFSZ constant, 836

ioctl function, 61, 87–88, 90, 297–298, 322, 328–329, 452, 482, 510, 562, 592, 627, 674, 710–711, 718–719, 725–728, 730, 740–742, 939–940

definition of, 87

_IOFBF constant, 147

_IOLBF constant, 147, 166, 220

_IO_LINE_BUF constant, 165

_IONBF constant, 147, 166

_IO_UNBUFFERED constant, 165

iovec structure, 41, 43, 521, 611, 646–647, 649, 651, 655, 659, 765, 771–772, 832, 836

IOV_MAX constant, 41, 43, 49, 521

IPC (interprocess communication), 533–588, 629–670

identifiers, 556–558

key, 556–558, 562, 567, 572

XSI, 556–560

IPC_CREAT constant, 558, 632, 941

IPC_EXCL constant, 558

IPC_NOWAIT constant, 563–564, 569–570

ipc_perm structure, 558, 562, 567, 572, 587

IPC_PRIVATE constant, 557–558, 575, 586, 588

ipcrm program, 559

IPC_RMID constant, 562–563, 568, 573–575

ipcs program, 559, 588

IPC_SET constant, 562–563, 568, 573

IPC_STAT constant, 562–563, 568, 573

IPP (Internet Printing Protocol), 789–792

ipp.h header, 843

ipp_hdr structure, 798, 832, 834, 838, 842

IPPROTO_ICMP constant, 591

IPPROTO_IP constant, 591, 624

IPPROTO_IPV6 constant, 591

IPPROTO_RAW constant, 591, 602

IPPROTO_TCP constant, 591, 602, 624

IPPROTO_UDP constant, 591, 602

I_PUSH constant, 725–726

IRIX, 35

isalpha function, 516

isatty function, 679, 695, 698–699, 711, 730, 738

definition of, 695

isdigit function, 839–840

I_SETSIG constant, 510

ISIG constant, 676, 678, 680–682, 688, 706–708

ISO (International Standards Organization), xx, xxxi, 25–27, 950

ISO C, 25–26, 153, 950

<iso646.h> header, 27

is_read_lockable function, 490, 897

isspace function, 839–840

ISTRIP constant, 676, 688, 690, 706–708

is_write_lockable function, 490, 897

IUCLC constant, 676, 688

IUTF8 constant, 676, 689

IXANY constant, 676, 689

IXOFF constant, 676, 681–682, 689

IXON constant, 676, 681–682, 689, 706–708

jemalloc, 210

jmp_buf data type, 216, 218, 340, 343

job control, 299–303

shell, 294, 299, 306–307, 325, 358, 377, 379, 734–735

signals, 377–379

job structure, 812–813, 820–821, 832

job_append function, definition of, 411

job_find function, 927

definition of, 412

job_insert function, definition of, 411

job_remove function, 927

definition of, 412

Jolitz, W. F., 34

Joy, W. N., 3, 76

jsh program, 299

Karels, M. J., 33–34, 74, 112, 116, 229, 236, 525, 951

kernel, 1

Kernighan, B. W., xx, xxxii, 26, 149, 155, 162, 164, 208, 262, 898, 906, 947, 950

Kerrisk, M., 950

key, IPC, 556–558, 562, 567, 572

key_t data type, 557, 633

kill function, 18, 272, 308, 314, 325, 331, 335–338, 353, 363, 366–367, 376, 378–379, 381, 455, 679, 681, 702, 732–733, 924, 932

definition of, 337

kill program, 314–315, 321, 325, 551

KILL terminal character, 678, 681, 687, 702–703

kill_workers function, 814, 828–830

definition of, 828

Kleiman, S. R., 76, 950

Knuth, D. E., 422, 764, 950

Korn, D. G., 3, 135, 174, 548, 948–950, 953

Korn shell, 3, 53, 90, 210, 222, 289, 299, 497, 548, 702, 733–734, 737, 935, 948

Kovach, K. R., 560, 947

Krieger, O., 174, 531, 950

l64a function, 442

LANG environment variable, 41, 211

<langinfo.h> header, 29

last program, 187

launchctl program, 293

launchd program, 228, 259, 289, 292, 465

layers, shell, 299

LC_ALL environment variable, 211

LC_COLLATE environment variable, 43, 211

LC_CTYPE environment variable, 211

lchown function, 109–110, 121, 125

definition of, 109

LC_MESSAGES environment variable, 211

LC_MONETARY environment variable, 211

LC_NUMERIC environment variable, 211

L_ctermid constant, 694

LC_TIME environment variable, 211

ld program, 206

LDAP (Lightweight Directory Access Protocol), 185

LD_LIBRARY_PATH environment variable, 753

ldterm STREAMS module, 716, 726

leakage, memory, 209

least privilege, 256, 795, 816

Lee, M., 206, 949

Lee, T. P., 948

Leffler, S. J., 34, 951

Lennert, D., 951

Lesk, M. E., 143

lgamma function, 442

lgammaf function, 442

lgammal function, 442

Libes, D., 720, 924, 951

<libgen.h> header, 30

libraries, shared, 206–207, 226, 753, 920, 947

Lightweight Directory Access Protocol, see LDAP

limit program, 53, 222

limits, 36–53

C, 37–38

POSIX, 38–41

resource, 220–225, 233, 252, 322, 382

runtime indeterminate, 49–53

XSI, 41

<limits.h> header, 27, 37, 39, 41, 49–50

Linderman, J. P., xxxii

line control, terminal I/O, 693–694

LINE_MAX constant, 39, 43, 49

LINES environment variable, 211

link

count, 44, 59, 114–117, 130

hard, 4, 114, 117, 120, 122

symbolic, 55, 94–95, 110–111, 114, 118, 120–123, 131, 137, 141, 186, 908–909

link function, 79, 115–119, 121–122, 125, 331, 452

definition of, 116

linkat function, 116–119, 331, 452

definition of, 116

LINK_MAX constant, 39, 44, 49, 114

lint program, 200

Linux, xxi–xxii, xxv, xxvii, 2–4, 7, 14, 21, 26–27, 29–30, 35–38, 49, 52, 57, 60, 62, 64–65, 70, 73, 75–76, 86–89, 102, 108–111, 121–122, 129, 132, 138, 173, 178, 182, 184–185, 187–188, 205, 209, 211–212, 222, 226, 229, 240, 244–245, 253, 257, 259–260, 262, 269, 271, 274, 276–277, 288–290, 293, 298, 303, 306, 314–316, 318–320, 322, 329, 334–335, 351, 354–355, 358, 371, 373, 377, 379–380, 385, 388, 392, 396, 409, 426–427, 432–433, 439, 462, 464–465, 473–474, 485, 496–497, 503, 522, 530–531, 534, 559, 561, 567, 571–573, 575–576, 578, 583, 594–596, 607, 611–613, 627, 634, 648–650, 652, 675–678, 684–691, 693, 716, 724, 726–727, 740–741, 744, 753, 783, 793, 799, 911, 918, 925, 930, 932, 935–936

Linux Fast-STREAMS, 534

LinuxThreads, 388

lio_listio function, 452, 515

definition of, 515

LIO_NOWAIT constant, 515

Lions, J., 951

LIO_WAIT constant, 515

listen function, 331, 605, 608–609, 625, 635, 638, 800

definition of, 608

little-endian byte order, 593

Litwin, W., 744, 750, 951

LLONG_MAX constant, 37

LLONG_MIN constant, 37

ln program, 115

LNEXT terminal character, 678, 681

locale, 43

localeconv function, 442

<locale.h> header, 27

localtime function, 190–192, 194–195, 264, 408, 442, 452, 919

definition of, 192

localtime_r function, 443, 452

lockf function, 451–452, 485

lockf structure, 493

lockfile function, 473–474

definition of, 494

locking

database library, coarse-grained, 752

database library, fine-grained, 752

locking function, 485

lock_reg function, 489, 897, 930–931

definition of, 489

locks

readerwriter, 409–413

spin, 417–418

lock_test function, 489–490, 897

definition of, 489

log function, 470

LOG_ALERT constant, 472

LOG_AUTH constant, 472

LOG_AUTHPRIV constant, 472

LOG_CONS constant, 468, 471

LOG_CRIT constant, 472

LOG_CRON constant, 472

LOG_DAEMON constant, 468, 472

LOG_DEBUG constant, 472

LOG_EMERG constant, 472

LOG_ERR constant, 472, 474–476, 478–479, 615–619, 622–623, 902–903

log_exit function, 817, 898–899

definition of, 903

LOG_FTP constant, 472

logger program, 471

login accounting, 186–187

.login file, 289

login name, 2, 17, 135, 179, 187, 211, 275–276, 290, 480, 930

root, 16

login program, 179, 182, 184, 187, 251, 254, 256, 276, 287–290, 292, 472, 700, 717, 738

LOG_INFO constant, 472, 476, 478

LOGIN_NAME_MAX constant, 40, 43, 49

logins

network, 290–293

terminal, 285–290

LOG_KERN constant, 472

LOG_LOCAL0 constant, 472

LOG_LOCAL1 constant, 472

LOG_LOCAL2 constant, 472

LOG_LOCAL3 constant, 472

LOG_LOCAL4 constant, 472

LOG_LOCAL5 constant, 472

LOG_LOCAL6 constant, 472

LOG_LOCAL7 constant, 472

LOG_LPR constant, 472

LOG_MAIL constant, 472

log_msg function, 897, 899

definition of, 903

LOGNAME environment variable, 211, 276, 288

LOG_NDELAY constant, 471, 928

LOG_NEWS constant, 472

LOG_NOTICE constant, 472

log_open function, 664, 898

definition of, 902

LOG_PERROR constant, 471

LOG_PID constant, 471, 664

log_quit function, 830, 898–899

definition of, 903

log_ret function, 898–899

definition of, 902

log_sys function, 804, 898–899

definition of, 902

LOG_SYSLOG constant, 472

log_to_stderr variable, 664, 807, 813, 902, 904

LOG_USER constant, 472, 664

LOG_WARNING constant, 472

LONG_BIT constant, 38

_longjmp function, 355, 358

longjmp function, 197, 213, 215–219, 225, 330–331, 340–341, 343, 355–358, 365, 381, 924

definition of, 215

LONG_MAX constant, 37, 52–53, 60, 420, 906–907

LONG_MIN constant, 37

loop function, 663–664, 666, 670, 732, 742

definition of, 666, 732

lp program, 585, 793

lpc program, 472

lpd program, 472, 793

lpsched program, 585, 793

lrand48 function, 442

ls program, 5–8, 13, 107–108, 112, 123, 125, 131, 135, 139, 141, 177, 179, 559, 905

lseek function, 8, 59, 61, 66–70, 77–79, 88, 91, 149, 158, 331, 452, 462, 486, 489, 498, 592, 670, 765–766, 768, 771, 773, 779, 819, 908

definition of, 67

lstat function, 93–97, 121–122, 133, 141, 331, 452, 942

definition of, 93

L_tmpnam constant, 168

Lucchina, P., xxxii

Mac OS X, xxi–xxii, xxvi–xxvii, 3–4, 17, 26–27, 29–30, 35–36, 38, 49, 57, 60, 62, 64, 70, 83, 87–88, 102, 108–111, 113, 121, 129, 132, 138, 175, 178, 182, 184–185, 187–188, 193, 209, 211–212, 222, 228, 240, 244–245, 260, 262, 269, 271, 276–277, 288–289, 292–293, 298, 303, 314–317, 319, 322, 329, 334, 351, 355, 371, 373, 377, 379–380, 385, 388, 393, 396, 409, 426–427, 464–465, 485, 497, 503, 522, 534, 559, 561, 567, 572, 576, 594, 607, 611–613, 627, 634, 648, 675–678, 685–691, 716, 724, 726–727, 740–741, 744, 793, 799, 911, 918, 925, 930, 932, 935–936

Mach, xxii, xxvi–xxvii, 35, 947

<machine/_types.h> header, 906

macro, feature test, 57–58, 84

MAILPATH environment variable, 210

main function, 7, 150, 155, 197–200, 202, 204, 215–217, 226, 236–237, 249, 283, 330–332, 357–358, 468, 654, 656, 663, 729, 739, 811, 814, 817, 824, 830, 833, 919, 921, 939, 944

major device number, 58–59, 137, 139, 465, 699

major function, 138–139

make program, 300

makethread function, 436, 438–439

mallinfo function, 209

malloc function, 21–23, 51, 136, 145, 174, 207–210, 213, 330, 332, 392, 400–401, 403, 405, 429, 437, 447, 450, 575, 616, 618, 623, 646–647, 650–651, 661–662, 666, 696, 760–761, 815, 820, 828, 839, 926, 928

definition of, 207

MALLOC_OPTIONS environment variable, 928

mallopt function, 209

mandatory record locking, 495

Mandrake, xxvii

MAP_ANON constant, 578

MAP_ANONYMOUS constant, 578

MAP_FAILED constant, 529, 577

MAP_FIXED constant, 526–527

MAP_PRIVATE constant, 526, 528, 578

MAP_SHARED constant, 526–529, 576–578

<math.h> header, 27

Mauro, J., 74, 112, 116, 951

MAX_CANON constant, 39, 44, 47, 49, 673

MAX_INPUT constant, 39, 44, 49, 672

MAXPATHLEN constant, 49

MB_LEN_MAX constant, 37

mbstate_t structure, 442

McDougall, R., 74, 112, 116, 951

McIlroy, M. D., xxxii

McKusick, M. K., xxxii, 33–34, 74, 112, 116, 229, 236, 525, 951

MD5, 181

MDMBUF constant, 675, 685, 689

memccpy function, 155

memcpy function, 530–531, 916

memory

allocation, 207–210

layout, 204–206

leakage, 209

shared, 534, 571–578

memory-mapped I/O, 525–531

memset function, 172–173, 614, 616, 618, 621, 623

Menage, P., 949

message queues, 534, 561–565

timing, 565

mgetty program, 290

MIN terminal value, 687, 703–704, 708, 713, 943

minor device number, 58–59, 137, 139, 465, 699

minor function, 138–139

mkdir function, 101–102, 120–122, 125, 129–130, 331, 452, 912

definition of, 129

mkdir program, 129

mkdirat function, 129–130, 331, 452

definition of, 129

mkdtemp function, 167–171, 452

definition of, 169

mkfifo function, 120–121, 125, 331, 452, 553, 937

definition of, 553

mkfifo program, 553

mkfifoat function, 331, 452, 553

definition of, 553

mknod function, 120–121, 129, 331, 452, 553

mknodat function, 331, 452, 553

mkstemp function, 167–171, 452

definition of, 169

mktime function, 190, 192, 195, 452

definition of, 192

mlock function, 221

mmap function, 174, 221, 429, 481, 525, 527, 529–532, 576–578, 587, 592, 949

definition of, 525

modem, xx, xxvii, 285, 287, 297, 318, 328, 481, 508, 671, 674–675, 685, 687, 689, 692

mode_t data type, 59

<monetary.h> header, 29

Moran, J. P., 525, 949

more program, 543, 748

Morris, R., 181, 951

mount program, 102, 129, 139, 496

mounted STREAMS-based pipes, 534

mprotect function, 527

definition of, 527

mq_receive function, 451

mq_send function, 451

mq_timedreceive function, 451

mq_timedsend function, 451

<mqueue.h> header, 30

mrand48 function, 442

MS_ASYNC constant, 528

MSG_CONFIRM constant, 611

msgctl function, 558–559, 562

definition of, 562

MSG_CTRUNC constant, 613

MSG_DONTROUTE constant, 611

MSG_DONTWAIT constant, 611

MSG_EOF constant, 611

MSG_EOR constant, 611, 613

msgget function, 557–562, 632–633, 941

definition of, 562

msghdr structure, 611, 613, 644, 646–647, 649, 651

MSG_MORE constant, 611

MSG_NOERROR constant, 564, 631, 941

MSG_NOSIGNAL constant, 611

MSG_OOB constant, 611–613, 626

MSG_PEEK constant, 612

msgrcv function, 451, 558–559, 561, 564, 585, 631, 941

definition of, 564

msgsnd function, 451, 558, 560–561, 563–565, 633

definition of, 563

MSG_TRUNC constant, 612–613

MSGVERB environment variable, 211

MSG_WAITALL constant, 612

MS_INVALIDATE constant, 528

msqid_ds structure, 561–562, 564

MS_SYNC constant, 528, 530

msync function, 451, 528, 530

definition of, 528

Mui, L., 712, 953

multiplexing, I/O, 500–509

munmap function, 528–529

definition of, 528

mutex attributes, 430–439

mutex timing comparison, 571

mutexes, 399–409

mv program, 115

myftw function, 133, 141

named full-duplex pipes, 534

NAME_MAX constant, 38–39, 44, 49, 55, 65, 131

nanosleep function, 373–375, 437, 439, 451, 462, 837, 934

definition of, 374

Nataros, S., xxxii

Native POSIX Threads Library, see NPTL

nawk program, 262

NCCS constant, 674

ndbm library, 744

<ndbm.h> header, 30

Nemeth, E., xxxii, 951

<netdb.h> header, 29, 186

netent structure, 598

<net/if.h> header, 29

<netinet/in.h> header, 29, 595, 605

<netinet/tcp.h> header, 29

Network File System, Sun Microsystems, see NFS

Network Information Service, see NIS

network logins, 290–293

network printer communication, 789–843

Neville-Neil, G. V., 74, 112, 116, 951

newgrp program, 183

nfds_t data type, 507

_NFILE constant, 51

NFS (Network File System, Sun Microsystems), 76, 787

nftw function, 122, 131–132, 135, 442, 452, 910

NGROUPS_MAX constant, 39, 43, 49, 183–184

nice function, 276–277

definition of, 276

nice value, 252, 276–277, 279

Nievergelt, J., 744, 750, 949

NIS (Network Information Service), 185

NIS+, 185

NL terminal character, 678, 680–681, 687, 700, 703

NL0 constant, 689

NL1 constant, 689

NL_ARGMAX constant, 39

NLDLY constant, 676, 684, 689

nlink_t data type, 59, 114

nl_langinfo function, 442

NL_LANGMAX constant, 41

NL_MSGMAX constant, 39

NL_SETMAX constant, 39

NLSPATH environment variable, 211

NL_TEXTMAX constant, 39

<nl_types.h> header, 29

nobody login name, 178–179

NOFILE constant, 51

NOFLSH constant, 676, 689

NOKERNINFO constant, 676, 682, 689

nologin program, 179

nonblocking

I/O, 481–484

socket I/O, 608–609, 627

noncanonical mode, terminal I/O, 703–710

nonfatal error, 16

nonlocal goto, 213–220, 355–358

NPTL (Native POSIX Threads Library), xxiii, 388

ntohl function, 594, 811, 825, 842

definition of, 594

ntohs function, 594, 604, 842

definition of, 594

NULL constant, 823

null signal, 314, 337

NZERO constant, 41, 276–277

O_ACCMODE constant, 83–84

O_APPEND constant, 63, 66, 72, 77–78, 83–84, 149, 497, 511

O_ASYNC constant, 83, 511, 627

O_CLOEXEC constant, 63

O_CREAT constant, 63, 66, 79, 89, 121, 125, 474, 496–498, 517–518, 529, 558, 579–580, 584, 749, 758, 818, 930

OCRNL constant, 676, 689

od program, 69

O_DIRECT constant, 150

O_DIRECTORY constant, 63

O_DSYNC constant, 64, 83, 513

O_EXCL constant, 63, 79, 121, 558, 580, 584

O_EXEC constant, 83

OFDEL constant, 676, 684, 689

off_t data type, 59, 67–70, 157–158, 772

OFILL constant, 676, 684, 689

O_FSYNC constant, 64, 83–84

OLCUC constant, 676, 689

Olson, M., 952

O_NDELAY constant, 36, 63, 482

ONLCR constant, 676, 690, 731, 738

ONLRET constant, 676, 690

ONOCR constant, 676, 690

O_NOCTTY constant, 63, 297–298, 466, 723–724, 726

ONOEOT constant, 676, 690

O_NOFOLLOW constant, 63

O_NONBLOCK constant, 36, 63, 83–84, 482–483, 496, 498, 553, 611–612, 934, 937

open function, 8, 14, 61–66, 77, 79, 83, 89, 91, 100–101, 103–104, 112, 118, 120–125, 127–128, 137, 148–150, 283, 287, 297–298, 331, 451, 468, 470, 474, 482, 492–493, 495–498, 517–518, 525, 529, 553, 556, 558, 560, 577–578, 585, 588, 592, 653, 656–657, 669–670, 685, 723, 725–726, 745, 757–758, 808, 818, 823, 833, 907, 909, 930, 937

definition of, 62

Open Group, The, xxi, xxvi, 31, 196, 950

Open Software Foundation, see OSF

openat function, 62–66, 331, 451

definition of, 62

opend.h header, 656, 660, 942

opendir function, 5, 7, 121, 130–135, 252–253, 283, 452, 697, 822, 910

definition of, 130

openlog function, 452, 468, 470–471, 480, 902, 928

definition of, 470

OPEN_MAX constant, 40, 43, 49, 51–53, 60, 62, 906

open_max function, 466, 544, 546, 666, 896

definition of, 52, 907

open_memstream function, 171–174

definition of, 173

OpenServer, 485

OpenSolaris, xxi

OpenSS7, 534

open_wmemstream function, 171–174

definition of, 173

OPOST constant, 676, 690, 706–708, 710

optarg variable, 663

opterr variable, 663

optind variable, 808

option codes, 31

options, 53–57

socket, 623–625

optopt variable, 663

Oracle Corporation, xxi–xxii, 35

O_RDONLY constant, 62, 83–84, 100, 103, 517–518, 529, 654, 808, 833, 937

O_RDWR constant, 62, 83–84, 100, 128, 468, 474, 498, 517–518, 529, 577, 723, 725, 749, 818, 930

O’Reilly, T., 712, 953

orientation, stream, 144

orphaned process group, 307–309, 469, 735

O_RSYNC constant, 64, 83

O_SEARCH constant, 63, 83

OSF (Open Software Foundation), 31–32

O_SYNC constant, 63–64, 83–84, 86–87, 513, 520

O_TRUNC constant, 63, 66, 100, 112, 125, 127–128, 149, 496, 498, 517–518, 529, 749

O_TTY_INIT constant, 64, 683, 722

out-of-band data, 626

ownership

directory, 101–102

file, 101–102

O_WRONLY constant, 62, 83–84, 100, 937

OXTABS constant, 676, 690

packet mode, pseudo terminal, 740

page cache, 81

page size, 573

pagedaemon process, 228

PAGER environment variable, 539, 542–543

PAGESIZE constant, 40, 43, 49

PAGE_SIZE constant, 41, 43, 49

P_ALL constant, 244

PARENB constant, 675, 688, 690, 706–708

parent

directory, 4, 108, 125, 129

process ID, 228, 233, 237, 243, 246, 252, 287–288, 309, 464

PAREXT constant, 675, 690

parity, terminal I/O, 688

PARMRK constant, 676, 685, 688, 690

PARODD constant, 675, 685, 688, 690, 713

Partridge, C., xxxii

passing, file descriptor, 587, 642–652

passwd program, 99, 182, 720

passwd structure, 177, 180, 332, 809, 814, 918

password

file, 177–181

implementation differences, 184–185

shadow, 181–182, 196, 918

PATH environment variable, 100, 211, 250–251, 253, 260, 263, 265, 288–289

path_alloc function, 133, 137, 896, 912

definition of, 50

pathconf function, 37, 39, 41–48, 50–51, 53–55, 57, 65, 110, 121, 452, 537

definition of, 42

PATH_MAX constant, 38–39, 44, 49–50, 142, 911

pathname, 5

absolute, 5, 8, 43, 50, 64, 136, 141–142, 260, 553, 911

relative, 5, 8, 43–44, 50, 64–65, 135, 553

truncation, 65–66

pause function, 324, 327–328, 331, 334, 338–343, 356, 359, 365, 374, 451, 460, 711, 924, 930–931

definition of, 338

_PC_2_SYMLINKS constant, 55

_PC_ASYNC_IO constant, 55

_PC_CHOWN_RESTRICTED constant, 55

_PC_FILESIZEBITS constant, 42, 44

PCFS file system, 49, 57, 113

pckt STREAMS module, 716, 740

_PC_LINK_MAX constant, 42, 44

pclose function, 267, 452, 541–548, 616, 622, 935–937

definition of, 541, 545

_PC_MAX_CANON constant, 42, 44, 47

_PC_MAX_INPUT constant, 42, 44

_PC_NAME_MAX constant, 42, 44

_PC_NO_TRUNC constant, 55, 57

_PC_PATH_MAX constant, 43–44, 51

_PC_PIPE_BUF constant, 44

_PC_PRIO_IO constant, 55

_PC_SYMLINK_MAX constant, 44

_PC_SYNC_IO constant, 55

_PC_TIMESTAMP_RESOLUTION constant, 42, 44

_PC_VDISABLE constant, 54–55, 679

PENDIN constant, 676, 690

Pentium, xxii, xxvii

permissions, file access, 99–101, 140

perror function, 15–16, 24, 334, 379, 452, 600, 905

definition of, 15

pgrp structure, 311–312

PID, see process ID

pid_t data type, 11, 59, 293, 384

Pike, R., 229, 950, 952

pipe function, 125, 148, 331, 535, 537–538, 540, 544, 546, 550, 565, 630, 934

definition of, 535

PIPE_BUF constant, 39, 44, 49, 532, 537, 554–555, 935

pipes, 534–541

full-duplex, 534

half-duplex, 534

mounted STREAMS-based, 534

named full-duplex, 534

timing full-duplex, 565

Pippenger, N., 744, 750, 949

Plan 9 operating system, 229, 952

Plauger, P. J., 26, 164, 323, 952

pointer, generic, 71, 208

poll function, 319, 330–331, 343, 451, 481, 501–502, 506–509, 531–532, 560, 586, 588, 592, 608–609, 627, 631–632, 659, 664, 666–668, 718, 732, 742, 933–934, 936–937, 942

definition of, 506

POLLERR constant, 508

pollfd structure, 507, 632, 666, 668, 934, 941

<poll.h> header, 29, 507

POLLHUP constant, 508, 667–668, 936

POLLIN constant, 508, 632, 666–668, 936, 941–942

polling, 246, 484, 501

POLLNVAL constant, 508

POLLOUT constant, 508

POLLPRI constant, 508

POLLRDBAND constant, 508

POLLRDNORM constant, 508

POLLWRBAND constant, 508

POLLWRNORM constant, 508

popen function, 23, 242, 249, 267, 452, 541–548, 587–588, 615, 619, 622–623, 935–937

definition of, 541, 543

port number, 593, 595–596, 598–601, 605

Portable Operating System Environment for Computer Environments, IEEE, see POSIX

POSIX (Portable Operating System Environment for Computer Environments, IEEE), xix, xxxi, 26–30, 33, 265, 561, 674

POSIX semaphores, 579–584

POSIX.1, xxvi, xxxi, 4, 9, 27, 38, 41, 50, 53, 57–58, 88, 257, 262, 329, 367–368, 384, 533, 546, 553, 589, 617, 744, 950

POSIX.2, 262

_POSIX2_SYMLINKS constant, 55

_POSIX_ADVISORY_INFO constant, 31

_POSIX_AIO_LISTIO_MAX constant, 515

_POSIX_AIO_MAX constant, 515

_POSIX_ARG_MAX constant, 39–40

_POSIX_ASYNCHRONOUS_IO constant, 54, 57

_POSIX_ASYNC_IO constant, 55

_POSIX_BARRIERS constant, 54, 57

_POSIX_CHILD_MAX constant, 39–40

_POSIX_CHOWN_RESTRICTED constant, 55, 57, 110

_POSIX_CLOCKRES_MIN constant, 38

_POSIX_CLOCK_SELECTION constant, 54, 57

_POSIX_CPUTIME constant, 31, 189

_POSIX_C_SOURCE constant, 57–58, 84, 240

_POSIX_DELAYTIMER_MAX constant, 39–40

posix_fadvise function, 452

posix_fallocate function, 452

_POSIX_FSYNC constant, 31

_POSIX_HOST_NAME_MAX constant, 39–40

_POSIX_IPV6 constant, 31

_POSIX_JOB_CONTROL constant, 57

_POSIX_LINK_MAX constant, 39

_POSIX_LOGIN_NAME_MAX constant, 39–40

POSIXLY_CORRECT environment variable, 111

posix_madvise function, 452

_POSIX_MAPPED_FILES constant, 54, 57

_POSIX_MAX_CANON constant, 39

_POSIX_MAX_INPUT constant, 39

_POSIX_MEMLOCK constant, 31

_POSIX_MEMLOCK_RANGE constant, 31

_POSIX_MEMORY_PROTECTION constant, 54, 57

_POSIX_MESSAGE_PASSING constant, 31

_POSIX_MONOTONIC_CLOCK constant, 31, 189

_POSIX_NAME_MAX constant, 39, 580

_POSIX_NGROUPS_MAX constant, 39

_POSIX_NO_TRUNC constant, 55, 57, 65

_POSIX_OPEN_MAX constant, 39–40

posix_openpt function, 452, 722–725

definition of, 722

_POSIX_PATH_MAX constant, 39–40, 696–697

_POSIX_PIPE_BUF constant, 39

_POSIX_PRIO_IO constant, 55

_POSIX_PRIORITIZED_IO constant, 31

_POSIX_PRIORITY_SCHEDULING constant, 31

_POSIX_RAW_SOCKETS constant, 31

_POSIX_READER_WRITER_LOCKS constant, 55, 57

_POSIX_REALTIME_SIGNALS constant, 55, 57

_POSIX_RE_DUP_MAX constant, 39

_POSIX_RTSIG_MAX constant, 39–40

_POSIX_SAVED_IDS constant, 57, 98, 256, 337

_POSIX_SEMAPHORES constant, 55, 57

_POSIX_SEM_NSEMS_MAX constant, 39–40

_POSIX_SEM_VALUE_MAX constant, 39–40

_POSIX_SHARED_MEMORY_OBJECTS constant, 31

_POSIX_SHELL constant, 57

_POSIX_SIGQUEUE_MAX constant, 39–40

_POSIX_SOURCE constant, 57

_POSIX_SPAWN constant, 31

posix_spawn function, 452

posix_spawnp function, 452

_POSIX_SPIN_LOCKS constant, 55, 57

_POSIX_SPORADIC_SERVER constant, 31

_POSIX_SSIZE_MAX constant, 39

_POSIX_STREAM_MAX constant, 39–40

_POSIX_SYMLINK_MAX constant, 39

_POSIX_SYMLOOP_MAX constant, 39–40

_POSIX_SYNCHRONIZED_IO constant, 31

_POSIX_SYNC_IO constant, 55

_POSIX_THREAD_ATTR_STACKADDR constant, 31, 429

_POSIX_THREAD_ATTR_STACKSIZE constant, 31, 429

_POSIX_THREAD_CPUTIME constant, 31, 189

_POSIX_THREAD_PRIO_INHERIT constant, 31

_POSIX_THREAD_PRIO_PROTECT constant, 31

_POSIX_THREAD_PRIORITY_SCHEDULING constant, 31

_POSIX_THREAD_PROCESS_SHARED constant, 31, 431

_POSIX_THREAD_ROBUST_PRIO_INHERIT constant, 31

_POSIX_THREAD_ROBUST_PRIO_PROTECT constant, 31

_POSIX_THREADS constant, 55, 57, 384

_POSIX_THREAD_SAFE_FUNCTIONS constant, 55, 57, 442

_POSIX_THREAD_SPORADIC_SERVER constant, 31

_POSIX_TIMEOUTS constant, 55

_POSIX_TIMER_MAX constant, 39–40

_POSIX_TIMERS constant, 55, 57

_POSIX_TIMESTAMP_RESOLUTION constant, 44

posix_trace_event function, 331

_POSIX_TTY_NAME_MAX constant, 39–40

posix_typed_mem_open function, 452

_POSIX_TYPED_MEMORY_OBJECTS constant, 31

_POSIX_TZNAME_MAX constant, 39–40

_POSIX_V6_ILP32_OFF32 constant, 70

_POSIX_V6_ILP32_OFFBIG constant, 70

_POSIX_V6_LP64_OFF64 constant, 70

_POSIX_V6_LP64_OFFBIG constant, 70

_POSIX_V7_ILP32_OFF32 constant, 70

_POSIX_V7_ILP32_OFFBIG constant, 70

_POSIX_V7_LP64_OFF64 constant, 70

_POSIX_V7_LP64_OFFBIG constant, 70

_POSIX_VDISABLE constant, 55, 57, 678–679

_POSIX_VERSION constant, 57, 188

PowerPC, xxi–xxii, xxvii

P_PGID constant, 244

PPID, see parent process ID

P_PID constant, 244

pr program, 753

prctl program, 559

pread function, 78, 451, 461–462, 592

definition of, 78

Presotto, D. L., xxxii, 229, 952

pr_exit function, 239–241, 266–268, 281, 283, 372, 896

definition of, 240

primitive system data types, 58

print program, 794, 801, 820, 824–825, 834, 843

printd program, 794, 843

printer communication, network, 789–843

printer spooling, 793–795

source code, 795–842

printer_status function, 814, 837–838, 843

definition of, 838

printer_thread function, 814, 832, 945

definition of, 832

printf function, 10–11, 21, 150, 159, 161–163, 175, 192, 194, 219, 226, 231, 235, 283, 309, 330, 349, 452, 552, 919–920

definition of, 159

print.h header, 815, 820, 825

printreq structure, 801, 809–810, 812, 820, 822–824, 827

printresp structure, 801, 809, 811, 824–827

PRIO_PGRP constant, 277

PRIO_PROCESS constant, 277

PRIO_USER constant, 277

privilege, least, 256, 795, 816

pr_mask function, 356–357, 360–361, 896

definition of, 347

/proc, 136, 253

proc structure, 311–312

process, 11

accounting, 269–275

control, 11, 227–283

ID, 11, 228, 252

ID, parent, 228, 233, 237, 243, 246, 252, 287–288, 309, 464

identifiers, 227–228

relationships, 285–312

scheduling, 276–280

system, 228, 337

termination, 198–202

time, 20, 24, 59, 280–282

process group, 293–294

background, 296, 300, 302, 304, 306–307, 309, 321, 369, 377, 944

foreground, 296, 298, 300–303, 306, 311, 318–322, 369, 377, 680–682, 685, 689, 710, 719, 741, 944

ID, 233, 252

ID, foreground, 298, 303, 677

ID, session, 304

ID, terminal, 303, 463

leader, 294–296, 306, 312, 465–466, 727

lifetime, 294

orphaned, 307–309, 469, 735

processes, cooperating, 495, 752, 945

process-shared attribute, 431

.profile file, 289

program, 10

PROT_EXEC constant, 525

PROT_NONE constant, 525

protoent structure, 598

prototypes, function, 845–893

PROT_READ constant, 525, 529, 577

PROT_WRITE constant, 525, 529, 577

PR_TEXT constant, 801, 810, 825, 835–836

ps program, 237, 283, 303, 306–307, 463–465, 468–469, 480, 736, 923

pselect function, 331, 451, 501, 506

definition of, 506

pseudo terminal, 715–742

packet mode, 740

remote mode, 741

signal generation, 741

window size, 741

psiginfo function, 379–380, 452

definition of, 379

psignal function, 379–380, 452

definition of, 379

ptem STREAMS module, 716, 726

pthread structure, 385

pthread_atfork function, 457–461

definition of, 458

pthread_attr_destroy function, 427–429

definition of, 427

pthread_attr_getdetachstate function, 428

definition of, 428

pthread_attr_getguardsize function, 430

definition of, 430

pthread_attr_getstack function, 429

definition of, 429

pthread_attr_getstacksize function, 429–430

definition of, 430

pthread_attr_init function, 427–429

definition of, 427

pthread_attr_setdetachstate function, 428

definition of, 428

pthread_attr_setguardsize function, 430

definition of, 430

pthread_attr_setstack function, 429

definition of, 429

pthread_attr_setstacksize function, 429–430

definition of, 430

pthread_attr_t data type, 427–428, 430, 451

pthread_barrierattr_destroy function, 441

definition of, 441

pthread_barrierattr_getpshared function, 441

definition of, 441

pthread_barrierattr_init function, 441

definition of, 441

pthread_barrierattr_setpshared function, 441

definition of, 441

pthread_barrier_destroy function, 418–419

definition of, 418

pthread_barrier_init function, 418–419, 421

definition of, 418

PTHREAD_BARRIER_SERIAL_THREAD constant, 419, 422

pthread_barrier_t data type, 419

pthread_barrier_wait function, 419–423

definition of, 419

pthread_cancel function, 393, 451, 453, 828

definition of, 393

PTHREAD_CANCEL_ASYNCHRONOUS constant, 453

PTHREAD_CANCEL_DEFERRED constant, 453

PTHREAD_CANCEL_DISABLE constant, 451

PTHREAD_CANCELED constant, 389, 393

PTHREAD_CANCEL_ENABLE constant, 451

pthread_cleanup_pop function, 394–396, 827, 829

definition of, 394

pthread_cleanup_push function, 394–396, 824

definition of, 394

pthread_condattr_destroy function, 440

definition of, 440

pthread_condattr_getclock function, 441

definition of, 441

pthread_condattr_getpshared function, 440

definition of, 440

pthread_condattr_init function, 440

definition of, 440

pthread_condattr_setclock function, 441

definition of, 441

pthread_condattr_setpshared function, 440

definition of, 440

pthread_condattr_t data type, 441

pthread_cond_broadcast function, 415, 422–423, 927

definition of, 415

pthread_cond_destroy function, 414, 462

definition of, 414

pthread_cond_init function, 414, 462, 941

definition of, 414

PTHREAD_COND_INITIALIZER constant, 413, 416, 455, 814

pthread_cond_signal function, 415–416, 456, 821, 942

definition of, 415

pthread_cond_t data type, 413, 416, 455, 814, 940

pthread_cond_timedwait function, 414–415, 434, 440–441, 451

definition of, 414

pthread_cond_wait function, 414–416, 434, 451, 456, 832, 927, 941

definition of, 414

pthread_create function, 385–388, 390–392, 395, 397, 421, 427–428, 456, 460, 477, 632, 817, 926, 941

definition of, 385

PTHREAD_CREATE_DETACHED constant, 428

PTHREAD_CREATE_JOINABLE constant, 428

PTHREAD_DESTRUCTOR_ITERATIONS constant, 426, 447

pthread_detach function, 396–397, 427

definition of, 397

pthread_equal function, 385, 412

definition of, 385

pthread_exit function, 198, 236, 389–391, 393–396, 447, 824–829

definition of, 389

pthread_getspecific function, 449–450

definition of, 449

<pthread.h> header, 29

pthread_join function, 389–391, 395–396, 418, 451, 926

definition of, 389

pthread_key_create function, 447–448, 450

definition of, 447

pthread_key_delete function, 447–448

definition of, 448

PTHREAD_KEYS_MAX constant, 426, 447

pthread_key_t data type, 449

pthread_kill function, 455

definition of, 455

pthread_mutexattr_destroy function, 431, 445

definition of, 431

pthread_mutexattr_getpshared function, 431

definition of, 431

pthread_mutexattr_getrobust function, 432

definition of, 432

pthread_mutexattr_gettype function, 434

definition of, 434

pthread_mutexattr_init function, 431, 438, 445

definition of, 431

pthread_mutexattr_setpshared function, 431

definition of, 431

pthread_mutexattr_setrobust function, 432

definition of, 432

pthread_mutexattr_settype function, 434, 438, 445

definition of, 434

pthread_mutexattr_t data type, 430–431, 438, 445

pthread_mutex_consistent function, 432–433, 571

definition of, 433

PTHREAD_MUTEX_DEFAULT constant, 433–434

pthread_mutex_destroy function, 400–401, 404, 407

definition of, 400

PTHREAD_MUTEX_ERRORCHECK constant, 433–434

pthread_mutex_init function, 400–401, 403, 405, 431, 438, 445, 941

definition of, 400

PTHREAD_MUTEX_INITIALIZER constant, 400, 403, 405, 408, 416, 431, 449, 455, 459, 813–814

pthread_mutex_lock function, 400–401, 403–404, 406–408, 416, 422–423, 432, 438, 445, 450, 456, 459–460, 820–821, 828–830, 832–833, 941–942

definition of, 400

PTHREAD_MUTEX_NORMAL constant, 433–434

PTHREAD_MUTEX_RECURSIVE constant, 433–434, 438, 445

PTHREAD_MUTEX_ROBUST constant, 432

PTHREAD_MUTEX_STALLED constant, 432

pthread_mutex_t data type, 400–401, 403, 405, 408, 416, 438, 445, 449, 455, 459, 813–814, 940

pthread_mutex_timedlock function, 407–409, 413

definition of, 407

pthread_mutex_trylock function, 400, 402

definition of, 400

pthread_mutex_unlock function, 400–401, 403–404, 406–407, 416, 422–423, 438–439, 445, 450, 456, 460, 820–821, 828–830, 832–833, 941–942

definition of, 400

pthread_once function, 445, 448, 450, 928

definition of, 448

PTHREAD_ONCE_INIT constant, 445, 448–449

pthread_once_t data type, 445, 449

PTHREAD_PROCESS_PRIVATE constant, 417, 431, 442

PTHREAD_PROCESS_SHARED constant, 417, 431, 442, 571

pthread_rwlockattr_destroy function, 439

definition of, 439

pthread_rwlockattr_getpshared function, 440

definition of, 440

pthread_rwlockattr_init function, 439

definition of, 439

pthread_rwlockattr_setpshared function, 440

definition of, 440

pthread_rwlockattr_t data type, 439

pthread_rwlock_destroy function, 409–410

definition of, 409

pthread_rwlock_init function, 409, 411

definition of, 409

PTHREAD_RWLOCK_INITIALIZER constant, 409

pthread_rwlock_rdlock function, 410, 412, 452

definition of, 410

pthread_rwlock_t data type, 411

pthread_rwlock_timedrdlock function, 413, 452

definition of, 413

pthread_rwlock_timedwrlock function, 413, 452

definition of, 413

pthread_rwlock_tryrdlock function, 410

definition of, 410

pthread_rwlock_trywrlock function, 410

definition of, 410

pthread_rwlock_unlock function, 410–412

definition of, 410

pthread_rwlock_wrlock function, 410–412, 452

definition of, 410

pthreads, 27, 229, 384, 426

pthread_self function, 385, 387, 391, 824

definition of, 385

pthread_setcancelstate function, 451

definition of, 451

pthread_setcanceltype function, 453

definition of, 453

pthread_setspecific function, 449–450

definition of, 449

pthread_sigmask function, 453–454, 477, 815

definition of, 454

pthread_spin_destroy function, 417

definition of, 417

pthread_spin_init function, 417

definition of, 417

pthread_spin_lock function, 418

definition of, 418

pthread_spin_trylock function, 418

definition of, 418

pthread_spin_unlock function, 418

definition of, 418

PTHREAD_STACK_MIN constant, 426, 430

pthread_t data type, 59, 384–385, 387, 390–391, 395, 411, 421, 428, 456, 460, 476, 632, 812, 814, 824, 829, 926, 941

pthread_testcancel function, 451, 453

definition of, 453

PTHREAD_THREADS_MAX constant, 426

ptrdiff_t data type, 59

ptsname function, 442, 723–725

definition of, 723

pty program, 309, 715, 720–721, 727, 729–742, 944

pty_fork function, 721, 724, 726–730, 732, 739, 741–742

definition of, 727

ptym_open function, 724, 726–728, 897

definition of, 724–725

ptys_fork function, 897

ptys_open function, 724, 726–728, 897

definition of, 724–725

Pu, C., 65, 953

putc function, 10, 152–156, 247–248, 452, 701

definition of, 152

putchar function, 152, 175, 452, 547–548

definition of, 152

putchar_unlocked function, 442, 444, 452

definition of, 444

putc_unlocked function, 442, 444, 452

definition of, 444

putenv function, 204, 212, 251, 442, 446, 462

definition of, 212

putenv_r function, 462

puts function, 152–153, 452, 911

definition of, 153

pututxline function, 442, 452

putwc function, 452

putwchar function, 452

PWD environment variable, 211

<pwd.h> header, 29, 177, 186

pwrite function, 78–79, 451, 461–462, 592

definition of, 78

Quarterman, J. S., 33–34, 74, 112, 116, 229, 236, 525, 951

QUIT terminal character, 678, 681, 688, 702

race conditions, 245–249, 339, 784, 922, 924

Rago, J. E., xxvii

Rago, S. A., xxxii, 88, 157, 290, 952

raise function, 331, 336–338, 365

definition of, 337

rand function, 442

raw terminal mode, 672, 704, 708, 713, 732, 734

Raymond, E. S., 952

read function, 8–10, 20, 59, 61, 64, 71–72, 78, 88, 90–91, 111, 124–125, 130, 145, 154–156, 174, 301, 308–309, 328–331, 342–343, 364–365, 378, 451, 462, 470, 482–483, 495–496, 498–502, 505–506, 508–509, 513, 517, 523–525, 530–531, 536–537, 540–541, 549–551, 553, 556, 587, 590, 592, 610, 612, 654, 656, 665–667, 672, 702–704, 708–709, 732–733, 738, 740, 748, 752, 765, 767–768, 805–806, 811, 818, 823, 836–838, 907–908, 936, 943

definition of, 71

read, scatter, 521, 644

readdir function, 5, 7, 130–135, 442, 452, 697, 823

definition of, 130

readdir_r function, 443, 452

readerwriter lock attributes, 439–440

readerwriter locks, 409–413

reading directories, 130–135

readlink function, 121, 123–124, 331, 452

definition of, 123

readlinkat function, 123–124, 331, 452

definition of, 123

read_lock function, 489, 493, 498, 897

readmore function, 814, 837, 840–841

definition of, 837

readn function, 523–524, 738, 806, 811, 896

definition of, 523–524

readv function, 41, 43, 329, 451, 481, 521–523, 531, 592, 613, 644, 752, 766

definition of, 521

readw_lock function, 489, 759, 763, 780, 897

real

group ID, 98, 102, 183, 228, 233, 252–253, 256, 270, 585

user ID, 39–40, 43, 98–99, 102, 221, 228, 233, 252–253, 256–260, 270, 276, 286, 288, 337, 381, 585, 924

realloc function, 50, 174, 207–208, 213, 661–662, 666, 761, 838, 840, 911–912

definition of, 207

record locking, 485–499

advisory, 495

deadlock, 490

mandatory, 495

timing comparison, 571

recv function, 331, 451, 592, 612–615, 626–627

definition of, 612

recv_fd function, 642–644, 650, 655, 660, 896

definition of, 642, 647

recvfrom function, 331, 451, 613, 620–623

definition of, 613

recvmsg function, 331, 451, 613, 644, 647–648, 651

definition of, 613

recv_ufd function, 650

definition of, 651

RE_DUP_MAX constant, 39, 43, 49

reentrant functions, 330–332

regcomp function, 39, 43

regexec function, 39, 43

<regex.h> header, 29

register variables, 217

regular file, 95

relative pathname, 5, 8, 43–44, 50, 64–65, 135, 553

reliable signals, 335–336

remote mode, pseudo terminal, 741

remove function, 116–119, 121, 125, 452

definition of, 119

remove_job function, 814, 822, 832

definition of, 822

rename function, 119–121, 125, 331, 452

definition of, 119

renameat function, 119–120, 331, 452

definition of, 119

replace_job function, 814, 821, 837

definition of, 821

REPRINT terminal character, 678, 681, 687, 690, 703

reset program, 713, 943

resource limits, 220–225, 233, 252, 322, 382

restarted system calls, 329–330, 342–343, 351, 354, 508, 700

restrict keyword, 26, 93, 123, 146, 148, 152–153, 156, 158–159, 161–163, 190, 192, 195, 346, 350, 385, 400, 409, 414, 428–432, 434, 440–441, 454, 502, 506, 596, 599–600, 605, 608, 613, 624

rewind function, 149, 158, 168, 452

definition of, 158

rewinddir function, 130–135, 452

definition of, 130

rfork function, 229

Ritchie, D. M., xx, 26, 143, 149, 155, 162, 164, 208, 898, 906, 950, 952

RLIM_INFINITY constant, 221, 468

rlimit structure, 220, 224, 467, 907

RLIMIT_AS constant, 221–223

RLIMIT_CORE constant, 221–223, 317

RLIMIT_CPU constant, 221–223

RLIMIT_DATA constant, 221–223

RLIMIT_FSIZE constant, 221–223, 382

RLIMIT_INFINITY constant, 224, 907

RLIMIT_MEMLOCK constant, 221–223

RLIMIT_MSGQUEUE constant, 221, 223

RLIMIT_NICE constant, 221, 223

RLIMIT_NOFILE constant, 221–223, 467, 907

RLIMIT_NPROC constant, 221–223

RLIMIT_NPTS constant, 221, 223

RLIMIT_RSS constant, 222–223

RLIMIT_SBSIZE constant, 222–223

RLIMIT_SIGPENDING constant, 222, 224

RLIMIT_STACK constant, 222, 224

RLIMIT_SWAP constant, 222, 224

RLIMIT_VMEM constant, 222, 224

rlim_t data type, 59, 223

rlogin program, 717, 741–742

rlogind program, 717, 734, 741, 944

rm program, 559, 663

rmdir function, 117, 119–120, 125, 129–130, 331

definition of, 130

robust attribute, 431, 571

R_OK constant, 102–103

root

directory, 4, 8, 24, 139, 141, 233, 252, 283, 910

login name, 16

routed program, 472

rpcbind program, 465

RS-232, 674, 685–686

rsyslogd program, 465, 480

RTSIG_MAX constant, 40, 43

Rudoff, A. M., 157, 291, 470, 589, 952

runacct program, 269

S5 file system, 65

sa program, 269

sac program, 290

Sacksen, J., xxxii

SAF (Service Access Facility), 290

safe, async-signal, 330, 446, 450, 457, 461–462, 927

sa_handler structure, 376

SA_INTERRUPT constant, 351, 354–355

s_alloc function, 584

Salus, P. H., xxxii, 952

SA_NOCLDSTOP constant, 351

SA_NOCLDWAIT constant, 333, 351

SA_NODEFER constant, 351, 354

Santa Cruz Operation, see SCO

SA_ONSTACK constant, 351

SA_RESETHAND constant, 351, 354

SA_RESTART constant, 329, 351, 354, 508–509

SA_SIGINFO constant, 336, 350–353, 376, 512

saved

set-group-ID, 56, 98, 257

set-user-ID, 56, 98, 256–260, 288, 337

S_BANDURG constant, 510

sbrk function, 21–23, 208, 221

_SC_AIO_MAX constant, 516

_SC_AIO_PRIO_DELTA_MAX constant, 516

scaling, frequency, 785

scan_configfile function, 803–804

definition of, 803

scandir function, 452

scanf function, 150, 162–163, 452

definition of, 162

_SC_ARG_MAX constant, 43, 47

_SC_ASYNCHRONOUS_IO constant, 57

_SC_ATEXIT_MAX constant, 43

scatter read, 521, 644

_SC_BARRIERS constant, 57

_SC_CHILD_MAX constant, 43, 221

_SC_CLK_TCK constant, 42–43, 280–281

_SC_CLOCK_SELECTION constant, 57

_SC_COLL_WEIGHTS_MAX constant, 43

_SC_DELAYTIMER_MAX constant, 43

SCHAR_MAX constant, 37–38

SCHAR_MIN constant, 37–38

<sched.h> header, 29

scheduling, process, 276–280

_SC_HOST_NAME_MAX constant, 43, 616, 618, 623, 815

Schwartz, A., 181, 250, 298, 949

_SC_IO_LISTIO_MAX constant, 516

_SC_IOV_MAX constant, 43

_SC_JOB_CONTROL constant, 54, 57

_SC_LINE_MAX constant, 43

_SC_LOGIN_NAME_MAX constant, 43

_SC_MAPPED_FILES constant, 57

SCM_CREDENTIALS constant, 649–652

SCM_CREDS constant, 649–650, 652

SCM_CREDTYPE constant, 650, 652

_SC_MEMORY_PROTECTION constant, 57

SCM_RIGHTS constant, 645–646, 650, 652

_SC_NGROUPS_MAX constant, 43

_SC_NZERO function, 276

SCO (Santa Cruz Operation), 35

_SC_OPEN_MAX constant, 43, 52, 221, 907

_SC_PAGESIZE constant, 43, 527

_SC_PAGE_SIZE constant, 43, 527

_SC_READER_WRITER_LOCKS constant, 57

_SC_REALTIME_SIGNALS constant, 57

_SC_RE_DUP_MAX constant, 43

script program, 715, 719–720, 734, 736–737, 741–742

_SC_RTSIG_MAX constant, 43

_SC_SAVED_IDS constant, 54, 57, 98, 256

_SC_SEMAPHORES constant, 57

_SC_SEM_NSEMS_MAX constant, 43

_SC_SEM_VALUE_MAX constant, 43

_SC_SHELL constant, 57

_SC_SIGQUEUE_MAX constant, 43

_SC_SPIN_LOCKS constant, 57

_SC_STREAM_MAX constant, 43

_SC_SYMLOOP_MAX constant, 43

_SC_THREAD_ATTR_STACKADDR constant, 429

_SC_THREAD_ATTR_STACKSIZE constant, 429

_SC_THREAD_DESTRUCTOR_ITERATIONS constant, 426

_SC_THREAD_KEYS_MAX constant, 426

_SC_THREAD_PROCESS_SHARED constant, 431

_SC_THREADS constant, 57, 384

_SC_THREAD_SAFE_FUNCTIONS constant, 57, 442

_SC_THREAD_STACK_MIN constant, 426

_SC_THREAD_THREADS_MAX constant, 426

_SC_TIMER_MAX constant, 43

_SC_TIMERS constant, 57

_SC_TTY_NAME_MAX constant, 43

_SC_TZNAME_MAX constant, 43

_SC_V7_ILP32_OFF32 constant, 70

_SC_V7_ILP32_OFFBIG constant, 70

_SC_V7_LP64_OFF64 constant, 70

_SC_V7_LP64_OFFBIG constant, 70

_SC_VERSION constant, 50, 54, 57

_SC_XOPEN_CRYPT constant, 57

_SC_XOPEN_REALTIME constant, 57

_SC_XOPEN_REALTIME_THREADS constant, 57

_SC_XOPEN_SHM constant, 57

_SC_XOPEN_VERSION constant, 50, 54, 57

<search.h> header, 30

sed program, 950

Seebass, S., 951

seek function, 67

SEEK_CUR constant, 67, 158, 486, 494–495, 766

seekdir function, 130–135, 452

definition of, 130

SEEK_END constant, 67, 158, 486, 494–495, 771–773, 781

SEEK_SET constant, 67, 158, 172, 486, 494–495, 498, 759, 762–763, 765–766, 768–773, 775–780, 818–819, 930–931

SEGV_ACCERR constant, 353

SEGV_MAPERR constant, 353

select function, 330–331, 343, 451, 481, 501–509, 531–532, 560, 586, 588, 592, 608–609, 626–627, 631–632, 659, 664–666, 668, 718, 732, 742, 805–806, 816–817, 928–929, 933, 936, 939, 942

definition of, 502

Seltzer, M., 744, 952

semaphore, 57, 534, 565–571

adjustment on exit, 570–571

locking timing comparison, 571, 583

<semaphore.h> header, 29

sembuf structure, 568–569

sem_close function, 580, 584

definition of, 580

semctl function, 558, 562, 566–568, 570

definition of, 567

sem_destroy function, 582

definition of, 582

SEM_FAILED constant, 584

semget function, 557–558, 566–567

definition of, 567

sem_getvalue function, 582

definition of, 582

semid_ds structure, 566–568

sem_init function, 582

definition of, 582

SEM_NSEMS_MAX constant, 40, 43

semop function, 452, 559, 567–570

definition of, 568

sem_open function, 579–580, 582, 584

definition of, 579

sem_post function, 331, 581–582, 584

definition of, 582

sem_t structure, 582

sem_timedwait function, 451, 581–582

definition of, 581

sem_trywait function, 581, 584

semun union, 567–568

SEM_UNDO constant, 569–570, 580, 583

sem_unlink function, 580–581, 584

definition of, 580

SEM_VALUE_MAX constant, 40, 43, 580

sem_wait function, 451, 581–582, 584

definition of, 581

send function, 331, 451, 592, 610, 616, 626–627

definition of, 610

send_err function, 642–644, 653, 656–657, 668–669, 897

definition of, 642, 644

send_fd function, 642–645, 649, 653, 656–657, 669, 897

definition of, 642, 646, 649

sendmsg function, 331, 451, 611, 613, 644–646, 650, 670

definition of, 611

sendto function, 331, 451, 610–611, 620, 622–623

definition of, 610

S_ERROR constant, 510

serv_accept function, 636–638, 641, 648, 659, 665, 667–668, 897

definition of, 636, 638

servent structure, 599

Service Access Facility, see SAF

Service Management Facility, see SMF

serv_listen function, 636–637, 659, 664–665, 667, 670, 897

definition of, 636–637

session, 295–296

ID, 233, 252, 296, 311, 463–464

leader, 295–297, 311, 318, 464–466, 469, 726–727, 742, 944

process group ID, 304

session structure, 310–311, 318, 464

set

descriptor, 503, 505, 532, 933

signal, 336, 344–345, 532, 933

SETALL constant, 568, 570

setasync function, definition of, 939

setbuf function, 146–147, 150, 171, 175, 247–248, 701, 930

definition of, 146

set_cloexec function, 615, 617, 622, 896

definition of, 480

setegid function, 258

definition of, 258

setenv function, 212, 251, 442

definition of, 212

seteuid function, 258–260

definition of, 258

set_fl function, 86, 482–483, 498, 896, 934

definition of, 85

setgid function, 256, 258, 288, 331, 816

definition of, 256

setgrent function, 183–184, 442, 452

definition of, 183

set-group-ID, 98–99, 102, 107–108, 110, 129, 140, 233, 253, 317, 496, 546, 723

saved, 56, 98, 257

setgroups function, 184

definition of, 184

sethostent function, 452, 597

definition of, 597

sethostname function, 189

setitimer function, 317, 320, 322, 381

_setjmp function, 355, 358

setjmp function, 197, 213, 215–219, 225, 340, 343, 355–356, 358, 381, 924

definition of, 215

<setjmp.h> header, 27

setkey function, 442

setlogmask function, 470–471

definition of, 470

setnetent function, 452, 598

definition of, 598

setpgid function, 294, 331

definition of, 294

setpriority function, 277

definition of, 277

setprotoent function, 452, 598

definition of, 598

setpwent function, 180–181, 442, 452

definition of, 180

setregid function, 257–258

definition of, 257

setreuid function, 257

definition of, 257

setrlimit function, 53, 220, 382

definition of, 220

setservent function, 452, 599

definition of, 599

setsid function, 294–295, 297, 310–311, 331, 464–467, 724, 727–728

definition of, 295

setsockopt function, 331, 624–625, 651

definition of, 624

setspent function, 182

definition of, 182

settimeofday function, 190

setuid function, 98, 256, 258, 260, 288, 331, 816

definition of, 256

set-user-ID, 98–99, 102, 104, 107–108, 110, 129, 140, 182, 233, 253, 256–257, 259, 267, 317, 546, 585–586, 653, 924

saved, 56, 98, 256–260, 288, 337

setutxent function, 442, 452

SETVAL constant, 568, 570

setvbuf function, 146–147, 150, 171, 175, 220, 552, 721, 936

definition of, 146

SGI (Silicon Graphics, Inc.), 35

SGID, see set-group-ID

SHA-1, 181

shadow passwords, 181–182, 196, 918

<shadow.h> header, 186

S_HANGUP constant, 510

Shannon, W. A., 525, 949

shared

libraries, 206–207, 226, 753, 920, 947

memory, 534, 571–578

sharing, file, 74–77, 231

shell, see Bourne shell, Bourne-again shell, C shell, Debian Almquist shell, Korn shell, TENEX C shell

SHELL environment variable, 211, 288, 737

shell, job-control, 294, 299, 306–307, 325, 358, 377, 379, 734–735

shell layers, 299

shells, 3

S_HIPRI constant, 510

shmat function, 559, 573–576

definition of, 574

shmatt_t data type, 572

shmctl function, 558, 562, 573–575

definition of, 573

shmdt function, 574

definition of, 574

shmget function, 557–558, 572, 575

definition of, 572

shmid_ds structure, 572–574

SHMLBA constant, 574

SHM_LOCK constant, 573

SHM_RDONLY constant, 574

SHM_RND constant, 574

SHRT_MAX constant, 37

SHRT_MIN constant, 37

shutdown function, 331, 592–593, 612

definition of, 592

SHUT_RD constant, 592

SHUT_RDWR constant, 592

SHUT_WR constant, 592

SI_ASYNCIO constant, 353

S_IFBLK constant, 134

S_IFCHR constant, 134

S_IFDIR constant, 134

S_IFIFO constant, 134

S_IFLNK constant, 114, 134

S_IFMT constant, 97

S_IFREG constant, 134

S_IFSOCK constant, 134, 634

sig2str function, 380–381

definition of, 380

SIG2STR_MAX constant, 380

SIGABRT signal, 236, 240–241, 275, 313, 317–319, 365–367, 381, 924

sigaction function, 59, 323, 326, 329–331, 333, 335–336, 349–355, 366, 370, 374, 376, 455, 468, 476, 478–479, 510, 621, 815, 939

definition of, 350

sigaction structure, 350, 354–355, 366, 369, 374, 376, 379, 467, 476, 478, 621, 814

sigaddset function, 331, 344–345, 348, 360, 362–363, 370, 374, 378, 456, 478–479, 701, 815, 933

definition of, 344–345

SIGALRM signal, 313–314, 317, 330–332, 338–340, 342–343, 347, 354, 356–357, 364–365, 373–374, 621

sigaltstack function, 351

sig_atomic_t data type, 59, 356–357, 361–363, 732

SIG_BLOCK constant, 346, 348, 360, 362–363, 370, 374, 454, 456, 477, 701, 815

SIGBUS signal, 317, 352–353, 527, 530

SIGCANCEL signal, 317

SIGCHLD signal, 238, 288, 315, 317, 331–335, 351–353, 367–368, 370–371, 377, 471, 501, 546, 723, 923, 939

semantics, 332–335

SIGCLD signal, 317, 332–336

SIGCONT signal, 301, 309, 317, 337, 377, 379

sigdelset function, 331, 344–345, 366, 374, 933

definition of, 344–345

SIG_DFL constant, 323, 333, 350–351, 366, 378–379, 476

sigemptyset function, 331, 344, 348, 354–355, 360, 362–363, 369–370, 374, 378, 456, 467, 476, 478, 621, 701, 815, 933

definition of, 344

SIGEMT signal, 317–318

SIG_ERR constant, 19, 324, 334, 340–343, 348, 354–356, 360–361, 363, 368, 550, 709, 711, 733

sigevent structure, 512

SIGEV_NONE constant, 518

sigfillset function, 331, 344, 366, 477, 933

definition of, 344

SIGFPE signal, 18, 240–241, 317–318, 352–353

SIGFREEZE signal, 317–318

Sigfunc data type, 354–355, 896

SIGHUP signal, 308–309, 317–318, 468, 475–479, 546, 815, 830, 843

SIG_IGN constant, 323, 333, 350, 366, 369, 379, 467, 815

SIGILL signal, 317–318, 351–353, 366

SIGINFO signal, 317–318, 682, 689

siginfo structure, 244, 283, 351–352, 376, 379, 381, 512

SIGINT signal, 18–19, 300, 314, 317, 319–320, 340–341, 347, 359–361, 364–365, 367–370, 372, 455–457, 546, 679, 681, 685, 688–689, 701–702, 709, 930, 932

SIGIO signal, 83, 317, 319, 501, 509–510, 627

SIGIOT signal, 317, 319, 365

sigismember function, 331, 344–345, 347–348, 933

definition of, 344–345

sigjmp_buf data type, 356

SIGJVM1 signal, 317

SIGJVM2 signal, 317

SIGKILL signal, 272, 275, 315, 317, 319, 321, 323, 346, 380, 735

siglongjmp function, 219, 331, 355–358, 365

definition of, 356

SIGLOST signal, 317

SIGLWP signal, 317, 319, 321

signal function, 18–19, 59, 308, 323–326, 329–335, 339–343, 348–349, 354–356, 360–361, 363, 368, 378, 510, 550, 709, 711, 939

definition of, 323, 354

signal mask, 336

signal set, 336, 344–345, 532, 933

<signal.h> header, 27, 240, 314, 324, 344–345, 380

signal_intr function, 330, 355, 364, 382, 508, 733, 896, 930

definition of, 355

signals, 18–19, 313–382

blocking, 335

delivery, 335

generation, 335

generation, pseudo terminal, 741

job-control, 377–379

null, 314, 337

pending, 335

queueing, 336, 349, 376

reliable, 335–336

unreliable, 326–327

signal_thread function, 814, 830

definition of, 830

sigpause function, 331

sigpending function, 331, 335, 347–349

definition of, 347

SIGPIPE signal, 314, 317, 319, 537, 550–551, 553, 556, 587, 611, 815, 936

SIGPOLL signal, 317, 319, 501, 509–510

sigprocmask function, 331, 336, 340, 344, 346–349, 360, 362–364, 366, 370, 374, 378, 453–454, 456, 701

definition of, 346

SIGPROF signal, 317, 320

SIGPWR signal, 317–318, 320

sigqueue function, 222, 331, 353, 376–377

definition of, 376

SIGQUEUE_MAX constant, 40, 43, 376

SIGQUIT signal, 300, 317, 320, 347–349, 361–362, 367, 370, 372, 456–457, 546, 681, 689, 702, 709

SIGRTMAX constant, 376

SIGRTMIN constant, 376

SIGSEGV signal, 314, 317, 320, 332, 336, 352–353, 393, 527

sigset function, 331, 333

sigsetjmp function, 219, 331, 355–358

definition of, 356

SIG_SETMASK constant, 346, 348–349, 360, 362–364, 366, 370, 374, 454, 456, 701

sigset_t data type, 59, 336, 344, 347–348, 360–361, 363, 366, 369, 374, 378, 454–456, 701, 813

SIGSTKFLT signal, 317, 320

SIGSTOP signal, 315, 317, 320, 323, 346, 377

SIGSUSP signal, 689

sigsuspend function, 331, 340, 359–365, 374, 451

definition of, 359

SIGSYS signal, 317, 320

SIGTERM signal, 315, 317, 321, 325, 476–479, 709, 732–733, 742, 815, 830, 944

SIGTHAW signal, 317, 321

SIGTHR signal, 319

sigtimedwait function, 451

SIGTRAP signal, 317, 321, 351, 353

SIGTSTP signal, 300, 308, 317, 320–321, 377–379, 680, 682, 701, 735

SIGTTIN signal, 300–301, 304, 309, 317, 321, 377, 379

SIGTTOU signal, 301–302, 317, 321, 377, 379, 691

SIG_UNBLOCK constant, 346, 349, 378, 454

SIGURG signal, 83, 314, 317, 319, 322, 510–511, 626

SIGUSR1 signal, 317, 322, 324, 347, 356–358, 360–361, 363–364, 501

SIGUSR2 signal, 317, 322, 324, 363–364

sigval structure, 352

SIGVTALRM signal, 317, 322

sigwait function, 451, 454–455, 457, 475, 477, 830

definition of, 454

sigwaitinfo function, 451

SIGWAITING signal, 317, 322

SIGWINCH signal, 311, 317, 322, 710–712, 718–719, 741–742

SIGXCPU signal, 221, 317, 322

SIGXFSZ signal, 221, 317, 322, 382, 925

SIGXRES signal, 317, 322

Silicon Graphics, Inc., see SGI

SI_MESGQ constant, 353

Singh, A., 112, 116, 952

Single UNIX Specification, see SUS

Version 3, see SUSv3

Version 4, see SUSv4

single-instance daemons, 473–474

S_INPUT constant, 510

SIOCSPGRP constant, 627

SI_QUEUE constant, 353

S_IRGRP constant, 99, 104, 107, 140, 149, 473, 896

S_IROTH constant, 99, 104, 107, 140, 149, 473, 896

S_IRUSR constant, 99, 104, 107, 140, 149, 169, 473, 818, 896

S_IRWXG constant, 107, 639

S_IRWXO constant, 107, 639

S_IRWXU constant, 107, 584, 639

S_ISBLK function, 96–97, 139

S_ISCHR function, 96–97, 139, 698

S_ISDIR function, 96–97, 133, 698

S_ISFIFO function, 96–97, 535, 552

S_ISGID constant, 99, 107, 140, 498

S_ISLNK function, 96–97

S_ISREG function, 96, 808

S_ISSOCK function, 96–97, 639

S_ISUID constant, 99, 107, 140

S_ISVTX constant, 107–109, 140

SI_TIMER constant, 353

SI_USER constant, 353

S_IWGRP constant, 99, 104, 107, 140, 149

S_IWOTH constant, 99, 104, 107, 140, 149

S_IWUSR constant, 99, 104, 107, 140, 149, 169, 473, 818, 896

S_IXGRP constant, 99, 107, 140, 498, 896

S_IXOTH constant, 99, 107, 140, 896

S_IXUSR constant, 99, 107, 140, 169, 896

size, file, 111–112

size program, 206–207, 226

sizeof operator, 231

size_t data type, 59–60, 71, 507, 772, 906

__SLBF constant, 166

sleep function, 230, 234, 243, 246, 272, 274, 308, 331, 334, 339–342, 348, 372–375, 381–382, 387, 391–392, 439, 451, 460, 504, 532, 606–607, 923, 925, 928, 931, 936

definition of, 373–374, 929

sleep program, 372

sleep2 function, 924

sleep_us function, 532, 896

definition of, 933–934

SMF (Service Management Facility), 293

S_MSG constant, 510

__SNBF constant, 165

Snow Leopard, xxi

snprintf function, 159, 901, 904

definition of, 159

Snyder, G., 951

sockaddr structure, 595–597, 605–607, 609, 622, 625, 635, 637, 639, 641, 800

sockaddr_in structure, 595–596, 603

sockaddr_in6 structure, 595–596

sockaddr_un structure, 634–638, 640–642

sockatmark function, 331, 626

definition of, 626

SOCK_DGRAM constant, 590–591, 602, 608, 612, 621, 623, 632, 941

socket

addressing, 593–605

descriptors, 590–593

I/O, asynchronous, 627

I/O, nonblocking, 608–609, 627

mechanism, 95, 534, 587, 589–628

options, 623–625

socket function, 148, 331, 590, 592, 607, 609, 621, 625, 637–638, 640–641, 808

definition of, 590

socketpair function, 148, 331, 629–630, 632, 634, 941

definition of, 630

sockets, UNIX domain, 629–642

timing, 565

socklen_t data type, 606–607, 609, 622, 625, 800

SOCK_RAW constant, 590–591, 602

SOCK_SEQPACKET constant, 590–591, 602, 605, 609, 612, 625

SOCK_STREAM constant, 319, 590–591, 602, 605, 609, 612, 614–616, 618–619, 625, 630, 635, 637, 640, 802, 808, 816

Solaris, xxi–xxii, xxv, xxvii, 3–4, 26–27, 29–30, 35–36, 38, 41, 48–49, 57–60, 62, 64–65, 70, 76, 88, 102, 108–113, 121–122, 129, 131–132, 138, 178, 182, 184–188, 208–209, 211–212, 222, 225, 229, 240, 242, 244–245, 260, 277, 288, 290, 293, 296, 298, 303, 314, 316–323, 329, 334–335, 351, 355, 371, 373, 377, 379–380, 385, 388, 392, 396, 409, 426–427, 432, 439, 471, 485, 496–497, 499, 503, 530–531, 534, 559, 561, 563, 565, 567, 572–573, 576, 592, 594, 607–608, 611–613, 627, 634, 648, 675–678, 684–691, 693, 700, 704, 716–717, 723–724, 726–727, 740–741, 744, 799, 911, 918, 925, 930, 932, 935–936, 951

SOL_SOCKET constant, 624–625, 645–646, 650–652

solutions to exercises, 905–945

SOMAXCONN constant, 608

SO_OOBINLINE constant, 626

SO_PASSCRED constant, 651

SO_REUSEADDR constant, 625

source code, availability, xxx

S_OUTPUT constant, 510

Spafford, G., 181, 250, 298, 949

spawn function, 234

<spawn.h> header, 30

spin locks, 417–418

spooling, printer, 793–795

sprintf function, 159, 549, 616, 622, 640, 655, 657, 659, 668–669, 759, 772–773, 803, 818–819, 822–823, 825–827, 833–835, 837, 845, 945

definition of, 159

spwd structure, 918

squid login name, 178

S_RDBAND constant, 510

S_RDNORM constant, 510

sscanf function, 162, 549, 551, 802–803

definition of, 162

ssh program, 293

sshd program, 465

SSIZE_MAX constant, 38, 41, 71

ssize_t data type, 39, 59, 71

stack, 205, 215

stackaddr attribute, 427

stacksize attribute, 427

standard error, 8, 145, 617

standard error routines, 898–904

standard input, 8, 145

standard I/O

alternatives, 174–175

buffering, 145–147, 231, 235, 265, 367, 552, 721, 752

efficiency, 153–156

implementation, 164–167

library, 10, 143–175

streams, 143–144

versus unbuffered I/O, timing, 155

standard output, 8, 145, 617

standards, 25–33

differences, 58–59

START terminal character, 678, 680–682, 686, 689, 693

stat function, 4, 7, 65, 93–95, 97, 99, 107, 121–122, 124, 126–128, 131, 138, 140–141, 170, 331, 452, 586, 592, 628, 639–640, 670, 698, 908, 910, 942

definition of, 93

stat structure, 93–96, 98, 111, 114, 124, 140, 147, 167, 170, 498, 518, 529, 535, 552, 557, 586, 638, 697–698, 757, 807, 832

static variables, 219

STATUS terminal character, 678, 682, 687, 689, 703

<stdarg.h> header, 27, 162–163, 755, 758

<stdbool.h> header, 27

__STDC_IEC_559__ constant, 31

<stddef.h> header, 27, 635

stderr variable, 145, 483, 731, 901

STDERR_FILENO constant, 62, 145, 618–619, 643, 648, 652, 729

stdin variable, 10, 145, 154, 214, 216, 550–551, 654

STDIN_FILENO constant, 9, 62, 67, 72, 145, 308, 378, 483, 539, 544, 549–550, 619, 655–656, 679, 684, 709, 711, 728, 730–732, 739–740

<stdint.h> header, 27, 595

<stdio.h> header, 10, 27, 38, 51, 145, 147, 151, 164, 168, 694, 755, 895

<stdlib.h> header, 27, 208, 895

stdout variable, 10, 145, 154, 247–248, 275, 901, 921, 930

STDOUT_FILENO constant, 9, 62, 72, 145, 230, 235, 378, 483, 537, 544, 549–550, 614, 618–620, 654–656, 729, 733, 739–740, 921

Stevens, D. A., xxxii

Stevens, E. M., xxxii

Stevens, S. H., xxxii

Stevens, W. R., xx, xxv–xxvi, xxxii, 157, 291, 470, 505, 589, 717, 793, 952

sticky bit, 107–109, 117, 140

stime function, 190

Stonebraker, M. R., 743, 953

STOP terminal character, 678, 680–682, 686, 689, 693

str2sig function, 380

definition of, 380

strace program, 497

Strang, J., 712, 953

strchr function, 767

stream orientation, 144

STREAM_MAX constant, 38, 40, 43, 49

STREAMS, xxii, 88, 143, 501–502, 506, 508, 510, 534, 560, 565, 648, 716–717, 722, 726, 740

streams, memory, 171–174

STREAMS module

ldterm , 716, 726

pckt , 716, 740

ptem , 716, 726

ttcompat , 716, 726

streams, standard I/O, 143–144

STREAMS-based pipes, mounted, 534

timing, 565

strerror function, 15–16, 24, 380, 442, 452, 471, 474, 478–479, 600, 615–618, 621–622, 657, 669, 823–827, 830, 833–834, 842, 899, 901, 904, 906, 931

definition of, 15

strerror_r function, 443, 452

strftime function, 190, 192–196, 264, 408, 452, 919

definition of, 192

strftime_l function, 192

definition of, 192

<string.h> header, 27, 895

<strings.h> header, 29

strip program, 920

strlen function, 12, 231, 945

strncasecmp function, 840

strncpy function, 809

Strong, H. R., 744, 750, 949

<stropts.h> header, 508, 510

strptime function, 195

definition of, 195

strsignal function, 380, 830

definition of, 380

strtok function, 442, 657–658

strtok_r function, 443

strtol function, 633

stty program, 301, 691–692, 702, 713, 943

Stumm, M., 174, 531, 950

S_TYPEISMQ function, 96

S_TYPEISSEM function, 96

S_TYPEISSHM function, 96

su program, 472

submit_file function, 807, 809, 811

definition of, 809

SUID, see set-user-ID

Sun Microsystems, xxi–xxii, xxvii, 33, 35, 76, 740, 953

SunOS, xxxi, 33, 206, 330, 354

superuser, 16

supplementary group ID, 18, 39, 98, 101, 108, 110, 183–184, 233, 252, 258

SUS (Single UNIX Specification), xxi, xxvi, 28, 30–33, 36, 50, 53–54, 57–58, 60–61, 64, 69, 78, 88, 94, 105, 107, 109, 131, 136, 143, 157, 163, 168–169, 180, 183, 190–191, 196, 211–212, 220–221, 234, 239, 244–245, 262, 293, 296, 311, 315, 322, 330, 333, 352, 354, 410, 425, 429–431, 442, 469–472, 485, 496, 501, 507, 509, 521, 527–528, 533–534, 559, 561, 565–566, 572–573, 583, 596, 607, 610, 612, 623, 627, 645, 662, 674, 678, 683, 722–724, 744, 910, 950, 953

SUSP terminal character, 678, 680, 682, 688, 701

SUSv3 (Single UNIX Specification, Version 3), 32

SUSv4 (Single UNIX Specification, Version 4), 32, 88, 132, 143, 153, 168–169, 189, 314, 319–320, 336, 375–376, 384, 442, 501, 509–510, 525, 533, 571, 579

SVID (System V Interface Definition), xix, 32–33, 948

SVR2, 65, 187, 317, 329, 336, 340–341, 712, 948

SVR3, 76, 129, 201, 299, 313, 317, 319, 326, 329, 333, 336, 496, 502, 507, 898, 948

SVR3.0, xxxi

SVR3.1, xxxi

SVR3.2, xxxi, 36, 81, 267

SVR4, xxii, xxxi–xxxii, 3, 21, 33, 35–36, 48, 63, 65, 76, 121, 187, 209, 290, 296, 299, 310, 313, 317, 329, 333, 336, 469, 502, 507–508, 521, 712, 722, 744, 948, 953

swapper process, 227

S_WRBAND constant, 510

S_WRNORM constant, 510

symbolic link, 55, 94–95, 110–111, 114, 118, 120–123, 131, 137, 141, 186, 908–909

symlink function, 123–124, 331, 452

definition of, 123

symlinkat function, 123–124, 331, 452

definition of, 123

SYMLINK_MAX constant, 39, 44, 49

SYMLOOP_MAX constant, 40, 43, 48–49

sync function, 61, 81, 452

definition of, 81

sync program, 81

synchronization mechanisms, 86–87

synchronous write, 63, 86–87

<sys/acct.h> header, 269

sysconf function, 20, 37, 39, 41–48, 50–54, 57, 59–60, 69, 98, 201, 221, 256, 276, 280–281, 384, 425–426, 429, 431, 442, 516, 527, 616, 618, 623, 800, 815, 907

definition of, 42

sysctl program, 315, 559

sysdef program, 559

<sys/disklabel.h> header, 88

<sys/filio.h> header, 88

<sys/ipc.h> header, 30, 558

<sys/iso/signal_iso.h> header, 314

syslog function, 452, 465, 468–476, 478–480, 615–619, 622–623, 901, 904, 928

definition of, 470

syslogd program, 470–471, 473, 475, 479–480

<syslog.h> header, 30

<sys/mkdev.h> header, 138

<sys/mman.h> header, 29

<sys/msg.h> header, 30

<sys/mtio.h> header, 88

<sys/param.h> header, 49, 51

<sys/resource.h> header, 30

<sys/select.h> header, 29, 501, 504, 932–933

<sys/sem.h> header, 30, 568

<sys/shm.h> header, 30

sys_siglist variable, 379

<sys/signal.h> header, 314

<sys/socket.h> header, 29, 608

<sys/sockio.h> header, 88

<sys/stat.h> header, 29, 97

<sys/statvfs.h> header, 29

<sys/sysmacros.h> header, 138

system calls, 1, 21

interrupted, 327–330, 343, 351, 354–355, 365, 508

restarted, 329–330, 342–343, 351, 354, 508, 700

tracing, 497

versus functions, 21–23

system function, 23, 129, 227, 249, 264–269, 281–283, 349, 367–372, 381, 451, 538, 542, 923, 936

definition of, 265–266, 369

return value, 371

system identification, 187–189

system process, 228, 337

System V, xxv, 87, 464, 466, 469, 475, 482, 485, 500–501, 506, 509–510, 722, 726

System V Interface Definition, see SVID

<sys/time.h> header, 30, 501

<sys/times.h> header, 29

<sys/ttycom.h> header, 88

<sys/types.h> header, 29, 58, 138, 501, 557, 933

<sys/uio.h> header, 30

<sys/un.h> header, 29, 634

<sys/utsname.h> header, 29

<sys/wait.h> header, 29, 239

TAB0 constant, 691

TAB1 constant, 691

TAB2 constant, 691

TAB3 constant, 690–691

TABDLY constant, 676, 684, 689–691

Tankus, E., xxxii

tar program, 127, 135, 142, 910–911

<tar.h> header, 29

tcdrain function, 322, 331, 451, 677, 693

definition of, 693

tcflag_t data type, 674

tcflow function, 322, 331, 677, 693

definition of, 693

tcflush function, 145, 322, 331, 673, 677, 693

definition of, 693

tcgetattr function, 331, 674, 677, 679, 683–684, 691–692, 695, 701, 705–707, 722, 730–731

definition of, 683

tcgetpgrp function, 298–299, 331, 674, 677

definition of, 298

tcgetsid function, 298–299, 674, 677

definition of, 299

TCIFLUSH constant, 693

TCIOFF constant, 693

TCIOFLUSH constant, 693

TCION constant, 693

TCMalloc, 210, 949

TCOFLUSH constant, 693

TCOOFF constant, 693

TCOON constant, 693

TCSADRAIN constant, 683

TCSAFLUSH constant, 679, 683, 701, 705–707

TCSANOW constant, 683–684, 728, 731

tcsendbreak function, 322, 331, 677, 682, 693–694

definition of, 693

tcsetattr function, 322, 331, 673–674, 677, 679, 683–684, 691–692, 701, 705–707, 722, 728, 731, 738

definition of, 683

tcsetpgrp function, 298–299, 301, 303, 322, 331, 674, 677

definition of, 298

tee program, 554–555

tell function, 67

TELL_CHILD function, 247–248, 362, 491, 498, 532, 539, 541, 577, 898

definition of, 363, 540

telldir function, 130–135

definition of, 130

TELL_PARENT function, 247, 362, 491, 532, 539, 541, 577, 898, 934

definition of, 363, 540

TELL_WAIT function, 247–248, 362, 491, 498, 532, 539, 577, 898, 934

definition of, 363, 540

telnet program, 292–293, 500, 738–739, 742

telnetd program, 291–292, 500–501, 717, 734, 923, 944

tempnam function, 169

TENEX C shell, 3

TERM environment variable, 211, 287, 289

termcap , 712–713, 953

terminal

baud rate, 692–693

canonical mode, 700–703

controlling, 63, 233, 252, 270, 292, 295–298, 301, 303–304, 306, 309, 311–312, 318, 321, 377, 463, 465–466, 469, 480, 680, 685, 691, 694, 700, 702, 716, 724, 726–727, 898, 953

identification, 694–700

I/O, 671–713

line control, 693–694

logins, 285–290

mode, cbreak, 672, 704, 708, 713

mode, cooked, 672

mode, raw, 672, 704, 708, 713, 732, 734

noncanonical mode, 703–710

options, 683–691

parity, 688

process group ID, 303, 463

special input characters, 678–682

window size, 311, 322, 710–712, 718, 727, 741–742

termination, process, 198–202

terminfo , 712–713, 949, 953

termio structure, 674

<termio.h> header, 674

termios structure, 64, 311, 674, 677–679, 683–684, 692–693, 695, 701, 703–706, 708, 722, 727, 730–732, 738, 741–742, 897, 944

<termios.h> header, 29, 88, 674

text segment, 204

<tgmath.h> header, 27

Thompson, K., 75, 181, 229, 743, 951–953

threadfork interactions, 457–461

thread_init function, 445

threads, 14, 27, 229, 383–423, 578

cancellation options, 451–453

concepts, 383–385

control, 425–462

creation, 385–388

I/O, 461–462

reentrancy, 442–446

synchronization, 397–422

termination, 388–397

threadsignal interactions, 453–457

thread-specific data, 446–451

thundering herd, 927

tick, clock, 20, 42–43, 49, 59, 270, 280

time

and date functions, 189–196

calendar, 20, 24, 59, 126, 189, 191–192, 264, 270

process, 20, 24, 59, 280–282

values, 20

time program, 20

TIME terminal value, 687, 703–704, 708, 713, 943

time function, 189–190, 194, 264, 331, 357, 639–640, 919, 929

definition of, 189

<time.h> header, 27, 59

timeout function, 439, 462

TIMER_ABSTIME constant, 375

timer_getoverrun function, 331

timer_gettime function, 331

TIMER_MAX constant, 40, 43

timer_settime function, 331, 353

times, file, 124–125, 532

times function, 42, 59, 280–281, 331, 522

definition of, 280

timespec structure, 94, 126, 128, 189–190, 375, 407–408, 413–414, 437–438, 506, 832

time_t data type, 20, 59, 94, 189, 192, 196, 906

timeval structure, 190, 414, 421, 437, 503, 506, 805–806, 929, 933

timing

full-duplex pipes, 565

message queues, 565

read buffer sizes, 73

read/write versus mmap , 530

standard I/O versus unbuffered I/O, 155

STREAMS-based pipes, 565

synchronization mechanisms, 86–87

UNIX domain sockets, 565

writev versus other techniques, 522

timing comparison, mutex, 571

record locking, 571

semaphore locking, 571, 583

TIOCGWINSZ constant, 710–711, 719, 730, 897

TIOCPKT constant, 740

TIOCREMOTE constant, 741

TIOCSCTTY constant, 297–298, 727–728

TIOCSIG constant, 741

TIOCSIGNAL constant, 741

TIOCSWINSZ constant, 710, 718, 728, 741

tip program, 713

tm structure, 191, 194, 408, 919

TMPDIR environment variable, 211

tmpfile function, 167–171, 366, 452

definition of, 167

TMP_MAX constant, 38, 168

tmpnam function, 38, 167–171, 442

definition of, 167

tms structure, 280–281

TOCTTOU error, 65, 250, 953

Torvalds, L., 35

TOSTOP constant, 676, 691

touch program, 127

tracing system calls, 497

transactions, database, 952

TRAP_BRKPT constant, 353

TRAP_TRACE constant, 353

tread function, 800, 805–806, 825, 838–839

definition of, 805

treadn function, 800, 806, 824

definition of, 806

Trickey, H., 229, 952

truncate function, 112, 121, 125, 474

definition of, 112

truncation

file, 112

filename, 65–66

pathname, 65–66

truss program, 497

ttcompat STREAMS module, 716, 726

tty structure, 311

tty_atexit function, 705, 731, 897

definition of, 708

tty_cbreak function, 704, 709, 897

definition of, 705

ttymon program, 290

ttyname function, 137, 276, 442, 452, 695–696, 699

definition of, 695, 698

TTY_NAME_MAX constant, 40, 43, 49

ttyname_r function, 443, 452

tty_raw function, 704, 709, 713, 731, 897

definition of, 706

tty_reset function, 704, 709, 897

definition of, 707

tty_termios function, 705, 897

definition of, 708

type attribute, 431

typescript file, 719, 737

TZ environment variable, 190, 192, 195–196, 211, 919

TZNAME_MAX constant, 40, 43, 49

tzset function, 452

Ubuntu, xxii, 7, 26, 35, 290

UCHAR_MAX constant, 37–38

ucontext_t structure, 352

ucred structure, 649, 651

UFS file system, 49, 57, 65, 113, 116, 129

UID, see user ID

uid_t data type, 59

uint16_t data type, 595

uint32_t data type, 595

UINT_MAX constant, 37–38

ulimit program, 53, 222

ULLONG_MAX constant, 37

ULONG_MAX constant, 37

UltraSPARC, xxii, xxvii

umask function, 104–107, 222, 331, 466–467

definition of, 104

umask program, 105, 141

uname function, 187, 196, 331

definition of, 187

uname program, 188, 196

unbuffered I/O, 8, 61–91

unbuffered I/O timing, standard I/O versus, 155

ungetc function, 151–152, 452

definition of, 151

ungetwc function, 452

uninitialized data segment, 205

<unistd.h> header, 9, 29, 53, 62, 110, 442, 501, 755, 895

UNIX Architecture, 1–2

UNIX domain sockets, 629–642

timing, 565

UNIX System implementations, 33

Unix-to-Unix Copy, see UUCP

UnixWare, 35

unlink function, 114, 116–119, 121–122, 125, 141, 169–170, 331, 366, 452, 497, 553, 637, 639, 641, 823, 826–827, 837, 909, 911, 937, 942

definition of, 117

unlinkat function, 116–119, 331, 452

definition of, 117

un_lock function, 489, 759–760, 762, 768, 770–771, 773, 777–778, 780, 897

unlockpt function, 723–725

definition of, 723

Unrau, R., 174, 531, 950

unreliable signals, 326–327

unsetenv function, 212, 442

definition of, 212

update program, 81

update_jobno function, 814, 819, 832, 843

definition of, 819

Upstart, 290

uptime program, 614–615, 617, 619–620, 622–623, 628

__USE_BSD constant, 473

USER environment variable, 210, 288

user ID, 16, 255–260

effective, 98–99, 101–102, 106, 110, 126, 140, 228, 233, 253, 256–260, 276, 286, 288, 337, 381, 558, 562, 568, 573, 586–587, 637, 640, 809, 918

real, 39–40, 43, 98–99, 102, 221, 228, 233, 252–253, 256–260, 270, 276, 286, 288, 337, 381, 585, 924

USHRT_MAX constant, 37

usleep function, 532, 934

UTC (Coordinated Universal Time), 20, 189, 192, 196

utime function, 127, 331, 910

UTIME_NOW constant, 126

utimensat function, 125–128, 331, 452, 910

definition of, 126

UTIME_OMIT constant, 126–127

utimes function, 125–128, 141, 331, 452, 910

definition of, 127

utmp file, 186–187, 276, 312, 734, 923, 930

utmp structure, 187

utmpx file, 187

<utmpx.h> header, 30

utsname structure, 187–188, 196

UUCP (Unix-to-Unix Copy), 188

uucp program, 500

V7, 329, 726

va_arg function, 758

va_end function, 758, 899–903

va_list data type, 758, 899–903

/var/account/acct file, 269

/var/adm/pacct file, 269

<varargs.h> header, 162

variables

automatic, 205, 215, 217, 219, 226

global, 219

register, 217

static, 219

volatile, 217, 219, 340, 357

/var/log/account/pacct file, 269

/var/log/wtmp file, 187

/var/run/utmp file, 187

va_start function, 758, 899–903

VDISCARD constant, 678

vdprintf function, 161, 452

definition of, 161

VDSUSP constant, 678

VEOF constant, 678–679, 704

VEOL constant, 678, 704

VEOL2 constant, 678

VERASE constant, 678

VERASE2 constant, 678

vfork function, 229, 234–236, 283, 921–922

vfprintf function, 161, 452

definition of, 161

vfscanf function, 163

definition of, 163

vfwprintf function, 452

vi program, 377, 497, 499, 672, 711–713, 943

VINTR constant, 678–679

vipw program, 179

VKILL constant, 678

VLNEXT constant, 678

VMIN constant, 703–705, 707

v-node, 74–76, 78, 136, 312, 642, 907, 950

vnode structure, 311–312

Vo, K. P., 135, 174, 949–950, 953

volatile variables, 217, 219, 340, 357

vprintf function, 161, 452

definition of, 161

VQUIT constant, 678

vread function, 525

VREPRINT constant, 678

vscanf function, 163

definition of, 163

vsnprintf function, 161, 901

definition of, 161

vsprintf function, 161, 471

definition of, 161

vsscanf function, 163

definition of, 163

VSTART constant, 678

VSTATUS constant, 678

VSTOP constant, 678

VSUSP constant, 678

vsyslog function, 472

definition of, 472

VT0 constant, 691

VT1 constant, 691

VTDLY constant, 676, 684, 689, 691

VTIME constant, 703–705, 707

VWERASE constant, 678

vwprintf function, 452

vwrite function, 525

wait function, 231–232, 237–246, 249, 255, 264, 267, 280, 282–283, 301, 317, 328–329, 331, 333–335, 351, 368, 371–372, 451, 471, 499, 546, 588, 936

definition of, 238

Wait, J. W., xxxii

wait3 function, 245

definition of, 245

wait4 function, 245

definition of, 245

WAIT_CHILD function, 247, 362, 491, 532, 539, 577, 898, 934

definition of, 363, 540

waitid function, 244–245, 283, 451

definition of, 244

WAIT_PARENT function, 247–248, 362, 491, 498, 532, 539, 577, 898

definition of, 363, 540

waitpid function, 11–13, 19, 23, 237–245, 254, 261, 265–267, 282, 285, 294, 301, 315, 329, 331, 370–371, 451, 498, 538, 545–546, 587–588, 618, 935, 937, 939

definition of, 238

wall program, 723

wc program, 112

<wchar.h> header, 27, 144

wchar_t data type, 59

WCONTINUED constant, 242, 244

WCOREDUMP function, 239–240

wcrtomb function, 442

wcsftime function, 452

wcsrtombs function, 442

wcstombs function, 442

wctomb function, 442

<wctype.h> header, 27

Weeks, M. S., 206, 949

Wei, J., 65, 953

Weinberger, P. J., 76, 262, 743, 947, 953

Weinstock, C. B., 953

WERASE terminal character, 678, 682, 685–687, 703

WEXITED constant, 244

WEXITSTATUS function, 239–240

who program, 187, 734

WIFCONTINUED function, 239

WIFEXITED function, 239–240

WIFSIGNALED function, 239–240

WIFSTOPPED function, 239–240, 242

Williams, T., 310, 953

Wilson, G. A., xxxii

window size

pseudo terminal, 741

terminal, 311, 322, 710–712, 718, 727, 741–742

winsize structure, 311, 710–711, 727, 730, 732, 742, 897, 944

Winterbottom, P., 229, 952

WNOHANG constant, 242, 244

WNOWAIT constant, 242, 244

W_OK constant, 102

Wolff, R., xxxii

Wolff, S., xxxii

WORD_BIT constant, 38

wordexp function, 452

<wordexp.h> header, 29

worker_thread structure, 812–813, 828–829

working directory, see current directory worm, Internet, 153

wprintf function, 452

Wright, G. R., xxxii

write

delayed, 81

gather, 521, 644

synchronous, 63, 86–87

write program, 723

write function, 8–10, 20–21, 59, 61, 63–64, 68–69, 72, 77–79, 86–88, 90, 125, 145–146, 156, 167, 174, 230–231, 234, 247, 328–329, 331, 342–343, 378, 382, 451, 474, 482–484, 491, 495–498, 502, 505, 509, 513, 517, 522–526, 530–532, 537–538, 540, 549–551, 553, 555, 560, 565, 587, 590, 592, 610, 614, 620, 643, 654–655, 672, 752, 760, 773, 810, 819, 826, 836, 907–908, 921, 925, 934, 936–937, 945

definition of, 72

write_lock function, 489, 493, 498, 818, 897

writen function, 523–524, 644, 732–733, 738, 810–811, 824–827, 836, 896

definition of, 523–524

writev function, 41, 43, 329, 451, 481, 521–523, 531–532, 592, 611, 644, 655, 660, 752, 771, 773, 832, 836

definition of, 521

writew_lock function, 489, 491, 759, 763, 769, 771–772, 777, 787, 897

wscanf function, 452

WSTOPPED constant, 244

WSTOPSIG function, 239–240

WTERMSIG function, 239–240

wtmp file, 186–187, 312, 923

Wulf, W. A., 953

WUNTRACED constant, 242

x86, xxi

xargs program, 252

XCASE constant, 691

Xenix, 33, 485, 726

xinetd program, 293

X_OK constant, 102

X/Open, xxvi, 31, 953

X/Open Curses, 32

X/Open Portability Guide, 31–32

Issue 3, see XPG3

Issue 4, see XPG4

_XOPEN_CRYPT constant, 31, 57

_XOPEN_IOV_MAX constant, 41

_XOPEN_NAME_MAX constant, 41

_XOPEN_PATH_MAX constant, 41

_XOPEN_REALTIME constant, 31, 57

_XOPEN_REALTIME_THREADS constant, 31, 57

_XOPEN_SHM constant, 57

_XOPEN_SOURCE constant, 57–58

_XOPEN_UNIX constant, 30–31, 57

_XOPEN_VERSION constant, 57

XPG3 (X/Open Portability Guide, Issue 3), xxxi, 33, 953

XPG4 (X/Open Portability Guide, Issue 4), 32, 54

XSI, 30–31, 53–54, 57, 94, 107, 109, 131–132, 143, 161, 163, 168–169, 180, 183, 211–212, 220, 222, 239, 242, 244–245, 252, 257, 276, 293, 315, 317, 322, 329, 333, 350–352, 377, 429, 431, 442, 469–472, 485, 521, 526, 528, 534, 553, 562–563, 566, 571, 576, 578, 587–588, 666, 676, 685, 687, 689–691, 722, 724, 744, 910

XSI IPC, 556–560

XTABS constant, 690–691

Yigit, O., 744, 952

zombie, 237–238, 242, 283, 333, 351, 923


Cloud Monk is Retired (for now). Buddha with you. © 2005 - 2024 Losang Jinpa or Fair Use. Disclaimers

SYI LU SENG E MU CHYWE YE. NAN. WEI LA YE. WEI LA YE. SA WA HE.


advanced_programming_in_the_unix_environment_index.txt · Last modified: 2022/02/17 01:12 by 127.0.0.1