![]() |
Yume Project 3.0
Touhou-inspired Danmaku game made in C only
|
#include "coroutine/cotask.h"#include "coroutine/coevent.h"#include "coroutine/cosched.h"#include <limits.h>#include "macro.h"Aller au code source de ce fichier.
Macros | |
| #define | TASK_ARGS_TYPE(name) |
| #define | TASK_ARGSDELAY_NAME(name) |
| #define | TASK_ARGSDELAY(name) |
| #define | TASK_ARGSCOND_NAME(name) |
| #define | TASK_ARGSCOND(name) |
| #define | TASK_IFACE_NAME(iface, suffix) |
| #define | TASK_IFACE_ARGS_TYPE(iface) |
| #define | TASK_IFACE_ARGS_SIZED_PTR_TYPE(iface) |
| #define | TASK_INDIRECT_TYPE(iface) |
| #define | TASK_IFACE_SARGS(iface, ...) |
| #define | DEFINE_TASK_INTERFACE(iface, argstruct) |
| #define | DEFINE_TASK_INTERFACE_WITH_BASE(iface, ibase, argstruct) |
| #define | TASK_INDIRECT_TYPE_ALIAS(task) |
| #define | ARGS (*_cotask_args) |
| #define | TASK_ARGS_STRUCT(argstruct) |
| #define | TASK_COMMON_PRIVATE_DECLARATIONS(name) |
| #define | TASK_COMMON_DECLARATIONS(name, argstype, handletype, linkage) |
| #define | TASK_COMMON_THUNK_DEFINITIONS(name, linkage) |
| #define | TASK_COMMON_BEGIN_BODY_DEFINITION(name, linkage) |
| #define | DECLARE_TASK_EXPLICIT(name, argstype, handletype, linkage) |
| #define | DEFINE_TASK_EXPLICIT(name, linkage) |
| #define | DECLARE_TASK(name, ...) |
| #define | DECLARE_TASK_1(name, ...) |
| #define | DECLARE_TASK_0(name) |
| #define | DECLARE_TASK_WITH_INTERFACE(name, iface) |
| #define | DEFINE_TASK(name) |
| #define | TASK(name, ...) |
| #define | TASK_WITH_INTERFACE(name, iface) |
| #define | DECLARE_EXTERN_TASK(name, ...) |
| #define | DECLARE_EXTERN_TASK_1(name, ...) |
| #define | DECLARE_EXTERN_TASK_0(name) |
| #define | DECLARE_EXTERN_TASK_WITH_INTERFACE(name, iface) |
| #define | DEFINE_EXTERN_TASK(name) |
| #define | INVOKE_TASK(_task, ...) |
| #define | INVOKE_SUBTASK(_task, ...) |
| #define | SCHED_INVOKE_TASK(_sched, _task, ...) |
| #define | _internal_INVOKE_TASK(sched, task_constructor, name, ...) |
| #define | INVOKE_TASK_DELAYED(_delay, _task, ...) |
| #define | INVOKE_SUBTASK_DELAYED(_delay, _task, ...) |
| #define | SCHED_INVOKE_TASK_DELAYED(_sched, _delay, _task, ...) |
| #define | _internal_INVOKE_TASK_DELAYED(sched, task_constructor, _delay, name, ...) |
| #define | INVOKE_TASK_WHEN(_event, _task, ...) |
| #define | INVOKE_SUBTASK_WHEN(_event, _task, ...) |
| #define | SCHED_INVOKE_TASK_WHEN(_sched, _event, _task, ...) |
| #define | INVOKE_TASK_AFTER(_event, _task, ...) |
| #define | INVOKE_SUBTASK_AFTER(_event, _task, ...) |
| #define | SCHED_INVOKE_TASK_AFTER(_sched, _event, _task, ...) |
| #define | _internal_INVOKE_TASK_ON_EVENT(sched, task_constructor, is_unconditional, _event, name, ...) |
| #define | CANCEL_TASK_WHEN(_event, _task) |
| #define | CANCEL_TASK_AFTER(_event, _task) |
| #define | CANCEL_TASK(boxed_task) |
| #define | TASK_INDIRECT(iface, task) |
| #define | TASK_INDIRECT_INIT(iface, task) |
| #define | INVOKE_TASK_INDIRECT_(sched, task_constructor, iface, taskhandle, ...) |
| #define | SCHED_INVOKE_TASK_INDIRECT(_sched, _iface, _handle, ...) |
| #define | INVOKE_TASK_INDIRECT(_iface, _handle, ...) |
| #define | INVOKE_SUBTASK_INDIRECT(_iface, _handle, ...) |
| #define | THIS_TASK cotask_box(cotask_active()) |
| #define | TASK_EVENTS(task) |
| #define | TASK_MALLOC(size) |
| #define | THIS_SCHED cotask_get_sched(cotask_active()) |
| #define | TASK_HOST_ENT() |
| #define | TASK_HOST_EVENTS(events_array) |
| #define | YIELD cotask_yield(NULL) |
| #define | WAIT(delay) |
| #define | WAIT_EVENT(e) |
| #define | WAIT_EVENT_OR_DIE(e) |
| #define | WAIT_EVENT_ONCE(e) |
| #define | STALL cotask_wait(INT_MAX) |
| #define | AWAIT_SUBTASKS cotask_wait_substasks() |
| #define | NOT_NULL_OR_DIE(expr) |
| #define | TASK_BIND(ent) |
Fonctions | |
| DECLARE_EXTERN_TASK (_cancel_task_helper, { BoxedTask task;}) | |
| #define _internal_INVOKE_TASK | ( | sched, | |
| task_constructor, | |||
| name, | |||
| ... ) |
| #define _internal_INVOKE_TASK_DELAYED | ( | sched, | |
| task_constructor, | |||
| _delay, | |||
| name, | |||
| ... ) |
| #define _internal_INVOKE_TASK_ON_EVENT | ( | sched, | |
| task_constructor, | |||
| is_unconditional, | |||
| _event, | |||
| name, | |||
| ... ) |
| #define ARGS (*_cotask_args) |
| #define AWAIT_SUBTASKS cotask_wait_substasks() |
| #define CANCEL_TASK | ( | boxed_task | ) |
| #define CANCEL_TASK_AFTER | ( | _event, | |
| _task ) |
| #define CANCEL_TASK_WHEN | ( | _event, | |
| _task ) |
| #define DECLARE_EXTERN_TASK | ( | name, | |
| ... ) |
| #define DECLARE_EXTERN_TASK_0 | ( | name | ) |
| #define DECLARE_EXTERN_TASK_1 | ( | name, | |
| ... ) |
| #define DECLARE_EXTERN_TASK_WITH_INTERFACE | ( | name, | |
| iface ) |
| #define DECLARE_TASK | ( | name, | |
| ... ) |
| #define DECLARE_TASK_0 | ( | name | ) |
| #define DECLARE_TASK_1 | ( | name, | |
| ... ) |
| #define DECLARE_TASK_EXPLICIT | ( | name, | |
| argstype, | |||
| handletype, | |||
| linkage ) |
| #define DECLARE_TASK_WITH_INTERFACE | ( | name, | |
| iface ) |
| #define DEFINE_EXTERN_TASK | ( | name | ) |
| #define DEFINE_TASK | ( | name | ) |
| #define DEFINE_TASK_EXPLICIT | ( | name, | |
| linkage ) |
| #define DEFINE_TASK_INTERFACE | ( | iface, | |
| argstruct ) |
| #define DEFINE_TASK_INTERFACE_WITH_BASE | ( | iface, | |
| ibase, | |||
| argstruct ) |
| #define INVOKE_SUBTASK | ( | _task, | |
| ... ) |
| #define INVOKE_SUBTASK_AFTER | ( | _event, | |
| _task, | |||
| ... ) |
| #define INVOKE_SUBTASK_DELAYED | ( | _delay, | |
| _task, | |||
| ... ) |
| #define INVOKE_SUBTASK_INDIRECT | ( | _iface, | |
| _handle, | |||
| ... ) |
| #define INVOKE_SUBTASK_WHEN | ( | _event, | |
| _task, | |||
| ... ) |
| #define INVOKE_TASK | ( | _task, | |
| ... ) |
| #define INVOKE_TASK_AFTER | ( | _event, | |
| _task, | |||
| ... ) |
| #define INVOKE_TASK_DELAYED | ( | _delay, | |
| _task, | |||
| ... ) |
| #define INVOKE_TASK_INDIRECT | ( | _iface, | |
| _handle, | |||
| ... ) |
| #define INVOKE_TASK_INDIRECT_ | ( | sched, | |
| task_constructor, | |||
| iface, | |||
| taskhandle, | |||
| ... ) |
| #define INVOKE_TASK_WHEN | ( | _event, | |
| _task, | |||
| ... ) |
| #define NOT_NULL_OR_DIE | ( | expr | ) |
| #define SCHED_INVOKE_TASK | ( | _sched, | |
| _task, | |||
| ... ) |
| #define SCHED_INVOKE_TASK_AFTER | ( | _sched, | |
| _event, | |||
| _task, | |||
| ... ) |
| #define SCHED_INVOKE_TASK_DELAYED | ( | _sched, | |
| _delay, | |||
| _task, | |||
| ... ) |
| #define SCHED_INVOKE_TASK_INDIRECT | ( | _sched, | |
| _iface, | |||
| _handle, | |||
| ... ) |
| #define SCHED_INVOKE_TASK_WHEN | ( | _sched, | |
| _event, | |||
| _task, | |||
| ... ) |
| #define STALL cotask_wait(INT_MAX) |
| #define TASK | ( | name, | |
| ... ) |
| #define TASK_ARGS_STRUCT | ( | argstruct | ) |
| #define TASK_ARGS_TYPE | ( | name | ) |
| #define TASK_ARGSCOND | ( | name | ) |
| #define TASK_ARGSCOND_NAME | ( | name | ) |
| #define TASK_ARGSDELAY | ( | name | ) |
| #define TASK_ARGSDELAY_NAME | ( | name | ) |
| #define TASK_BIND | ( | ent | ) |
| #define TASK_COMMON_BEGIN_BODY_DEFINITION | ( | name, | |
| linkage ) |
| #define TASK_COMMON_DECLARATIONS | ( | name, | |
| argstype, | |||
| handletype, | |||
| linkage ) |
| #define TASK_COMMON_PRIVATE_DECLARATIONS | ( | name | ) |
| #define TASK_COMMON_THUNK_DEFINITIONS | ( | name, | |
| linkage ) |
| #define TASK_EVENTS | ( | task | ) |
| #define TASK_HOST_ENT | ( | ) |
| #define TASK_HOST_EVENTS | ( | events_array | ) |
| #define TASK_IFACE_ARGS_SIZED_PTR_TYPE | ( | iface | ) |
| #define TASK_IFACE_ARGS_TYPE | ( | iface | ) |
| #define TASK_IFACE_NAME | ( | iface, | |
| suffix ) |
| #define TASK_IFACE_SARGS | ( | iface, | |
| ... ) |
| #define TASK_INDIRECT | ( | iface, | |
| task ) |
| #define TASK_INDIRECT_INIT | ( | iface, | |
| task ) |
| #define TASK_INDIRECT_TYPE | ( | iface | ) |
| #define TASK_INDIRECT_TYPE_ALIAS | ( | task | ) |
| #define TASK_MALLOC | ( | size | ) |
| #define TASK_WITH_INTERFACE | ( | name, | |
| iface ) |
| #define THIS_SCHED cotask_get_sched(cotask_active()) |
| #define THIS_TASK cotask_box(cotask_active()) |
| #define WAIT | ( | delay | ) |
| #define WAIT_EVENT | ( | e | ) |
| #define WAIT_EVENT_ONCE | ( | e | ) |
| #define WAIT_EVENT_OR_DIE | ( | e | ) |
| #define YIELD cotask_yield(NULL) |
| DECLARE_EXTERN_TASK | ( | _cancel_task_helper | , |
| { BoxedTask task;} | ) |