RetroArch
|
#include <libco.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
#include <stdint.h>
#include <malloc.h>
Macros | |
#define | LIBCO_C |
Functions | |
__asm__ (".arm\n" ".align 4\n" ".globl co_switch_arm\n" ".globl _co_switch_arm\n" "co_switch_arm:\n" "_co_switch_arm:\n" " stmia r1!, {r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}\n" " ldmia r0!, {r4, r5, r6, r7, r8, r9, r10, r11, sp, pc}\n") | |
void | co_switch_arm (cothread_t handle, cothread_t current) |
cothread_t | co_create (unsigned int size, void(*entrypoint)(void)) |
cothread_t | co_active (void) |
void | co_delete (cothread_t handle) |
void | co_switch (cothread_t handle) |
Variables | |
static thread_local uint32_t | co_active_buffer [64] |
static thread_local cothread_t | co_active_handle |
#define LIBCO_C |
__asm__ | ( | ".arm\n" ".align 4\n" ".globl co_switch_arm\n" ".globl _co_switch_arm\n" "co_switch_arm:\n" "_co_switch_arm:\n" " stmia r1! | , |
{r4, r5, r6, r7, r8, r9, r10, r11, sp, lr}\n" " ldmia r0! | , | ||
{r4, r5, r6, r7, r8, r9, r10, r11, sp, pc}\n" | |||
) |
cothread_t co_active | ( | void | ) |
co_active:
Gets the currently active context.
Returns: active context.
cothread_t co_create | ( | unsigned | int, |
void(*)(void) | |||
) |
co_create: : stack size : thread entry function callback
Create a co_thread.
Returns: cothread if successful, otherwise NULL.
void co_delete | ( | cothread_t | cothread | ) |
co_delete: : cothread object
Frees a co_thread.
void co_switch | ( | cothread_t | cothread | ) |
co_switch: : cothread object to switch to
Do a context switch to .
void co_switch_arm | ( | cothread_t | handle, |
cothread_t | current | ||
) |
|
static |
|
static |