This file describes the first level contents of the OSCL tree. oscl/boolstate A system allowing multiple client threads to monitor the state of a single boolean variable. oscl/buffer A system of managing buffers. oscl/cm An abandoned set of utilities for configuration management. oscl/cmdline A state machine to implement basic character stream command line editing. oscl/driver A collection of hardware device drivers. These are generally organized on the next level by manufacturer. Drivers in this sub directory often depend upon register descriptions maintained in the oscl/hw directory. oscl/error Generic error logging facilities. oscl/file File handling (persistent storage). oscl/hw A collection of source directly related to hardware device registers and the bit fields within those registers. oscl/idl The remnants of a CORBA IDL experiment. oscl/logic This is a collection of classes that enable certain classes of applications to be constructed using logic "gates" and "registers" similar to the way digital hardware is constructed. oscl/macros ??? delete or "OSCL namespace ize" ???? oscl/memory Components for manipulating raw memory. Included are templates for aligning static memory blocks. oscl/mt Components describing and implementing a message base Multi-Threading framework. This framework forms the concurrency backbone upon which much of the OSCL is built. oscl/oid A collection of components related to "Object Identifiers" that are used in hierarchical naming/organization systems. oscl/posix Components that wrap certain POSIX facilities. oscl/queue A set of linked list container classes that form the foundation of many of the dynamic components within OSCL. oscl/pci ? delete - obsolete ? oscl/stream Components used in the representation, manipulation, and implementation of character streams systems. Typical character stream oriented systems include files, serial devices, and TCP/IP connections. oscl/strings String manipulation components. oscl/compiler Headers that define language features that are compiler specific. These headers re-direct the pre-processor to the compiler specific implementations that are guided by "-I" options passed to the preprocessor throught e compiler. In BENV this usually means specifying the particular path in the project's overrides.b file. oscl/time Components related to date and time. (pre - alpha!) oscl/bounded An attempt at creating bounded range variables. (pre - alpha!) oscl/tree Container template classes for maintaining tree structures. oscl/iterator An experimental iterator interface. (pre - alpha!) oscl/extalloc A dynamic memory allocation framework that tracks allocations using data structures that are external (NOT contained within) the allocation area. This technique is used for memory areas with special properties. E.g. DMA capable memory, Fast Static RAM, and even spaces that are not accessible to the CPU. oscl/rtk Experimental files related to SMP real-time-kernels. (pre - alpha!) oscl/tristate A framework for monitoring and controlling three-state (asserted,negated,inhibited) indications. This framework was developed for dealing with telecommunications alarm hierarchies, but is general enough to use in many similar applications. oscl/logging oscl/svr4abi System V Revision 4 ABI related files. oscl/bits Contains various components involved in the manipulation of single bits and bif fields. oscl/interrupt Interrupt handling framework. oscl/frame A framework for frame (a.k.a. packet) based protocols. oscl/handle A framework for reference counted handles. oscl/endian Components for representing and manipulating byte order specific data. oscl/pdu A data communications framework that performs a function similar to BSD networking mbufs. oscl/pcisrv Components related to PCI bus managment. oscl/bus A bus address conversion abstraction. oscl/protocol A hierarchy containing components related to standard data communications protocols such as IP. oscl/ecos Components related to a mapping OSCL functions to eCos functions. oscl/done A small framework for callbacks that notify an upper layer component when a lower layer component has completed a request. oscl/ber An implementation of ASN.1 Basic Encoding Rules (BER). oscl/snmp A collection of components used to implement SNMP agents. oscl/serial A middle layer driver for a serial port to present an OSCL stream interface to upper layers. oscl/hdlc A framework for various HDLC layers. This framework was used as the basis for a PPP implementation. oscl/ppp An unfinished implementation of PPP. oscl/datagram An interface framework for "At-Most-Once" (a.k.a send-it-and-pray) datagram based data communications services. oscl/checksum A collection of checksumming algorithms, including MD5 and SHA1. oscl/platform This directory tree contains platform specific files. The header files in this tree should NEVER be directly included by applications. Rather, the applications must include the corresponding header in one of the other oscl trees. This headers are specified by using the "-I" option to the compiler/pre-processor in the build environment. This is generally done in the "overrides.b" file of the project when using BENV. oscl/freestore This contains a framework for managing dynamically allocated buffers that are allocated at one end of protocol stack and released at some other point in the stack. oscl/modulo A component for maintaining modulo counters used mostly in data communications protocols. oscl/ssh An unfinished attempt at a simple implementation of SSH. oscl/bignum A template class for performing arithmetic and logical operations on arbitrarily large integers. This is used in the generation of security keys a la Diffie-Hellman. oscl/des An implementation of the DES encryption algorithm. oscl/ss An implementation of a secure stream connection, that uses Diffie-Hellman key exchange between two ends of the stream and then uses DES to encrypt communications over the stream, while presenting a standard Oscl::Stream interface to the user. oscl/shell A framework for creating a simple command "shell" for interacting with a system over an Oscl::Stream. oscl/uart A framework abstracting UART functionality to an Oscl::Stream. oscl/scsi A collection of SCSI command components and a Transparent Transport block driver. oscl/pid A collection of PID related components, and a "system simulator" component. oscl/fp A half hearted attempt at a Fixed-Point value class. oscl/tt A framework and implementation for the Transparent Transport protocol which is a used by the USB Mass Storage devices to encapsulate SCSI commands and responses. oscl/block A block device framework. oscl/fs A file-system framework including a FAT16 implementation. oscl/ms A Mass Storage framework. oscl/prov An embryonic (non-existent) provisioning framework. oscl/equipment A telecom oriented dynamic "Equipment" framework. oscl/persist A persistent storage framework. oscl/tl1 A TL1 (telecom command line syntax) framework. oscl/session A command line communication session management framework. oscl/sysid A System Identifier (a la telecom) managment sub-system. oscl/entropy Interfaces for fetching random numbers. oscl/atomic Low level system specific interfaces to atomic operations. oscl/krux A priority based preemptive real-time operating system. oscl/cpu Low level interfaces to CPU specific operations. oscl/preitc A legacy (deprectated pre Oscl::Mt::Itc framework) set of command line, console, serial and testing components. oscl/runtime A place to store platform/system specific runtime code. Includes stubs required by GCC/newlib. oscl/kernel Low level interfaces whose implementations are system specific and only available to kernel-space components. oscl/cache Low level interfaces for generically performing cache operations sucha as flush, invalidate, and cache line sizes. oscl/timer Low level interfaces for getting system specific free running counter values, busy waiting, and performing tock conversions.