All Classes and Interfaces
Class
Description
union {
unsigned long long __value64;
struct {
unsigned int __low;
unsigned int __high;
} __value32;
}
struct {
unsigned int __low;
unsigned int __high;
}
typedef int (*__compar_fn_t)(const void *, const void *)
The function pointer signature, expressed as a functional interface
struct {
int __val[2];
}
struct __locale_struct {
struct __locale_data *__locales[13];
const unsigned short *__ctype_b;
const int *__ctype_tolower;
const int *__ctype_toupper;
const char *__names[13];
}
struct {
int __data;
}
struct __pthread_cond_s {
__atomic_wide_counter __wseq;
__atomic_wide_counter __g1_start;
unsigned int __g_refs[2];
unsigned int __g_size[2];
unsigned int __g1_orig_size;
unsigned int __wrefs;
unsigned int __g_signals[2];
}
struct __pthread_internal_list {
struct __pthread_internal_list *__prev;
struct __pthread_internal_list *__next;
}
struct __pthread_internal_slist {
struct __pthread_internal_slist *__next;
}
typedef struct __pthread_internal_list {
struct __pthread_internal_list *__prev;
struct __pthread_internal_list *__next;
} __pthread_list_t
struct __pthread_mutex_s {
int __lock;
unsigned int __count;
int __owner;
unsigned int __nusers;
int __kind;
short __spins;
short __elision;
__pthread_list_t __list;
}
struct __pthread_rwlock_arch_t {
unsigned int __readers;
unsigned int __writers;
unsigned int __wrphase_futex;
unsigned int __writers_futex;
unsigned int __pad3;
unsigned int __pad4;
int __cur_writer;
int __shared;
signed char __rwelision;
unsigned char __pad1[7];
unsigned long __pad2;
unsigned int __flags;
}
typedef struct __pthread_internal_slist {
struct __pthread_internal_slist *__next;
} __pthread_slist_t
struct {
unsigned long __val[16];
}
void (*__func)(void)
The function pointer signature, expressed as a functional interface
void (*__func)(void)
The function pointer signature, expressed as a functional interface
struct {
int quot;
int rem;
}
struct drand48_data {
unsigned short __x[3];
unsigned short __old_x[3];
unsigned short __c;
unsigned short __init;
unsigned long long __a;
}
struct ecs_alert_desc_t {
int32_t _canary;
ecs_entity_t entity;
ecs_query_desc_t query;
const char *message;
const char *doc_name;
const char *brief;
ecs_entity_t severity;
ecs_alert_severity_filter_t severity_filters[4];
float retain_period;
ecs_entity_t member;
ecs_id_t id;
const char *var;
}
struct ecs_alert_severity_filter_t {
ecs_entity_t severity;
ecs_id_t with;
const char *var;
int32_t _var_index;
}
struct {
ecs_size_t bytes_graph_edge;
ecs_size_t bytes_component_record;
ecs_size_t bytes_pair_record;
ecs_size_t bytes_table_diff;
ecs_size_t bytes_sparse_chunk;
ecs_size_t bytes_allocator;
ecs_size_t bytes_stack_allocator;
ecs_size_t bytes_cmd_entry_chunk;
ecs_size_t bytes_query_impl;
ecs_size_t bytes_query_cache;
ecs_size_t bytes_misc;
}
struct ecs_allocator_t {
ecs_block_allocator_t chunks;
struct ecs_sparse_t sizes;
}
struct ecs_app_desc_t {
float target_fps;
float delta_time;
int32_t threads;
int32_t frames;
_Bool enable_rest;
_Bool enable_stats;
uint16_t port;
ecs_app_init_action_t init;
void *ctx;
}
typedef int (*ecs_app_frame_action_t)(ecs_world_t *, const ecs_app_desc_t *)
The function pointer signature, expressed as a functional interface
typedef int (*ecs_app_init_action_t)(ecs_world_t *)
The function pointer signature, expressed as a functional interface
typedef int (*ecs_app_run_action_t)(ecs_world_t *, ecs_app_desc_t *)
The function pointer signature, expressed as a functional interface
struct ecs_array_desc_t {
ecs_entity_t entity;
ecs_entity_t type;
int32_t count;
}
struct ecs_bitmask_constant_t {
const char *name;
ecs_flags64_t value;
int64_t _unused;
ecs_entity_t constant;
}
struct ecs_bitmask_desc_t {
ecs_entity_t entity;
ecs_bitmask_constant_t constants[32];
}
struct ecs_block_allocator_block_t {
void *memory;
struct ecs_block_allocator_block_t *next;
}
struct ecs_block_allocator_chunk_header_t {
struct ecs_block_allocator_chunk_header_t *next;
}
struct ecs_block_allocator_t {
int32_t data_size;
int32_t chunk_size;
int32_t chunks_per_block;
int32_t block_size;
ecs_block_allocator_chunk_header_t *head;
ecs_block_allocator_block_t *block_head;
}
struct ecs_bucket_entry_t {
ecs_map_key_t key;
ecs_map_val_t value;
struct ecs_bucket_entry_t *next;
}
struct ecs_bucket_t {
ecs_bucket_entry_t *first;
}
struct ecs_build_info_t {
const char *compiler;
const char **addons;
const char **flags;
const char *version;
int16_t version_major;
int16_t version_minor;
int16_t version_patch;
_Bool debug;
_Bool sanitize;
_Bool perf_trace;
}
struct ecs_bulk_desc_t {
int32_t _canary;
ecs_entity_t *entities;
int32_t count;
ecs_id_t ids[32];
void **data;
ecs_table_t *table;
}
typedef int (*ecs_cmp_t)(const void *, const void *, const ecs_type_info_t *)
The function pointer signature, expressed as a functional interface
struct ecs_commands_t {
ecs_vec_t queue;
ecs_stack_t stack;
ecs_sparse_t entries;
}
typedef int (*ecs_compare_action_t)(const void *, const void *)
The function pointer signature, expressed as a functional interface
struct ecs_component_desc_t {
int32_t _canary;
ecs_entity_t entity;
ecs_type_info_t type;
}
struct {
int32_t count;
ecs_size_t bytes_component_record;
ecs_size_t bytes_table_cache;
ecs_size_t bytes_name_index;
ecs_size_t bytes_ordered_children;
ecs_size_t bytes_reachable_cache;
}
struct {
int32_t instances;
ecs_size_t bytes_table_components;
ecs_size_t bytes_table_components_unused;
ecs_size_t bytes_toggle_bitsets;
ecs_size_t bytes_sparse_components;
}
struct ecs_const_var_desc_t {
const char *name;
ecs_entity_t parent;
ecs_entity_t type;
void *value;
}
typedef void (*ecs_copy_t)(void *, const void *, int32_t, const ecs_type_info_t *)
The function pointer signature, expressed as a functional interface
struct ecs_counter_t {
ecs_gauge_t rate;
double value[60];
}
struct ecs_cpp_get_mut_t {
void *ptr;
_Bool call_modified;
}
typedef void (*ecs_ctx_free_t)(void *)
The function pointer signature, expressed as a functional interface
struct ecs_delete_empty_tables_desc_t {
uint16_t clear_generation;
uint16_t delete_generation;
double time_budget_seconds;
}
struct ecs_each_iter_t {
ecs_table_cache_iter_t it;
ecs_id_t ids;
ecs_entity_t sources;
ecs_size_t sizes;
int32_t columns;
const ecs_table_record_t *trs;
}
struct {
int32_t alive_count;
int32_t not_alive_count;
ecs_size_t bytes_entity_index;
ecs_size_t bytes_names;
ecs_size_t bytes_doc_strings;
}
struct ecs_entities_t {
const ecs_entity_t *ids;
int32_t count;
int32_t alive_count;
}
struct ecs_entity_desc_t {
int32_t _canary;
ecs_entity_t id;
ecs_entity_t parent;
const char *name;
const char *sep;
const char *root_sep;
const char *symbol;
_Bool use_low_id;
const ecs_id_t *add;
const ecs_value_t *set;
const char *add_expr;
}
struct ecs_entity_to_json_desc_t {
_Bool serialize_entity_id;
_Bool serialize_doc;
_Bool serialize_full_paths;
_Bool serialize_inherited;
_Bool serialize_values;
_Bool serialize_builtin;
_Bool serialize_type_info;
_Bool serialize_alerts;
ecs_entity_t serialize_refs;
_Bool serialize_matches;
_Bool (*component_filter)(const ecs_world_t *, ecs_entity_t);
}
_Bool (*component_filter)(const ecs_world_t *, ecs_entity_t)
The function pointer signature, expressed as a functional interface
struct ecs_enum_constant_t {
const char *name;
int64_t value;
uint64_t value_unsigned;
ecs_entity_t constant;
}
struct ecs_enum_desc_t {
ecs_entity_t entity;
ecs_enum_constant_t constants[32];
ecs_entity_t underlying_type;
}
typedef _Bool (*ecs_equals_t)(const void *, const void *, const ecs_type_info_t *)
The function pointer signature, expressed as a functional interface
struct ecs_event_desc_t {
ecs_entity_t event;
const ecs_type_t *ids;
ecs_table_t *table;
ecs_table_t *other_table;
int32_t offset;
int32_t count;
ecs_entity_t entity;
void *param;
const void *const_param;
ecs_poly_t *observable;
ecs_flags32_t flags;
}
struct ecs_event_record_t {
struct ecs_event_id_record_t *any;
struct ecs_event_id_record_t *wildcard;
struct ecs_event_id_record_t *wildcard_pair;
ecs_map_t event_ids;
ecs_entity_t event;
}
struct ecs_expr_eval_desc_t {
const char *name;
const char *expr;
const ecs_script_vars_t *vars;
ecs_entity_t type;
ecs_entity_t (*lookup_action)(const ecs_world_t *, const char *, void *);
void *lookup_ctx;
_Bool disable_folding;
_Bool disable_dynamic_variable_binding;
_Bool allow_unresolved_identifiers;
ecs_script_runtime_t *runtime;
void *script_visitor;
}
ecs_entity_t (*lookup_action)(const ecs_world_t *, const char *, void *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_fini_action_t)(ecs_world_t *, void *)
The function pointer signature, expressed as a functional interface
struct ecs_from_json_desc_t {
const char *name;
const char *expr;
ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *);
void *lookup_ctx;
_Bool strict;
}
ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_function_callback_t)(const ecs_function_ctx_t *, int32_t, const ecs_value_t *, ecs_value_t *)
The function pointer signature, expressed as a functional interface
struct ecs_function_ctx_t {
ecs_world_t *world;
ecs_entity_t function;
void *ctx;
}
struct ecs_function_desc_t {
const char *name;
ecs_entity_t parent;
ecs_script_parameter_t params[16];
ecs_entity_t return_type;
ecs_function_callback_t callback;
void *ctx;
}
struct ecs_gauge_t {
float avg[60];
float min[60];
float max[60];
}
typedef uint64_t (*ecs_group_by_action_t)(ecs_world_t *, ecs_table_t *, ecs_id_t, void *)
The function pointer signature, expressed as a functional interface
typedef void *(*ecs_group_create_action_t)(ecs_world_t *, uint64_t, void *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_group_delete_action_t)(ecs_world_t *, uint64_t, void *, void *)
The function pointer signature, expressed as a functional interface
typedef uint64_t (*ecs_hash_value_action_t)(const void *)
The function pointer signature, expressed as a functional interface
struct {
ecs_hash_value_action_t hash;
ecs_compare_action_t compare;
ecs_size_t key_size;
ecs_size_t value_size;
ecs_map_t impl;
}
struct ecs_header_t {
int32_t type;
int32_t refcount;
ecs_mixins_t *mixins;
}
struct {
ecs_vec_t keys;
ecs_vec_t values;
}
struct {
uint64_t id;
ecs_http_server_t *server;
char host[128];
char port[16];
}
struct {
const char *key;
const char *value;
}
typedef _Bool (*ecs_http_reply_action_t)(const ecs_http_request_t *, ecs_http_reply_t *, void *)
The function pointer signature, expressed as a functional interface
struct {
int code;
ecs_strbuf_t body;
const char *status;
const char *content_type;
ecs_strbuf_t headers;
}
struct {
uint64_t id;
ecs_http_method_t method;
char *path;
char *body;
ecs_http_key_value_t headers[32];
ecs_http_key_value_t params[32];
int32_t header_count;
int32_t param_count;
ecs_http_connection_t *conn;
}
struct {
ecs_http_reply_action_t callback;
void *ctx;
uint16_t port;
const char *ipaddr;
int32_t send_queue_wait_ms;
double cache_timeout;
double cache_purge_timeout;
}
typedef void (*ecs_iter_action_t)(ecs_iter_t *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_iter_fini_action_t)(ecs_iter_t *)
The function pointer signature, expressed as a functional interface
typedef _Bool (*ecs_iter_next_action_t)(ecs_iter_t *)
The function pointer signature, expressed as a functional interface
struct ecs_iter_private_t {
union {
ecs_query_iter_t query;
ecs_page_iter_t page;
ecs_worker_iter_t worker;
ecs_each_iter_t each;
} iter;
void *entity_iter;
ecs_stack_cursor_t *stack_cursor;
}
union {
ecs_query_iter_t query;
ecs_page_iter_t page;
ecs_worker_iter_t worker;
ecs_each_iter_t each;
}
struct ecs_iter_t {
ecs_world_t *world;
ecs_world_t *real_world;
int32_t offset;
int32_t count;
const ecs_entity_t *entities;
void **ptrs;
const ecs_table_record_t **trs;
const ecs_size_t *sizes;
ecs_table_t *table;
ecs_table_t *other_table;
ecs_id_t *ids;
ecs_entity_t *sources;
ecs_flags64_t constrained_vars;
ecs_flags32_t set_fields;
ecs_flags32_t ref_fields;
ecs_flags32_t row_fields;
ecs_flags32_t up_fields;
ecs_entity_t system;
ecs_entity_t event;
ecs_id_t event_id;
int32_t event_cur;
int8_t field_count;
int8_t term_index;
const ecs_query_t *query;
void *param;
void *ctx;
void *binding_ctx;
void *callback_ctx;
void *run_ctx;
float delta_time;
float delta_system_time;
int32_t frame_offset;
ecs_flags32_t flags;
ecs_entity_t interrupted_by;
ecs_iter_private_t priv_;
ecs_iter_next_action_t next;
ecs_iter_action_t callback;
ecs_iter_fini_action_t fini;
ecs_iter_t *chain_it;
}
struct ecs_iter_to_json_desc_t {
_Bool serialize_entity_ids;
_Bool serialize_values;
_Bool serialize_builtin;
_Bool serialize_doc;
_Bool serialize_full_paths;
_Bool serialize_fields;
_Bool serialize_inherited;
_Bool serialize_table;
_Bool serialize_type_info;
_Bool serialize_field_info;
_Bool serialize_query_info;
_Bool serialize_query_plan;
_Bool serialize_query_profile;
_Bool dont_serialize_results;
_Bool serialize_alerts;
ecs_entity_t serialize_refs;
_Bool serialize_matches;
_Bool (*component_filter)(const ecs_world_t *, ecs_entity_t);
ecs_poly_t *query;
}
_Bool (*component_filter)(const ecs_world_t *, ecs_entity_t)
The function pointer signature, expressed as a functional interface
struct ecs_map_iter_t {
const ecs_map_t *map;
ecs_bucket_t *bucket;
ecs_bucket_entry_t *entry;
ecs_map_data_t *res;
}
struct ecs_map_params_t {
struct ecs_allocator_t *allocator;
}
struct ecs_map_t {
ecs_bucket_t *buckets;
int32_t bucket_count;
unsigned int count : 26;
unsigned int bucket_shift : 6;
struct ecs_allocator_t *allocator;
}
struct ecs_member_t {
const char *name;
ecs_entity_t type;
int32_t count;
int32_t offset;
ecs_entity_t unit;
_Bool use_offset;
ecs_member_value_range_t range;
ecs_member_value_range_t error_range;
ecs_member_value_range_t warning_range;
ecs_size_t size;
ecs_entity_t member;
}
struct ecs_member_value_range_t {
double min;
double max;
}
struct ecs_meta_cursor_t {
const ecs_world_t *world;
ecs_meta_scope_t scope[32];
int16_t depth;
_Bool valid;
_Bool is_primitive_scope;
ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *);
void *lookup_ctx;
}
ecs_entity_t (*lookup_action)(ecs_world_t *, const char *, void *)
The function pointer signature, expressed as a functional interface
struct ecs_meta_op_t {
ecs_meta_op_kind_t kind;
ecs_meta_op_kind_t underlying_kind;
ecs_size_t offset;
const char *name;
ecs_size_t elem_size;
int16_t op_count;
int16_t member_index;
ecs_entity_t type;
const ecs_type_info_t *type_info;
union {
ecs_hashmap_t *members;
ecs_map_t *constants;
ecs_meta_serialize_t opaque;
} is;
}
union {
ecs_hashmap_t *members;
ecs_map_t *constants;
ecs_meta_serialize_t opaque;
}
struct ecs_meta_scope_t {
ecs_entity_t type;
ecs_meta_op_t *ops;
int16_t ops_count;
int16_t ops_cur;
int16_t prev_depth;
void *ptr;
const EcsOpaque *opaque;
ecs_hashmap_t *members;
_Bool is_collection;
_Bool is_empty_scope;
_Bool is_moved_scope;
int32_t elem;
int32_t elem_count;
}
typedef int (*ecs_meta_serialize_element_t)(const ecs_serializer_t *, const void *, size_t)
The function pointer signature, expressed as a functional interface
typedef int (*ecs_meta_serialize_member_t)(const ecs_serializer_t *, const void *, const char *)
The function pointer signature, expressed as a functional interface
typedef int (*ecs_meta_serialize_t)(const ecs_serializer_t *, const void *)
The function pointer signature, expressed as a functional interface
struct ecs_metric_desc_t {
int32_t _canary;
ecs_entity_t entity;
ecs_entity_t member;
const char *dotmember;
ecs_id_t id;
_Bool targets;
ecs_entity_t kind;
const char *brief;
}
union ecs_metric_t {
ecs_gauge_t gauge;
ecs_counter_t counter;
}
struct {
ecs_size_t bytes_world;
ecs_size_t bytes_observers;
ecs_size_t bytes_systems;
ecs_size_t bytes_pipelines;
ecs_size_t bytes_table_lookup;
ecs_size_t bytes_component_record_lookup;
ecs_size_t bytes_type_info;
ecs_size_t bytes_commands;
ecs_size_t bytes_rematch_monitor;
ecs_size_t bytes_component_ids;
ecs_size_t bytes_reflection;
ecs_size_t bytes_stats;
ecs_size_t bytes_rest;
}
typedef void (*ecs_module_action_t)(ecs_world_t *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_move_t)(void *, void *, int32_t, const ecs_type_info_t *)
The function pointer signature, expressed as a functional interface
struct ecs_observable_t {
ecs_event_record_t on_add;
ecs_event_record_t on_remove;
ecs_event_record_t on_set;
ecs_event_record_t on_wildcard;
ecs_sparse_t events;
uint64_t last_observer_id;
}
struct ecs_observer_desc_t {
int32_t _canary;
ecs_entity_t entity;
ecs_query_desc_t query;
ecs_entity_t events[8];
_Bool yield_existing;
ecs_iter_action_t callback;
ecs_run_action_t run;
void *ctx;
ecs_ctx_free_t ctx_free;
void *callback_ctx;
ecs_ctx_free_t callback_ctx_free;
void *run_ctx;
ecs_ctx_free_t run_ctx_free;
int32_t *last_event_id;
int8_t term_index_;
ecs_flags32_t flags_;
}
struct ecs_observer_t {
ecs_header_t hdr;
ecs_query_t *query;
ecs_entity_t events[8];
int32_t event_count;
ecs_iter_action_t callback;
ecs_run_action_t run;
void *ctx;
void *callback_ctx;
void *run_ctx;
ecs_ctx_free_t ctx_free;
ecs_ctx_free_t callback_ctx_free;
ecs_ctx_free_t run_ctx_free;
ecs_observable_t *observable;
ecs_world_t *world;
ecs_entity_t entity;
}
struct ecs_opaque_desc_t {
ecs_entity_t entity;
EcsOpaque type;
}
typedef int (*ecs_order_by_action_t)(ecs_entity_t, const void *, ecs_entity_t, const void *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_abort_t)(void)
The function pointer signature, expressed as a functional interface
typedef int32_t (*ecs_os_api_ainc_t)(int32_t *)
The function pointer signature, expressed as a functional interface
typedef void *(*ecs_os_api_calloc_t)(ecs_size_t)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_cond_broadcast_t)(ecs_os_cond_t)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_cond_free_t)(ecs_os_cond_t)
The function pointer signature, expressed as a functional interface
typedef ecs_os_cond_t (*ecs_os_api_cond_new_t)(void)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_cond_signal_t)(ecs_os_cond_t)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_cond_wait_t)(ecs_os_cond_t, ecs_os_mutex_t)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_dlclose_t)(ecs_os_dl_t)
The function pointer signature, expressed as a functional interface
typedef ecs_os_dl_t (*ecs_os_api_dlopen_t)(const char *)
The function pointer signature, expressed as a functional interface
typedef ecs_os_proc_t (*ecs_os_api_dlproc_t)(ecs_os_dl_t, const char *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_enable_high_timer_resolution_t)(_Bool)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_fini_t)(void)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_free_t)(void *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_get_time_t)(ecs_time_t *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_init_t)(void)
The function pointer signature, expressed as a functional interface
typedef int64_t (*ecs_os_api_lainc_t)(int64_t *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_log_t)(int32_t, const char *, int32_t, const char *)
The function pointer signature, expressed as a functional interface
typedef void *(*ecs_os_api_malloc_t)(ecs_size_t)
The function pointer signature, expressed as a functional interface
typedef char *(*ecs_os_api_module_to_path_t)(const char *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_mutex_free_t)(ecs_os_mutex_t)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_mutex_lock_t)(ecs_os_mutex_t)
The function pointer signature, expressed as a functional interface
typedef ecs_os_mutex_t (*ecs_os_api_mutex_new_t)(void)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_mutex_unlock_t)(ecs_os_mutex_t)
The function pointer signature, expressed as a functional interface
typedef uint64_t (*ecs_os_api_now_t)(void)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_perf_trace_t)(const char *, size_t, const char *)
The function pointer signature, expressed as a functional interface
typedef void *(*ecs_os_api_realloc_t)(void *, ecs_size_t)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_api_sleep_t)(int32_t, int32_t)
The function pointer signature, expressed as a functional interface
typedef char *(*ecs_os_api_strdup_t)(const char *)
The function pointer signature, expressed as a functional interface
struct ecs_os_api_t {
ecs_os_api_init_t init_;
ecs_os_api_fini_t fini_;
ecs_os_api_malloc_t malloc_;
ecs_os_api_realloc_t realloc_;
ecs_os_api_calloc_t calloc_;
ecs_os_api_free_t free_;
ecs_os_api_strdup_t strdup_;
ecs_os_api_thread_new_t thread_new_;
ecs_os_api_thread_join_t thread_join_;
ecs_os_api_thread_self_t thread_self_;
ecs_os_api_thread_new_t task_new_;
ecs_os_api_thread_join_t task_join_;
ecs_os_api_ainc_t ainc_;
ecs_os_api_ainc_t adec_;
ecs_os_api_lainc_t lainc_;
ecs_os_api_lainc_t ladec_;
ecs_os_api_mutex_new_t mutex_new_;
ecs_os_api_mutex_free_t mutex_free_;
ecs_os_api_mutex_lock_t mutex_lock_;
ecs_os_api_mutex_lock_t mutex_unlock_;
ecs_os_api_cond_new_t cond_new_;
ecs_os_api_cond_free_t cond_free_;
ecs_os_api_cond_signal_t cond_signal_;
ecs_os_api_cond_broadcast_t cond_broadcast_;
ecs_os_api_cond_wait_t cond_wait_;
ecs_os_api_sleep_t sleep_;
ecs_os_api_now_t now_;
ecs_os_api_get_time_t get_time_;
ecs_os_api_log_t log_;
ecs_os_api_abort_t abort_;
ecs_os_api_dlopen_t dlopen_;
ecs_os_api_dlproc_t dlproc_;
ecs_os_api_dlclose_t dlclose_;
ecs_os_api_module_to_path_t module_to_dl_;
ecs_os_api_module_to_path_t module_to_etc_;
ecs_os_api_perf_trace_t perf_trace_push_;
ecs_os_api_perf_trace_t perf_trace_pop_;
int32_t log_level_;
int32_t log_indent_;
int32_t log_last_error_;
int64_t log_last_timestamp_;
ecs_flags32_t flags_;
void *log_out_;
}
typedef void *(*ecs_os_api_task_join_t)(ecs_os_thread_t)
The function pointer signature, expressed as a functional interface
typedef ecs_os_thread_t (*ecs_os_api_task_new_t)(ecs_os_thread_callback_t, void *)
The function pointer signature, expressed as a functional interface
typedef void *(*ecs_os_api_thread_join_t)(ecs_os_thread_t)
The function pointer signature, expressed as a functional interface
typedef ecs_os_thread_t (*ecs_os_api_thread_new_t)(ecs_os_thread_callback_t, void *)
The function pointer signature, expressed as a functional interface
typedef ecs_os_thread_id_t (*ecs_os_api_thread_self_t)(void)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_os_proc_t)(void)
The function pointer signature, expressed as a functional interface
typedef void *(*ecs_os_thread_callback_t)(void *)
The function pointer signature, expressed as a functional interface
struct ecs_page_iter_t {
int32_t offset;
int32_t limit;
int32_t remaining;
}
struct ecs_pipeline_desc_t {
ecs_entity_t entity;
ecs_query_desc_t query;
}
struct ecs_pipeline_stats_t {
int8_t canary_;
ecs_vec_t systems;
ecs_vec_t sync_points;
int32_t t;
int32_t system_count;
int32_t active_system_count;
int32_t rebuild_count;
}
struct ecs_primitive_desc_t {
ecs_entity_t entity;
ecs_primitive_kind_t kind;
}
struct ecs_query_count_t {
int32_t results;
int32_t entities;
int32_t tables;
}
struct ecs_query_desc_t {
int32_t _canary;
ecs_term_t terms[32];
const char *expr;
ecs_query_cache_kind_t cache_kind;
ecs_flags32_t flags;
ecs_order_by_action_t order_by_callback;
ecs_sort_table_action_t order_by_table_callback;
ecs_entity_t order_by;
ecs_id_t group_by;
ecs_group_by_action_t group_by_callback;
ecs_group_create_action_t on_group_create;
ecs_group_delete_action_t on_group_delete;
void *group_by_ctx;
ecs_ctx_free_t group_by_ctx_free;
void *ctx;
void *binding_ctx;
ecs_ctx_free_t ctx_free;
ecs_ctx_free_t binding_ctx_free;
ecs_entity_t entity;
}
struct ecs_query_group_info_t {
uint64_t id;
int32_t match_count;
int32_t table_count;
void *ctx;
}
struct ecs_query_iter_t {
struct ecs_var_t *vars;
const struct ecs_query_var_t *query_vars;
const struct ecs_query_op_t *ops;
struct ecs_query_op_ctx_t *op_ctx;
uint64_t *written;
ecs_query_cache_group_t *group;
ecs_vec_t *tables;
ecs_vec_t *all_tables;
ecs_query_cache_match_t *elem;
int32_t cur;
int32_t all_cur;
ecs_query_op_profile_t *profile;
int16_t op;
_Bool iter_single_group;
}
struct {
int32_t count;
int32_t cached_count;
ecs_size_t bytes_query;
ecs_size_t bytes_cache;
ecs_size_t bytes_group_by;
ecs_size_t bytes_order_by;
ecs_size_t bytes_plan;
ecs_size_t bytes_terms;
ecs_size_t bytes_misc;
}
struct ecs_query_op_profile_t {
int32_t count[2];
}
struct ecs_query_stats_t {
int64_t first_;
ecs_metric_t result_count;
ecs_metric_t matched_table_count;
ecs_metric_t matched_entity_count;
int64_t last_;
int32_t t;
}
struct ecs_query_t {
ecs_header_t hdr;
ecs_term_t *terms;
int32_t *sizes;
ecs_id_t *ids;
uint64_t bloom_filter;
ecs_flags32_t flags;
int8_t var_count;
int8_t term_count;
int8_t field_count;
ecs_flags32_t fixed_fields;
ecs_flags32_t var_fields;
ecs_flags32_t static_id_fields;
ecs_flags32_t data_fields;
ecs_flags32_t write_fields;
ecs_flags32_t read_fields;
ecs_flags32_t row_fields;
ecs_flags32_t shared_readonly_fields;
ecs_flags32_t set_fields;
ecs_query_cache_kind_t cache_kind;
char **vars;
void *ctx;
void *binding_ctx;
ecs_entity_t entity;
ecs_world_t *real_world;
ecs_world_t *world;
int32_t eval_count;
}
struct ecs_record_t {
ecs_component_record_t *cr;
ecs_table_t *table;
uint32_t row;
int32_t dense;
}
struct ecs_ref_t {
ecs_entity_t entity;
ecs_entity_t id;
uint64_t table_id;
uint32_t table_version_fast;
uint16_t table_version;
ecs_record_t *record;
void *ptr;
}
struct {
ecs_world_t *world;
ecs_http_server_t *srv;
int32_t rc;
ecs_map_t cmd_captures;
double last_time;
}
typedef void (*ecs_run_action_t)(ecs_iter_t *)
The function pointer signature, expressed as a functional interface
struct ecs_script_desc_t {
ecs_entity_t entity;
const char *filename;
const char *code;
}
struct ecs_script_eval_desc_t {
ecs_script_vars_t *vars;
ecs_script_runtime_t *runtime;
}
struct ecs_script_eval_result_t {
char *error;
}
struct ecs_script_parameter_t {
const char *name;
ecs_entity_t type;
}
struct ecs_script_t {
ecs_world_t *world;
const char *name;
const char *code;
}
struct ecs_script_var_t {
const char *name;
ecs_value_t value;
const ecs_type_info_t *type_info;
int32_t sp;
_Bool is_const;
}
struct ecs_script_vars_t {
struct ecs_script_vars_t *parent;
int32_t sp;
ecs_hashmap_t var_index;
ecs_vec_t vars;
const ecs_world_t *world;
struct ecs_stack_t *stack;
ecs_stack_cursor_t *cursor;
ecs_allocator_t *allocator;
}
struct ecs_serializer_t {
int (*value)(const struct ecs_serializer_t *, ecs_entity_t, const void *);
int (*member)(const struct ecs_serializer_t *, const char *);
const ecs_world_t *world;
void *ctx;
}
int (*member)(const struct ecs_serializer_t *, const char *)
The function pointer signature, expressed as a functional interface
int (*value)(const struct ecs_serializer_t *, ecs_entity_t, const void *)
The function pointer signature, expressed as a functional interface
typedef void (*ecs_sort_table_action_t)(ecs_world_t *, ecs_table_t *, ecs_entity_t *, void *, int32_t, int32_t, int32_t, ecs_order_by_action_t)
The function pointer signature, expressed as a functional interface
struct ecs_sparse_page_t {
int32_t *sparse;
void *data;
}
struct ecs_sparse_t {
ecs_vec_t dense;
ecs_vec_t pages;
ecs_size_t size;
int32_t count;
uint64_t max_id;
struct ecs_allocator_t *allocator;
struct ecs_block_allocator_t *page_allocator;
}
struct ecs_stack_cursor_t {
struct ecs_stack_cursor_t *prev;
struct ecs_stack_page_t *page;
int16_t sp;
_Bool is_free;
struct ecs_stack_t *owner;
}
struct ecs_stack_page_t {
void *data;
struct ecs_stack_page_t *next;
int16_t sp;
uint32_t id;
}
struct ecs_stack_t {
ecs_stack_page_t *first;
ecs_stack_page_t *tail_page;
ecs_stack_cursor_t *tail_cursor;
int32_t cursor_count;
}
struct ecs_strbuf_list_elem {
int32_t count;
const char *separator;
}
struct ecs_strbuf_t {
char *content;
ecs_size_t length;
ecs_size_t size;
ecs_strbuf_list_elem list_stack[32];
int32_t list_sp;
char small_string[512];
}
struct ecs_struct_desc_t {
ecs_entity_t entity;
ecs_member_t members[32];
}
struct ecs_suspend_readonly_state_t {
_Bool is_readonly;
_Bool is_deferred;
_Bool cmd_flushing;
int32_t defer_count;
ecs_entity_t scope;
ecs_entity_t with;
ecs_commands_t cmd_stack[2];
ecs_commands_t *cmd;
ecs_stage_t *stage;
}
struct ecs_sync_stats_t {
int64_t first_;
ecs_metric_t time_spent;
ecs_metric_t commands_enqueued;
int64_t last_;
int32_t system_count;
_Bool multi_threaded;
_Bool immediate;
}
struct ecs_system_desc_t {
int32_t _canary;
ecs_entity_t entity;
ecs_query_desc_t query;
ecs_iter_action_t callback;
ecs_run_action_t run;
void *ctx;
ecs_ctx_free_t ctx_free;
void *callback_ctx;
ecs_ctx_free_t callback_ctx_free;
void *run_ctx;
ecs_ctx_free_t run_ctx_free;
float interval;
int32_t rate;
ecs_entity_t tick_source;
_Bool multi_threaded;
_Bool immediate;
}
struct ecs_system_stats_t {
int64_t first_;
ecs_metric_t time_spent;
int64_t last_;
_Bool task;
ecs_query_stats_t query;
}
struct ecs_system_t {
ecs_header_t hdr;
ecs_run_action_t run;
ecs_iter_action_t action;
ecs_query_t *query;
ecs_entity_t tick_source;
_Bool multi_threaded;
_Bool immediate;
const char *name;
void *ctx;
void *callback_ctx;
void *run_ctx;
ecs_ctx_free_t ctx_free;
ecs_ctx_free_t callback_ctx_free;
ecs_ctx_free_t run_ctx_free;
float time_spent;
float time_passed;
int64_t last_frame;
flecs_poly_dtor_t dtor;
}
struct ecs_table_cache_hdr_t {
struct ecs_component_record_t *cr;
ecs_table_t *table;
struct ecs_table_cache_hdr_t *prev;
struct ecs_table_cache_hdr_t *next;
}
struct ecs_table_cache_iter_t {
const struct ecs_table_cache_hdr_t *cur, *next;
_Bool iter_fill;
_Bool iter_empty;
}
struct ecs_table_diff_t {
ecs_type_t added;
ecs_type_t removed;
ecs_flags32_t added_flags;
ecs_flags32_t removed_flags;
}
struct {
int32_t entity_counts[14];
}
struct {
int32_t count;
int32_t empty_count;
int32_t column_count;
ecs_size_t bytes_table;
ecs_size_t bytes_type;
ecs_size_t bytes_entities;
ecs_size_t bytes_overrides;
ecs_size_t bytes_columns;
ecs_size_t bytes_table_records;
ecs_size_t bytes_column_map;
ecs_size_t bytes_component_map;
ecs_size_t bytes_dirty_state;
ecs_size_t bytes_edges;
}
struct ecs_table_range_t {
ecs_table_t *table;
int32_t offset;
int32_t count;
}
struct ecs_table_record_t {
ecs_table_cache_hdr_t hdr;
int16_t index;
int16_t count;
int16_t column;
}
struct ecs_table_records_t {
const ecs_table_record_t *array;
int32_t count;
}
struct ecs_term_ref_t {
ecs_entity_t id;
const char *name;
}
struct ecs_term_t {
ecs_id_t id;
ecs_term_ref_t src;
ecs_term_ref_t first;
ecs_term_ref_t second;
ecs_entity_t trav;
int16_t inout;
int16_t oper;
int8_t field_index;
ecs_flags16_t flags_;
}
struct ecs_time_t {
uint32_t sec;
uint32_t nanosec;
}
struct ecs_type_hooks_t {
ecs_xtor_t ctor;
ecs_xtor_t dtor;
ecs_copy_t copy;
ecs_move_t move;
ecs_copy_t copy_ctor;
ecs_move_t move_ctor;
ecs_move_t ctor_move_dtor;
ecs_move_t move_dtor;
ecs_cmp_t cmp;
ecs_equals_t equals;
ecs_flags32_t flags;
ecs_iter_action_t on_add;
ecs_iter_action_t on_set;
ecs_iter_action_t on_remove;
ecs_iter_action_t on_replace;
void *ctx;
void *binding_ctx;
void *lifecycle_ctx;
ecs_ctx_free_t ctx_free;
ecs_ctx_free_t binding_ctx_free;
ecs_ctx_free_t lifecycle_ctx_free;
}
struct ecs_type_info_t {
ecs_size_t size;
ecs_size_t alignment;
ecs_type_hooks_t hooks;
ecs_entity_t component;
const char *name;
}
struct {
ecs_id_t *array;
int32_t count;
}
struct ecs_unit_desc_t {
ecs_entity_t entity;
const char *symbol;
ecs_entity_t quantity;
ecs_entity_t base;
ecs_entity_t over;
ecs_unit_translation_t translation;
ecs_entity_t prefix;
}
struct ecs_unit_prefix_desc_t {
ecs_entity_t entity;
const char *symbol;
ecs_unit_translation_t translation;
}
struct ecs_unit_translation_t {
int32_t factor;
int32_t power;
}
struct ecs_value_t {
ecs_entity_t type;
void *ptr;
}
struct ecs_var_t {
ecs_table_range_t range;
ecs_entity_t entity;
}
struct ecs_vec_t {
void *array;
int32_t count;
int32_t size;
}
struct ecs_vector_desc_t {
ecs_entity_t entity;
ecs_entity_t type;
}
struct ecs_worker_iter_t {
int32_t index;
int32_t count;
}
struct ecs_world_info_t {
ecs_entity_t last_component_id;
ecs_entity_t min_id;
ecs_entity_t max_id;
float delta_time_raw;
float delta_time;
float time_scale;
float target_fps;
float frame_time_total;
float system_time_total;
float emit_time_total;
float merge_time_total;
float rematch_time_total;
double world_time_total;
double world_time_total_raw;
int64_t frame_count_total;
int64_t merge_count_total;
int64_t eval_comp_monitors_total;
int64_t rematch_count_total;
int64_t id_create_total;
int64_t id_delete_total;
int64_t table_create_total;
int64_t table_delete_total;
int64_t pipeline_build_count_total;
int64_t systems_ran_total;
int64_t observers_ran_total;
int64_t queries_ran_total;
int32_t tag_id_count;
int32_t component_id_count;
int32_t pair_id_count;
int32_t table_count;
uint32_t creation_time;
struct {
int64_t add_count;
int64_t remove_count;
int64_t delete_count;
int64_t clear_count;
int64_t set_count;
int64_t ensure_count;
int64_t modified_count;
int64_t discard_count;
int64_t event_count;
int64_t other_count;
int64_t batched_entity_count;
int64_t batched_command_count;
} cmd;
const char *name_prefix;
}
struct {
int64_t add_count;
int64_t remove_count;
int64_t delete_count;
int64_t clear_count;
int64_t set_count;
int64_t ensure_count;
int64_t modified_count;
int64_t discard_count;
int64_t event_count;
int64_t other_count;
int64_t batched_entity_count;
int64_t batched_command_count;
}
struct ecs_world_stats_t {
int64_t first_;
struct {
ecs_metric_t count;
ecs_metric_t not_alive_count;
} entities;
struct {
ecs_metric_t tag_count;
ecs_metric_t component_count;
ecs_metric_t pair_count;
ecs_metric_t type_count;
ecs_metric_t create_count;
ecs_metric_t delete_count;
} components;
struct {
ecs_metric_t count;
ecs_metric_t empty_count;
ecs_metric_t create_count;
ecs_metric_t delete_count;
} tables;
struct {
ecs_metric_t query_count;
ecs_metric_t observer_count;
ecs_metric_t system_count;
} queries;
struct {
ecs_metric_t add_count;
ecs_metric_t remove_count;
ecs_metric_t delete_count;
ecs_metric_t clear_count;
ecs_metric_t set_count;
ecs_metric_t ensure_count;
ecs_metric_t modified_count;
ecs_metric_t other_count;
ecs_metric_t discard_count;
ecs_metric_t batched_entity_count;
ecs_metric_t batched_count;
} commands;
struct {
ecs_metric_t frame_count;
ecs_metric_t merge_count;
ecs_metric_t rematch_count;
ecs_metric_t pipeline_build_count;
ecs_metric_t systems_ran;
ecs_metric_t observers_ran;
ecs_metric_t event_emit_count;
} frame;
struct {
ecs_metric_t world_time_raw;
ecs_metric_t world_time;
ecs_metric_t frame_time;
ecs_metric_t system_time;
ecs_metric_t emit_time;
ecs_metric_t merge_time;
ecs_metric_t rematch_time;
ecs_metric_t fps;
ecs_metric_t delta_time;
} performance;
struct {
ecs_metric_t alloc_count;
ecs_metric_t realloc_count;
ecs_metric_t free_count;
ecs_metric_t outstanding_alloc_count;
ecs_metric_t block_alloc_count;
ecs_metric_t block_free_count;
ecs_metric_t block_outstanding_alloc_count;
ecs_metric_t stack_alloc_count;
ecs_metric_t stack_free_count;
ecs_metric_t stack_outstanding_alloc_count;
} memory;
struct {
ecs_metric_t request_received_count;
ecs_metric_t request_invalid_count;
ecs_metric_t request_handled_ok_count;
ecs_metric_t request_handled_error_count;
ecs_metric_t request_not_handled_count;
ecs_metric_t request_preflight_count;
ecs_metric_t send_ok_count;
ecs_metric_t send_error_count;
ecs_metric_t busy_count;
} http;
int64_t last_;
int32_t t;
}
struct {
ecs_metric_t add_count;
ecs_metric_t remove_count;
ecs_metric_t delete_count;
ecs_metric_t clear_count;
ecs_metric_t set_count;
ecs_metric_t ensure_count;
ecs_metric_t modified_count;
ecs_metric_t other_count;
ecs_metric_t discard_count;
ecs_metric_t batched_entity_count;
ecs_metric_t batched_count;
}
struct {
ecs_metric_t tag_count;
ecs_metric_t component_count;
ecs_metric_t pair_count;
ecs_metric_t type_count;
ecs_metric_t create_count;
ecs_metric_t delete_count;
}
struct {
ecs_metric_t count;
ecs_metric_t not_alive_count;
}
struct {
ecs_metric_t frame_count;
ecs_metric_t merge_count;
ecs_metric_t rematch_count;
ecs_metric_t pipeline_build_count;
ecs_metric_t systems_ran;
ecs_metric_t observers_ran;
ecs_metric_t event_emit_count;
}
struct {
ecs_metric_t request_received_count;
ecs_metric_t request_invalid_count;
ecs_metric_t request_handled_ok_count;
ecs_metric_t request_handled_error_count;
ecs_metric_t request_not_handled_count;
ecs_metric_t request_preflight_count;
ecs_metric_t send_ok_count;
ecs_metric_t send_error_count;
ecs_metric_t busy_count;
}
struct {
ecs_metric_t alloc_count;
ecs_metric_t realloc_count;
ecs_metric_t free_count;
ecs_metric_t outstanding_alloc_count;
ecs_metric_t block_alloc_count;
ecs_metric_t block_free_count;
ecs_metric_t block_outstanding_alloc_count;
ecs_metric_t stack_alloc_count;
ecs_metric_t stack_free_count;
ecs_metric_t stack_outstanding_alloc_count;
}
struct {
ecs_metric_t world_time_raw;
ecs_metric_t world_time;
ecs_metric_t frame_time;
ecs_metric_t system_time;
ecs_metric_t emit_time;
ecs_metric_t merge_time;
ecs_metric_t rematch_time;
ecs_metric_t fps;
ecs_metric_t delta_time;
}
struct {
ecs_metric_t query_count;
ecs_metric_t observer_count;
ecs_metric_t system_count;
}
struct {
ecs_metric_t count;
ecs_metric_t empty_count;
ecs_metric_t create_count;
ecs_metric_t delete_count;
}
struct ecs_world_to_json_desc_t {
_Bool serialize_builtin;
_Bool serialize_modules;
}
typedef void (*ecs_xtor_t)(void *, int32_t, const ecs_type_info_t *)
The function pointer signature, expressed as a functional interface
struct EcsAlertInstance {
char *message;
}
struct EcsAlertsActive {
int32_t info_count;
int32_t warning_count;
int32_t error_count;
ecs_map_t alerts;
}
struct EcsArray {
ecs_entity_t type;
int32_t count;
}
struct EcsBitmask {
int32_t dummy_;
}
struct EcsComponent {
ecs_size_t size;
ecs_size_t alignment;
}
struct EcsConstants {
ecs_map_t *constants;
ecs_vec_t ordered_constants;
}
struct EcsDefaultChildComponent {
ecs_id_t component;
}
struct EcsDocDescription {
char *value;
}
struct EcsEnum {
ecs_entity_t underlying_type;
}
struct EcsIdentifier {
char *value;
ecs_size_t length;
uint64_t hash;
uint64_t index_hash;
ecs_hashmap_t *index;
}
A dynamic array for primitive long values.
struct EcsMember {
ecs_entity_t type;
int32_t count;
ecs_entity_t unit;
int32_t offset;
_Bool use_offset;
}
struct EcsMemberRanges {
ecs_member_value_range_t value;
ecs_member_value_range_t warning;
ecs_member_value_range_t error;
}
struct EcsMetricSource {
ecs_entity_t entity;
}
struct EcsMetricValue {
double value;
}
struct EcsOpaque {
ecs_entity_t as_type;
ecs_meta_serialize_t serialize;
ecs_meta_serialize_member_t serialize_member;
ecs_meta_serialize_element_t serialize_element;
void (*assign_bool)(void *, _Bool);
void (*assign_char)(void *, char);
void (*assign_int)(void *, int64_t);
void (*assign_uint)(void *, uint64_t);
void (*assign_float)(void *, double);
void (*assign_string)(void *, const char *);
void (*assign_entity)(void *, ecs_world_t *, ecs_entity_t);
void (*assign_id)(void *, ecs_world_t *, ecs_id_t);
void (*assign_null)(void *);
void (*clear)(void *);
void *(*ensure_element)(void *, size_t);
void *(*ensure_member)(void *, const char *);
size_t (*count)(const void *);
void (*resize)(void *, size_t);
}
void (*assign_bool)(void *, _Bool)
The function pointer signature, expressed as a functional interface
void (*assign_char)(void *, char)
The function pointer signature, expressed as a functional interface
void (*assign_entity)(void *, ecs_world_t *, ecs_entity_t)
The function pointer signature, expressed as a functional interface
void (*assign_float)(void *, double)
The function pointer signature, expressed as a functional interface
void (*assign_id)(void *, ecs_world_t *, ecs_id_t)
The function pointer signature, expressed as a functional interface
void (*assign_int)(void *, int64_t)
The function pointer signature, expressed as a functional interface
void (*assign_null)(void *)
The function pointer signature, expressed as a functional interface
void (*assign_string)(void *, const char *)
The function pointer signature, expressed as a functional interface
void (*assign_uint)(void *, uint64_t)
The function pointer signature, expressed as a functional interface
void (*clear)(void *)
The function pointer signature, expressed as a functional interface
size_t (*count)(const void *)
The function pointer signature, expressed as a functional interface
void *(*ensure_element)(void *, size_t)
The function pointer signature, expressed as a functional interface
void *(*ensure_member)(void *, const char *)
The function pointer signature, expressed as a functional interface
void (*resize)(void *, size_t)
The function pointer signature, expressed as a functional interface
struct {
EcsStatsHeader hdr;
ecs_map_t stats;
}
struct EcsPoly {
ecs_poly_t *poly;
}
struct EcsPrimitive {
ecs_primitive_kind_t kind;
}
struct EcsRateFilter {
ecs_entity_t src;
int32_t rate;
int32_t tick_count;
float time_elapsed;
}
struct {
uint16_t port;
char *ipaddr;
ecs_rest_ctx_t *impl;
}
struct EcsScript {
char *filename;
char *code;
char *error;
ecs_script_t *script;
ecs_script_template_t *template_;
}
struct EcsScriptConstVar {
ecs_value_t value;
const ecs_type_info_t *type_info;
}
struct EcsScriptFunction {
ecs_entity_t return_type;
ecs_vec_t params;
ecs_function_callback_t callback;
void *ctx;
}
struct EcsScriptMethod {
ecs_entity_t return_type;
ecs_vec_t params;
ecs_function_callback_t callback;
void *ctx;
}
struct {
float elapsed;
int32_t reduce_count;
}
struct EcsStruct {
ecs_vec_t members;
}
struct {
EcsStatsHeader hdr;
ecs_map_t stats;
}
struct EcsTickSource {
_Bool tick;
float time_elapsed;
}
struct EcsTimer {
float timeout;
float time;
float overshoot;
int32_t fired_count;
_Bool active;
_Bool single_shot;
}
struct EcsType {
ecs_type_kind_t kind;
_Bool existing;
_Bool partial;
}
struct EcsTypeSerializer {
ecs_type_kind_t kind;
ecs_vec_t ops;
}
struct EcsUnit {
char *symbol;
ecs_entity_t prefix;
ecs_entity_t base;
ecs_entity_t over;
ecs_unit_translation_t translation;
}
struct EcsUnitPrefix {
char *symbol;
ecs_unit_translation_t translation;
}
struct EcsVector {
ecs_entity_t type;
}
struct {
ecs_entities_memory_t entities;
ecs_component_memory_t components;
ecs_component_index_memory_t component_index;
ecs_query_memory_t queries;
ecs_table_memory_t tables;
ecs_table_histogram_t table_histogram;
ecs_misc_memory_t misc;
ecs_allocator_memory_t allocators;
double collection_time;
}
struct {
EcsStatsHeader hdr;
ecs_world_stats_t *stats;
}
struct {
double target_fps;
double time_scale;
double fps;
double frame_time_total;
double system_time_total;
double merge_time_total;
int64_t entity_count;
int64_t table_count;
int64_t frame_count;
int64_t command_count;
int64_t merge_count;
int64_t systems_ran_total;
int64_t observers_ran_total;
int64_t queries_ran_total;
int32_t tag_count;
int32_t component_count;
int32_t pair_count;
double frame_time_frame;
double system_time_frame;
double merge_time_frame;
int64_t merge_count_frame;
int64_t systems_ran_frame;
int64_t observers_ran_frame;
int64_t queries_ran_frame;
int64_t command_count_frame;
double simulation_time;
uint32_t uptime;
ecs_build_info_t build_info;
}
struct {
__fd_mask __fds_bits[16];
}
Variadic invoker class for:
void ecs_abort_(int32_t error_code, const char *file, int32_t line, const char *fmt, ...)
Variadic invoker class for:
void ecs_assert_log_(int32_t error_code, const char *condition_str, const char *file, int32_t line, const char *fmt, ...)
Variadic invoker class for:
void ecs_log_(int32_t level, const char *file, int32_t line, const char *fmt, ...)
Variadic invoker class for:
void ecs_parser_error_(const char *name, const char *expr, int64_t column, const char *fmt, ...)
Variadic invoker class for:
void ecs_parser_warning_(const char *name, const char *expr, int64_t column, const char *fmt, ...)
Variadic invoker class for:
void ecs_print_(int32_t level, const char *file, int32_t line, const char *fmt, ...)
struct {
ecs_map_iter_t it;
ecs_hm_bucket_t *bucket;
int32_t index;
}
struct {
void *key;
void *value;
uint64_t hash;
}
typedef void (*flecs_poly_dtor_t)(ecs_poly_t *)
The function pointer signature, expressed as a functional interface
typedef __fsid_t fsid_t
Internal dummy component to trigger annotation processing.
struct {
long quot;
long rem;
}
struct {
long long quot;
long long rem;
}
void (*__func)(int, void *)
The function pointer signature, expressed as a functional interface
union pthread_attr_t {
char __size[56];
long __align;
}
union {
char __size[32];
long __align;
}
union {
char __size[4];
int __align;
}
union {
struct __pthread_cond_s __data;
char __size[48];
long long __align;
}
union {
char __size[4];
int __align;
}
union {
struct __pthread_mutex_s __data;
char __size[40];
long __align;
}
union {
char __size[4];
int __align;
}
union {
struct __pthread_rwlock_arch_t __data;
char __size[56];
long __align;
}
union {
char __size[8];
long __align;
}
struct random_data {
int32_t *fptr;
int32_t *rptr;
int32_t *state;
int rand_type;
int rand_deg;
int rand_sep;
int32_t *end_ptr;
}
typedef __sigset_t sigset_t
struct timespec {
__time_t tv_sec;
__syscall_slong_t tv_nsec;
}
struct timeval {
__time_t tv_sec;
__suseconds_t tv_usec;
}