/*
 * Prelude for the statement fragments in docs/10-embedding.md: the variable
 * exchange, the device lending, and the akgl backends.
 *
 * Each is shown as the two or three lines that matter, so they need a function
 * to sit in and the surrounding declarations to refer to. `e` is the error
 * context the chapter's examples name.
 */
#include <akerror.h>
#include <akbasic/runtime.h>
#include <akbasic/sink.h>
#include <akbasic/ui.h>

static akbasic_Runtime RUNTIME;
static akbasic_GraphicsBackend graphics;
static akbasic_AudioBackend audio;
static akbasic_InputBackend input;
static akbasic_SpriteBackend sprites;
static akbasic_UiBackend ui;

akerr_ErrorContext AKERR_NOIGNORE *akbasic_docs_fragment(void);
akerr_ErrorContext AKERR_NOIGNORE *akbasic_docs_fragment(void)
{
    PREPARE_ERROR(e);
