BeOS: Porting UNIX Applications

Chapter 18: Kernel Support

Overview

The core of most programs revolves around the functions that directly access the kernel or a layer of kernel functionality. Without many of these basic functions, most applications simply wouldn't be able to work, even if you managed to replace some of the functions we discuss in later chapters.

This chapter covers the core limits and datatypes, memory access, accessing users and groups, processes, interprocess communication, and then the core kernel functions for spawning new jobs. Later in this chapter, I've included information on some of the utility support functions, including nonlocal jumps and string handling. Although not strictly kernel related, they do affect the core routines of many applications.

18.1 Datatypes

The Metrowerks compiler specifies a number of base datatypes based on the Standard C definitions. Additionally, it defines some datatypes able to cope with larger numbers. The header limits.h defines the minimum and maximum values. The types, their byte sizes, and minimum/maximum values are listed in Table 18-1.

As you can see, the BeOS already able to handle huge numbers is all set for 64-bit processors

When porting or writing software to be cross-platform compatible from the OS up, a number of types are defined in the header files. These datatype macros can be used both for building the kernel and for writing applications. So regardless of the origin of a package, when it is recompiled, the underlying datatypes will remain the same, and no type casting or conversion will be necessary.

Table 18-1: BeOS datatypes and ranges

UNLIMITED FREE
ACCESS
TO THE WORLD'S BEST IDEAS

SUBMIT
Already a GlobalSpec user? Log in.

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.

Customize Your GlobalSpec Experience

Category: Embedded Programming Software
Finish!
Privacy Policy

This is embarrasing...

An error occurred while processing the form. Please try again in a few minutes.