#pragma once

/**
 * @file ucontext.h
 * @brief Historical alternative to `<sys/ucontext.h>`.
 *
 * New code should use `<sys/ucontext.h>` directly.
 */

#include <sys/ucontext.h>
