This practical reference guides programmers developing Linux applications or porting applications from other platforms. Linux is fundamentally similar to Unix-so, much of the book covers ground familiar to Unix programmers-but this book consistently addresses topics from a Linux point of view. The aim throughout is to provide the detailed information you need to take full advantage of Linux.
If you are already a proficient Unix programmer, this book will greatly facilitate your transition to Linux. You will also find helpful discussions of some tricky Unix topics, such as process and session groups, job control, and tty handling.
If you are a C programmer, but know neither Unix nor Linux, reading this book in its entirety and working with its numerous examples will give you a solid introduction to Linux programming.
If you are already a Linux programmer, this book's clear treatment of advanced and otherwise confusing topics will surely make your programming tasks easier.
Linux Application Development is divided into four parts. Part 1 introduces you to Linux(the operating system, licenses, and documentation. Part 2 covers the most important aspects of the development environment(the compilers, linker, loader, and debugging tools. Part 3-the heart of the book-describes the interface to the kernel and to the core system libraries, including discussion of the process model, file handling, directory operations, signal processing (including the Linux signal API), job control, the POSIX( termios interface, sockets, and the Linux console. Part 4 describes important development libraries with interfaces more independent of the kernel.
http://rapidshare.com/files/7683633/I0321219147.rar