Giter Club home page Giter Club logo

tlpi-dist's Introduction

Gidday!

This is the code for the book "The Linux Programming Interface"
and this is a note from me, the author, Michael Kerrisk.

For instructions on building the programs, see the file BUILDING.

For notes on significant changes that have been made to the code
since it was published in the book, see the file CHANGES.


Source code licensing
=====================

All programs provided in this distribution are covered by the GNU
Affero General Public License (Version 3), a copy of which is contained
in the file COPYING, which should have arrived with this tarball.


A note on the source code
=========================

The source code is available in two versions: "dist" and "book".
The "book" version contains the program source files as published in
the book. The source files in the "dist" version contain extra code
beyond that published in the book. The differences between the "dist"
and "book" versions are as follows:

a) The "dist" versions of some programs contain extra comments.
   These additional comments were stripped out of the printed version
   to make the published versions of the programs shorter. (The book
   itself contains text describing the operation of the programs.)

b) In a few cases, some changes have been incorporated into the
   "diff" versions to make it possible to compile programs on UNIX
   implementations other than Linux, so that you can try them out
   on other implementations if you wish.  Where necessary, the
   additional code is conditionally compiled using the following
   platform-specific macros:

        __linux__	Defined on Linux
	__sun		Defined on Solaris
	__FreeBSD__	Defined on FreeBSD
	__NetBSD__	Defined on NetBSD
	__OpenBSD__	Defined on OpenBSD
	__APPLE__	Defined on Mac OS X
	__hpux		Defined on HP-UX
	__osf__		Defined on Tru64 UNIX (formerly DEC OSF1)
        _AIX		Defined on AIX

c) In the "diff" version, some programs have extra functionality beyond
   that in the "book" versions. Where this is significant, comments in
   the programs explain the differences.


Subdirectories
==============

Under the 'tlpi' directory are a number of subdirectories. Each
subdirectory corresponds to one or more chapters of the book.
The following paragraphs give brief notes on the contents of
each subdirectory.

Note that in some cases, files are linked to appear in more than one 
directory. This is particularly the case for each of the files in the 
'lib' directory, most of which are also linked in the directory
of the chapter relating to that file.

Directory	Files for Chapter...

lib		This contains library routines used by other 
		programs. The tlpi_hdr.h and error_routines.* 
		files are located here.
		
progconc 	3 (System Programming Concepts)

fileio		4 and 5 (File I/O)

proc		6 (Processes)

memalloc	7 (Memory Allocation)

users_groups 	8 (Users and Groups)

proccred	9 (Process Credentials)

time		10 (Time)

syslim		11 (System Limits and Options)

sysinfo		12 (System and Process Information)

filebuff	13 (File I/O Buffering)

filesys		14 (File Systems)

files		15 (Files)

xattr		16 (Extended Attributes)

acl		17 (Access Control Lists)

dirs_links	18 (Directories and Links)

inotify         19 (Monitoring File Events)

signals		20 to 22 (Signals)

timers		23 (Timers and Sleeping)

procexec	24 (Process Creation), 25 (Process Termination),
		26 (Monitoring Child Processes), 27 (Executing Programs),
		and 28 (Further Details on Process Creation and Program
		Execution)

threads		29 to 33 (POSIX Threads)

pgsjc		34 (Process Groups, Sessions, and Job Control)

procpri		35 (Process Priorities and Scheduling)

procres		36 (Process Resources)

daemons		37 (Daemons)

cap		38 (Capabilities)

loginacct	40 (Login Accounting)

shlibs		41 and 42 (Shared Libraries)
    
pipes		44 (Pipes and FIFOs)

svipc		45 (System V IPC)
    
svmsg		46 (System V Message Queues)

svsem		47 (System V Semaphores)

svshm		48 (System V Shared Memory)

mmap		49 (Memory Mappings)

vmem		50 (Virtual Memory Operations)

pmsg		52 (POSIX Message Queues)

psem		53 (POSIX Semaphores)

pshm		54 (POSIX Shared Memory)

filelock	55 (File Locking)

sockets		56 to 61 (Sockets and Network Programming)

term		62 (Terminals)

altio		63 (Alternative I/O Models)

pty		64 (Pseudoterminals)

getopt		Appendix B: Parsing Command-Line Options

tlpi-dist's People

Contributors

bradfa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.