|
Title: Linux Programming Unleashed Authors: Kurt Wall, Mark Watson, and Mark Whitis Publisher: Sams (Macmillan Computer Publishing) ISBN: 0-672-31607-2 LC Card Number: 98-89984 Publication Date: Aug 27, 1999 Pages: 844 Cover Price: $49.99 Street Price: $27 to $40 Size: 7-3/8"x9-1/8"x2"x1-3/4" Weight: 3 Lbs |
Order Linux Programming Unleashed from amazon.com for $39.99
Note that the link above has been broken. The new page for the first edition is at http://www.samspublishing.com/title/0672316072 and the downloads are at http://www.samspublishing.com/content/images/0672316072/downloads/code.zip
Newer versions of some of these are availible on my software page.
| Part I | The Linux Programming Toolkit | |||
| 1 | Overview | Kurt Wall | ||
| 2 | Setting Up a Development System | Mark Whitis | ||
| 3 | Using GNU cc | Kurt Wall | ||
| 4 | Project Management Using GNU make | Kurt Wall | ||
| 5 | Creating Self-Configuring Software with autoconf | Kurt Wall | ||
| 6 | Comparing and Merging Source Files | Kurt Wall | ||
| 7 | Version Control with RCS | Kurt Wall | ||
| 8 | Creating Programs in Emacs | Kurt Wall & Mark Watson | ||
| Part II | System Programming | |||
| 9 | I/O Routines | Mark Whitis | ||
| 10 | File Manipulation | Mark Whitis | ||
| 11 | ~Process Control | Mark Whitis | ||
| 12 | Accessing System Information | Mark Whitis | ||
| 13 | Handling Errors | Mark Whitis | ||
| 14 | Memory Management | Kurt Wall | ||
| Part III | Interprocess Communication and Network Programming | |||
| 15 | Introduction to IPC: Using Pipes | Mark Watson | ||
| 16 | Message Queues | Mark Watson | ||
| 17 | Shared Memory | Mark Watson | ||
| 18 | Semaphores | Mark Whatson | ||
| 19 | TCP/IP and Socket Programming | Mark Watson | ||
| 20 | UDP: The User Data[sic] Protocol | Mark Watson | ||
| 21 | Using Multicast Sockets | Mark Watson | ||
| 22 | Non-blocking Socket I/O | Mark Watson | ||
| 23 | A C++ Class Library for TCP Sockets | Mark Watson | ||
| 24 | Using Libraries | Kurt Wall | ||
| 25 | Device Drivers | Mark Whitis | ||
| Part IV | Programming the User Interface | |||
| 26 | Terminal Control the Hard Way | Kurt Wall | ||
| 27 | Screen Manipulation with ncurses | Kurt Wall | ||
| 28 | X Window Progrmming | Mark Watson | ||
| 29 | Using Athena and Motif Widgets | Mark Watson | ||
| 30 | GUI Programming Using GTK | Mark Watson | ||
| 31 | GUI Programming Using QT | Mark Watson | ||
| 32 | GUI Programming Using Java | Mark Watson | ||
| 33 | OpenGL/Mesa Graphics Programming | Mark Watson | ||
| Part V | Special Programming Techniques | |||
| 34 | Shell Programming with GNU bash | |||
| 35 | Secure Programming | Mark Whitis | ||
| 36 | Debugging: GNU gdb | Kurt Wall | ||
| Part VI | Finishing Touches | |||
| 37 | Package Management | Kurt Wall | ||
| 38 | Documentation | Kurt Wall | ||
| Apendices | Apendeces | |||
| 39 | Licensing | Kurt Wall | ||
| A | A Symbol Table Library | Mark Whitis | ||
| B | GNU General Public License | Free Software Foundation |
In chapter 2, I mention that you can find certain documents on one of the acompanying CD-ROMS; unfortunately, the publisher omitted the CD-ROMs without bothering to correct the text.
I mentioned the Slink-e interface which allows you to control most consumer electronics. The device did not have a linux driver but the protocol was documented. I now have a Slink-e so there might be a Linux driver in the foreseable future.
The mentioned X10 CM10a interface which allows carrier current control of lights and appliances connected to X10 modules is controlled by the program "heyu". I have noticed a problem with that program. It will not run correctly unless I have used pppd on the same line previously. Since I haven't been able to isolate the critical port settings yet, I run pppd :-).
At the time this chapter was written, it was hard to find inexpensive tulip cards based on the prefered 21140 chips. Now that the newer tulip drivers should be availible on most current linux distributions, it should be ok to use the more 21143 chips or clones and inexpensive tulip compatible boards are availible. Linksys LNE100TX Etherfast 10/100 cards are readily availible ($25 from NECX,$30 from Data Comm Warehouse and at your local Staples or Office Depot. These are based on tulip clones (PNIC or Linksys relabled PNIC) which work with recent versions of the tulip driver (Including those shipped with Redhat >=5.2). Linksys has a Linux Support Page for these cards and they even include Linux drivers on the disk.
If you don't really need to buy a new printer, don't. Try to avoid supporting the manufacturers who make printers and don't document or provide drivers for them. All of the major inkjet printer manufacturers make printers which are not documented. The newer a printer is, the less well it is likely to be supported under Linux. So, you might be better off spending $35 at your local thrift store for an old printer. You can print text ok on most printers except most windows only printers. But if you want good quality photo printing, which many of us expect these days, your options are very limited. If I were to buy a new printer now, it would probably be a Epson 740 or 640. Other candidates might be an HP 880C or a Lexmark Optra 40. I have not used any of these, however.
I have written a driver for Costar label printers and Costar has donated printers in support of this effort.
Although, I reported that Quickcam 's work, avoid all the newer Quickcam's. The manufacturer has reverted to their prior bad habbits regarding documentation.
Since this chapter was written, I have written a device driver for many of the common label printers (Avery Personal Label Printers and Costar Labelwriter XL). This device driver runs in user mode and takes input in Plain PBM format. A PBM driver will work with any version of Ghostscript and is a separate program so there are no licensing issues to worry about. New: costar contacted me and volunteered to send me their newer printers for development and testing purposes.
There were some compilation problems with the stepper driver on 2.2.x kernels due to significant incompatibilities introduced in the new kernel. Working on fixes.
The parameters are backwards on verbose_outb() and outb() in a couple places. It is outb(value, port) rather than outb(port, value);
Newer kenels (such as 2.2 and 2.4) introduce various incompatibilities that prevent the sample device driver, or one written according to the instructions, to fail to compile. I have written some notes on porting old device drivers to linux kernel 2.4
From: sprintf(command, "fgrep -i %s address.book", name); system(name); To: sprintf(command, "fgrep -i %s address.book", name); system(command);
Their Support Page now, finally, has the files which would have been on the CD-ROm which the publisher decided to omit at the last minute.
If you are foolish enough to enable JAVA on your web browser, you might also try visiiting the SAMS Publishing web site; if you have JAVA disabled, are behind a firewall which blocks JAVA, have a visual disability, or are using a text mode browser the SAMS web site is useless. The links above allow you to bypass the disfunctional navigation pages to get directly to the pages relevent to this book.I did not choose to be involved in the rewrites for the second edition. The downloads for that edition are at: http://www.samspublishing.com/content/images/0672320215/downloads/code.tar.gz . Note that the first edition is readily availible used for a few bucks.
I have my own company, Free Electron Labs, and I worked for DBD Group. Both contributed to the book.
This file is maintained by Mark Whitis (unleashed@mail.freelabs.com).
|
Software Development - Electronic Design - Embedded Systems - Device Drivers - System/Network Administration and Security - Motor Control, RobotCNC - Linux/Un*x - 25+ years experience The author of these pages is looking for a new gig. [RESUME] |
| Engineers and electronic hobbyists: The new Open Symbol Project is creating open schematic symbols and PCB footprints for a variety of different CAD packages. |
| Mark Whitis's Website | Home Page | Linux | Book: Linux Programming Unleashed | My Resume | Genealogical Data | Contact Info | Security | About |
All email messages received must pass the turing test or they will be considered SPAM. If it could have been written by a machine, it was.
Under no circumstances are you to email me with questions regarding windoze, any other microsoft operating system or application, or any software which runs under any form of windoze.
*