# OpenBSD Folder Guide

This folder is the preliminary OpenBSD target layer for `sfxlib`.

It is intentionally thin, matching the `gfxlib2` BSD style where the
shared Unix layer does most of the work and the target directory owns the
small OpenBSD-specific shim.

## Files In This Folder

### `fb_sfx_openbsd.h`
Small OpenBSD backend header.

### `sfx_openbsd.c`
OpenBSD target shim.

Job:
- provides background feed scaffolding for unattended playback
- owns the OpenBSD driver list
- provides weak capture fallbacks only when no concrete driver overrides them

### `sfx_driver_oss.c`
OpenBSD sndio playback and capture driver.

Job:
- opens sndio playback through `SFXLIB_OPENBSD_SNDIO_DEVICE`,
  `SFXLIB_SNDIO_DEVICE`, or the platform default
- writes signed 16-bit native-endian PCM frames generated by the mixer
- opens sndio recording through `SFXLIB_OPENBSD_SNDIO_CAPTURE_DEVICE`,
  `SFXLIB_SNDIO_CAPTURE_DEVICE`, or the selected playback/default device
- reads signed 16-bit native-endian capture frames
- supports raw QEMU audio-device testing with `rsnd/0`
