Part II
Interfaces


3 Introduction to OSKit Interfaces
 3.1 Header File Conventions
 3.2 Common Header Files
4 The Component Object Model
 4.1 Objects and Interfaces
 4.2 Reference and Memory Management Conventions
 4.3 Error Handling
 4.4 Binary Issues
 4.5 Source Issues
 4.6 COM Header Files
 4.7 oskit_iunknown: base interface for all COM objects
 4.8 oskit_stream: standard interface for byte stream objects
 4.9 oskit_listener: callback interface for event notification
 4.10 oskit_listener_mgr: Interface for managing multiple listeners
5 Interface Registration
 5.1 oskit_services: registration database
 5.2 Global Registry
6 Synchronization Interfaces
 6.1 oskit_lock: Thread-safe lock interface
 6.2 oskit_condvar: Condition variable interface
 6.3 oskit_lock_mgr: Lock manager: Interface for creating locks and condition variables
7 Input/Output Interfaces
 7.1 oskit_absio: Absolute I/O Interface
 7.2 oskit_asyncio: Asynchronous I/O Interface
 7.3 oskit_blkio: Block I/O Interface
 7.4 oskit_bufio: Buffer-based I/O interface
 7.5 oskit_netio: Network packet I/O interface
 7.6 oskit_posixio: POSIX I/O interface
 7.7 oskit_ttystream: Interface to Unix TTY-like streams
8 OSKit Device Driver (OS Environment) Framework
 8.1 Introduction
 8.2 Organization
 8.3 Driver Sets
 8.4 Execution Model
 8.5 Performance
 8.6 Device Driver Initialization
 8.7 Device Classification
 8.8 Buffer Management
 8.9 Asynchronous I/O
 8.10 Other Considerations
 8.11 Common Device Driver Interface
 8.12 Driver Memory Allocation
 8.13 DMA
 8.14 I/O Ports
 8.15 Hardware Interrupts
 8.16 Sleep/Wakeup
 8.17 Driver-Kernel Interface: Timing
 8.18 Misc
 8.19 Device Registration
 8.20 Block Storage Device Interfaces
 8.21 Serial Device Interfaces
 8.22 Driver-Kernel Interface: (X86 PC) ISA device registration
9 OSKit File System Framework
 9.1 Introduction
 9.2 oskit_principal: Principal Interface
 9.3 oskit_filesystem: File System Interface
 9.4 oskit_file: File Interface
 9.5 oskit_dir: Directory Interface
 9.6 oskit_openfile: Open File Interface
 9.7 Dependencies on the Client Operating System
10 OSKit Networking Framework
 10.1 Introduction
 10.2 oskit_socket: Socket Interface
11 Flask Security Framework
 11.1 flask_types.h: basic Flask types and constants
 11.2 oskit_security: Security Server Interface
 11.3 oskit_avc: AVC Interface
 11.4 oskit_avc_ss: AVC Interface for the Security Server
12 Miscellaneous OSKit Interfaces
 12.1 oskit_random: Interface for random number generators