BeOS :Porting UNIX Applications
Preface
Part I : Preparation
- Chapter 1 : Introduction to the Porting Process
- Life Cycle of a Port
- Choosing an Application to Port
- Difficulties with the BeOS
- Chapter 2 : BeOS Structure
- Basic Structure
- Applying UNIX Structure to the BeOS
- Missing Links and Other Goodies
- Chapter 3 : We're not in UNIX Anymore
- The BeOS's Concept of Users
- The BeOS's Concept of Groups
- Effects on Porting
- Processes
- Chapter 4 : Useful Tools
- bash
- grep
- sed
- less
- touch
- tr
- uniq and sort
- Editors
- Chapter 5 : Sources
- Getting the Sources
- Working with Archives
- Archive Contents
- Chapter 6 : Revisions and Backups
- Revision Control System (RCS)
- Concurrent Version System (CVS)
- Using diff for Revisions
- patch
- Backups
Part II : The Porting Process
- Chapter 7 : Getting Started
- Reading the Documentation
- Identifying the Build Type
- Identifying the Build Process
- Chapter 8 : Configuring the Package
- Preparation
- Expect to Change
- Using #include in the Configuration Process
- Using the #ifdef Macro
- Chapter 9 : Makefiles
- Principles of a Makefile
- Anatomy of a makefile
- Execution Sequence
- Coping with Errors
- Chapter 10 : Configuration Scripts
- Running under the BeOS
- Faking Options
- Manual Adjustments
- Testing the Configuration
- Cheating
- Chapter 11 : Smart Compilers
- Following the Script
- Faking Options
- Hand Compilation
- Generating a Makefile
- Chapter 12 : bison and flex
- yacc and bison
- lex and flex
- Chapter 13 : The Compiler and Linker
- How the Compiler and Linker work
- Preprocessing
- Optimization
- Debugging
- Header Files
- Libraries
- Making Libraries
- Profiling
- Chapter 14 : The Debugger
- The BeOS Debugger
- The Symbolic Debugger
- Manual Debugging
- Chapter 15 : Building the Package
- Keeping a Log
- Storing Output
- Compilation Errors
- Compilation Warnings
- Linking Errors
- Installation
- Preparing to Test the Build
- Checking the Created Files
- Creating Your Own Harness
- Using the Supplied Harness
- Pointers to Problems
Part III : Writing for the BeOS
- Chapter 16 : Overview of BeOS Programing
- Program Styles
- Be Style
- UNIX Style
- Chapter 17 : POSIX
- What Is POSIX?
- POSIX and UNIX
- The BeOS and POSIX
- Effects on Porting
- Chapter 18 : Kernel Support
- Datatypes
- Resource Limits
- Memory Handling
- Users and Groups
- Processes
- Signals
- Interprocess Communication
- System Calls
- Regular Expressions
- Nonlocal Jumps
- Moving and Copying Memory
- String Handling
- Varrable Argument Lists
- Chapter 19 : Time Support
- Standard Variables and Defines
- Time Zones
- Time Calculations
- Getting the Time
- Setting the Time
- Timers
- System Information
- Chapter 20 : Terminals and Devices
- Using I/O Devices
- Working with Terminals
- Device Drivers
- Chapter 21 : Files and Directories
- General Functions
- Streams
- UNIX File Descriptors
- Utility Functrions
- File Systems
- select and poll
- Chapter 22 : Networking
- Sockets
- Utility Functions
- Using select
- Remote Procedure Calls(RPCs)
- Chapter 23 : Summerry