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;
    int32_t change_count;
}
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;
    int32_t change_count;
    ecs_map_key_t last_iterated;
}
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_locked_components;
    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_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;
}
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;
}
 
A dynamic array for primitive long values.
 
 
 
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;
}