This page permanently redirects to gemini://lofi.haiku-os.org/docs/develop/.

Welcome to Haiku internals’s documentation!

Target audience

This documentation is aimed at people who want to contribute to Haiku by modifying the operating system itself. It covers various topics, both technical (how things work) and organizational (patch submission process, for example).

This document might also be useful to application developers trying to understand the behavior of the operating system in some specific cases, however, the

=> API documentation

should answer most of the questions in this area already.

This documentation assumes basic knowledge of C++ and the Be API, if you need more information about that, please see the

=> Learning to program with Haiku

book.

Status of this document

The work on this book has just started, many sections are incomplete or missing. Here is a list of other resources that could be useful:

=> Haiku website

has several years of blog posts and articles documenting many aspects of the system,

=> Coding guidelines

describes how code should be formatted,

=> User guide

documents Haiku from the users’ point of view and can be useful to understand how things are supposed to work,

=> Haiku Interface Guidelines

document graphical user interface conventions,

=> Haiku Icon Guidelines

gives some rules for making icons fitting with the style of the existing ones.

Table of contents

=> Search Page

Contents:

=> The build system

=> The build tool: Jam

=> Haiku Git Repositories

=> Haiku compilers

=> Using an IDE

=> HaikuPorts build-packages repository

=> Release engineering

=> Critical Milestones

=> Important first steps

=> General Rules

=> Forming a timeline

=> The standard C library

=> Library organization

=> POSIX, BSD and GNU extensions

=> BeOS and Haiku specific functions

=> The Debugger kit

=> Classes

=> Diagrams

=> The MIDI Kit

=> Midi Kit design

=> How libmidi1 works

=> The softsynth

=> The BeOS R5 Midi Kit protocol

=> Misc notes

=> Testing the Midi Kit

=> Midi Kit TO DO List

=> The Network Stack

=> Haiku Network Stack Architecture

=> How to Merge Patches from NetBSD Trunk

=> Package Management

=> Building Packages

=> Boot Volume Directory Structure

=> Haiku Package File Format

=> Hybrid Builds

=> Package Management Infrastructure

=> Migration to Package Management

=> Packaging Policy

=> Bootstrapping Haiku

=> packagefs

=> Package Daemon

=> Package building

=> Package kit/manager

=> Boot loader

=> Package/package repository format

=> Miscellaneous

=> Package Management Ideas

=> Application Server

=> Purpose

=> Tasks performed by app_server

=> App server components

=> Class Descriptions

=> Registrar Protocols

=> Standard Replies

=> General Requests

=> Roster Requests

=> MIME Database Requests

=> Message Runner Requests

=> Clipboard Handler Requests

=> Disk Device Requests

=> Kernel

=> Device Driver Architecture

=> Plug and Play Manager

=> Swap file

=> CPU architectures

=> Haiku boot process specification

=> Bootloader debugging with GEF

=> Using PCI serial ports for debugging

=> Filesystem drivers

=> File systems overview

=> Development tools

=> Node Monitoring

=> UserlandFS: filesystems in userspace

=> The UFS2 filesystem

=> The XFS File System

=> The Be File System

=> Partitioning system for Sun Sparc machines

=> Device drivers

=> Disk driver ioctls

=> Intel video hardware generations

=> Bus drivers

=> AGP (and PCI-express) Graphics Address Re-Mapping Table

=> Bluetooth overview

=> SDHCI MMC Driver

=> The USB stack

=> HaikuDepot and Server Interactions

=> Introduction

=> Process, ProcessNode and Coordinator

=> Bulk Load Processes

=> Process / ProcessNode / Coordinator

=> Failure

=> Concurrency

Proxy Information
Original URL
gemini://lofi.haiku-os.org/docs/develop
Status Code
Success (20)
Meta
text/gemini;lang=en
Capsule Response Time
363.100819 milliseconds
Gemini-to-HTML Time
6.319989 milliseconds

This content has been proxied by September (ba2dc).