next up previous
Next: Type Definitions Up: The Panda 3.0 Previous: Panda

The System Interface

 

#ifndef __PANDA_SYSTEM_LAYER__
#define __PANDA_SYSTEM_LAYER__

This header file defines the Panda system layer interface, that puts an abstract layer on top of an existing operating system. The implementation of the system layer must provide the functions presented here WITHOUT MODIFYING THIS FILE!!! This way it is guaranteed that all implementations on top of it are architecture independent.

To allow Panda to be both portable and efficient, it is important that the Panda modules make best use of the primitived provided by the underlying platform (i.e., the operating system and hardware). Therefore, the semantics of the operations defined in the system layer are not fixed, but depend on what the underlying system provides. Panda distinguishes three important areas in which these systems differ:

The semantics of a particular implementation of a system layer are stored in pan_conf.h, which is located together in the same directory as the Panda library. This include file is included in pan_module.h, which must be included by all Panda modules that want to exploit system properties.

Naming convention: All names that are externally visible have to be prefixed with ' pan'. The names that are supposed not to be used by the higher layers start with ' pan_sys'. All modules layered on top of the system module should have names like ' pan_xxx_name', where xxx is the unique name of the module.





Rutger Hofman
Wed Jul 22 18:25:43 MET DST 1998