Below are the structs defining the Channel framework, used for resource management, task execution, and communication in SDL3 and Vulkan.
| Struct Name | Fields |
|---|---|
| BigUInt128 |
uint64_t high; uint64_t low; |
| sdl_sysinfo |
uint64_t uptime; uint64_t totalram; uint64_t freeram; uint64_t procs; |
| HyperLock |
int64_t hl_flags; pthread_mutex_t hl_mutex; pthread_cond_t hl_cond; char *hl_name; |
| Cube |
int64_t cu_width; int64_t cu_height; int64_t cu_depth; |
| Raster64 |
int64_t *rs_data; int64_t rs_width; int64_t rs_height; int64_t rs_depth; int64_t rs_flags; |
| Raster32 |
int32_t *rs_data; int32_t rs_width; int32_t rs_height; int32_t rs_depth; int32_t rs_flags; |
| Raster16 |
int16_t *rs_data; int16_t rs_width; int16_t rs_height; int16_t rs_depth; int16_t rs_flags; |
| Raster |
int8_t *rs_data; int8_t rs_width; int8_t rs_height; int8_t rs_depth; int8_t rs_flags; |
| ChocolateChipServerXCookie |
char accessToken[X_COOKIE_LENGTH]; char refreshToken[X_COOKIE_LENGTH]; char sessionId[X_COOKIE_LENGTH]; char user_agent[X_COOKIE_LENGTH]; char last_ip[X_COOKIE_LENGTH]; char hashed_message_code[X_COOKIE_LENGTH]; char encryption_vector[X_COOKIE_LENGTH/4]; time_t session_expiry; uint8_t version; uint8_t flags; |
| BlitPacket |
SDL_Renderer *renderer; SDL_Surface *surface; SDL_Texture *texture; struct Raster32 *raster; struct BlitPacket *next; |
| Signal |
uint64_t sg_bit; uint64_t sg_ena; char *sg_name; struct Signal *sg_next; |
| IORequest |
char *io_data; uint64_t io_size; |
| IORequestSeek |
long offset; int where; |
| IORequestClose | int fd; |
| IORequestOpen |
char *path; int oflag; char mode; |
| IORequestStat |
char *path; struct stat *buf; |
| SignalGroup |
struct Signal *signal[0xffff]; void *reply_function[0xffff]; struct SignalGroup *next_signal_group; |
| MemoryRegion |
uint64_t region_flags; uint64_t *virtual; uint64_t *start; uint64_t *end; uint64_t size; |
| GPU_RAMInfo |
size_t free; size_t total; |
| MemoryAllocationRequest |
uint64_t ma_size; void *ma_name; uint8_t ma_ram_type; uint8_t ma_data_type; uint8_t ma_dimension_type; uint8_t ma_flags; char ma_pad[24]; |
| MemoryHandle |
void *mh_channel; uint64_t mh_size; time_t mh_created; time_t mh_last_access; void *mh_address; void *mh_name; int64_t mh_type; |
| RunInfo |
struct MemoryHandle *ri_memory_handle; time_t ri_now; time_t ri_run_lag; uint32_t ri_flags; uint32_t ri_runstate; time_t ri_last_run; time_t ri_start_time; int32_t ri_wait_time; uint64_t ri_iteration; struct NetXecThread *ri_nxthread; struct Channel *ri_channel; char ri_run_name[80]; time_t ri_run_time_diff; |
| HyperProcess |
uint64_t hp_flags; struct RunInfo hp_runinfo; struct NetXecThread *hp_thread; uint64_t hp_pid; uint64_t hp_parent_pid; struct MemoryHandle *hp_memory; uint64_t hp689 priority; uint64_t hp_starttime; uint64_t hp_cputime; struct Channel *hp_channel; uint64_t hp_signal_mask; uint64_t hp_pending_signals; void *hp_stack_base; uint64_t hp_stack_size; struct Runtime *hp_runtime; uint64_t hp_exit_code; uint64_t hp_reserved[6]; |
| Color |
uint8_t alpha; uint8_t red; uint8_t green; uint8_t blue; |
| ColorTransform |
struct Color start_color; struct Color end_color; struct Color color_floor; struct Color color_ceiling; int current_index; int magnitude; |
| ColorOperation |
struct Color foreground_color; struct Color background_color; struct Color select_color; struct Color selectbackground_color; void *transform; |
| Point | int64_t x, y, z; |
| Pixel |
int64_t x, y, z; int64_t tFlags; |
| GraphPoint |
struct Point point; struct ColorOperation *color; |
| NetXecThread |
struct RunInfo th_runinfo; struct HyperLock th_lock; uint64_t th_flags; struct GraphicsContext *th_graphics; struct MemoryHandle *th_memory; uint64_t priority; pthread_t th_pthread; |
| GraphicsContext |
uint32_t gc_flags; uint32_t gc_extra; SDL_GPUDevice *gc_gpuDevice; SDL_GPUCommandBuffer *gc_gpuCommandBuffer; SDL_Rect gc_source_rect; SDL_Rect gc_target_rect; struct Screen *gc_screen; SDL_Window *gc_window; SDL_Surface *gc_window_surface; SDL_Renderer *gc_renderer; SDL_Texture *gc_texture; SDL_Mutex *gc_mutex; struct NetXecThread *gc_task; struct Palette *gc_palette; struct ColorOperation *gc_color_change; void **gc_pixels; SDL_Texture *gc_back_brush; struct URL *gc_url; uint32_t gc_fgPen; uint32_t gc_bgPen; |
| HyperWindow |
int32_t hw_flags; int32_t hw_signal; struct Screen *hw_screen; uint64_t hw_window_flags; uint32_t hw_gc_flags; uint32_t hw_gc_extra; SDL_GPUDevice *hw_gc_gpuDevice; SDL_GPUCommandBuffer *hw_gc_gpuCommandBuffer; SDL_Rect hw_gc_source_rect; SDL_Rect hw_gc_target_rect; struct Screen *hw_gc_screen; SDL_Window *hw_gc_window; SDL_Surface *hw_gc_window_surface; SDL_Renderer *hw_gc_renderer; SDL_Texture *hw_gc_texture; SDL_Mutex *hw_gc_mutex; struct NetXecThread *hw_gc_task; struct Palette *hw_gc_palette; struct ColorOperation *hw_gc_color_change; void **hw_gc_pixels; SDL_Texture *hw_gc_back_brush; struct URL *hw_gc_url; uint32_t hw_gc_fgPen; uint32_t hw_gc_bgPen; SDL_Rect hw_rect; SDL_Surface *hw_surface; struct NetXecThread *hw_task; struct HyperWindow *hw_next; |
| Runtime |
char *buffer; char *user_pointer; char *interrupt_pointer; struct Channel *(*init)(struct Channel *); void (*start)(uint64_t*); void (*run)(struct Channel *, long); void (*paint)(struct GraphicsContext *); void (*expunge)(struct Channel *); uint64_t (*join)(void *); uint64_t (*merge)(void *); void *(*leave)(void *); uint64_t (*read)(void *, void*, long); uint64_t (*write)(void *, void *, long); void (*halt)(struct Channel *); void (*pause)(struct Channel *); void (*quit)(struct Channel *); void *(*lock[16][2])(void *); void *(*unlock[16][2])(void *); void (*callback[16][2])(void *); struct StateMachine *rt_state; |
| Screen |
HWND main_window; struct NetXecWindow sc_window_list[MAX_WINDOWS]; struct GraphicsContext sc_graphics; |
| ChannelLinkInfo |
__int32 *channels_joined; __int32 pad; struct ChannelLinkInfo *next; |
| Channel |
struct Channel *ch_parent; uint64_t ch_flags; uint64_t ch_index; struct StateMachine *ch_state; char ch_name[256]; char *ch_read; char *ch_write; char *ch_system_read; char *ch_system_write; char *ch_user_read; char *ch_user_write; struct GraphicsContext ch_graphics; struct Runtime *ch_runtime; struct NetXecThread *ch_thread; void (*DoIO)(struct Channel*, struct IORequest*); void (*SendIO)(struct Channel*, struct IORequest*); |
| MediaChannel |
struct Channel base; void *download_list[MEDIA_MAX]; void *paused_list[MEDIA_MAX]; void *run_list[MEDIA_MAX]; void *display_list[MEDIA_MAX]; void *play_list[MEDIA_MAX]; |
| GPUChannel | struct Channel base; |
| ChannelProperties |
uint16_t width; uint16_t height; int32_t current_x; int32_t current_y; bool visible; char title[256]; int zOrder; uint32_t backgroundColor; uint32_t foregroundColor; void *textureData; uint16_t textureWidth, textureHeight; uint32_t gradientStartColor; uint32_t gradientEndColor; float gradientStartPos; float gradientEndPos; int gradientDirection; wchar_t fontName[128]; int8_t fontSize; bool fontBold; bool fontItalic; int borderWidth; int borderColor; bool resizable; bool draggable; void *customData; float opacity; unsigned int flags; float aspectRatio; char codeBase[256]; char documentBase[256]; bool secure; char encryptionMethod[32]; char accessControl[128]; |
| URLElements |
char *path; char *parameters; char *fragments; |
| URL |
char protocol[PROTOCOL_LEN]; char host[HOST_LEN]; char domain[HOST_LEN]; char subdomain[HOST_LEN]; char port[PORT_LEN]; char *file; char authority[AUTHORITY_LEN]; char query[QUERY_LEN]; char default_port[DEFAULT_PORT_LEN]; char ref[REF_LEN]; uint64_t ur_flags; struct GraphicsContext *url_graphics; |
| URLChannel |
struct Channel uc_base; struct URL uc_urls[MAX_URLS]; int64_t uc_flags; |
| MemoryChannel |
struct Channel base; uint64_t *mc_stack_head; uint64_t *mc_stack_base; uint64_t *mc_stack_ptr; uint64_t *mc_heap_top; uint64_t *mc_heap_bottom; struct MemoryHandle mc_memory_list[MAX_HANDLES]; uint64_t mc_size[MEMORY_TYPE_NUMBER]; uint64_t mc_allocated[MEMORY_TYPE_NUMBER]; uint64_t mc_remaining[MEMORY_TYPE_NUMBER]; struct BigUInt128 mc_total_memory; |
| GlobalMemory | int flag; |
| GPUSharedMemory | int flag; |
| GPUConstantMemory | int flag; |
| GPUTextureMemory | int flag; |
| LocalMemory | int flag; |
| StateMachine |
struct Channel *channel; uint8_t sm_current_state; uint8_t sm_next_state; uint8_t sm_error_error; uint8_t max_state; void (*IO_BRANCH_TABLE[MAX_STATES])(int); |
| ColorChannel | struct Channel base; |
| StateMachineChannel | struct Channel channel; |
| SignalChannel |
struct Channel base; struct SignalGroup *signals; |
| Font |
char name[64]; SDL_Texture *texture; SDL_Surface *surface; struct Raster32 *raster; int points; struct Font *next; |
| TrueTypeFontDirectory |
wchar_t nx_osname[INPUT_STRING_MAX]; wchar_t nx_directory[INPUT_STRING_MAX]; |
| FontChannel |
struct Channel base; struct Font font_base[MAX_FONTS]; void *system_font; void *user_font; __int32 total_fonts; |
| Container |
struct GraphicsContext cn_graphics; double cn_point_distance[MAX_POINTS][MAX_POINTS]; uint64_t cn_numPoints; struct Point cn_point[MAX_POINTS]; |
| ContainerChannel |
struct Channel base; struct Container cc_containerlist[MAX_CONTAINERS]; struct FontChannel *cc_fonts; struct Gob *cc_gobs[MAX_CONTAINER_GOBS]; int *pixels; |
| ChannelEvent | uint64_t ce_data; |
| EventListener |
uint64_t el_runcount; uint64_t el_flags; uint8_t *el_msi; void (*el_function)(void *); |
| MouseListener |
uint8_t *ml_ms; void (*ml_function)(void *); |
| KeyboardListener |
uint8_t *ml_ms; void (*ml_function)(void *); |
| EventChannel |
struct Channel base; uint64_t ec_listeners; uint64_t ec_flags; uint8_t *ec_buffer; void *ec_keyboardbase; void *ec_mousebase; void *ec_extrabase; void *ec_kbi; uint8_t *ec_msi; uint8_t *ec_extra; void *ec_kbend; uint8_t *ec_msend; uint8_t *ec_extraend; |
| STDIOChannel |
struct Channel base; char *int_ptr, *usr_ptr; char *buffer; struct MemoryHandle *memory; |
| HyperView |
struct Channel base; int64_t hv_flags; uint16_t hv_width; uint16_t hv_height; int32_t hv_x, hv_y, hv_z, hv_x2, hv_y2, hv_z2; double hv_scale; struct Gob *hv_gob[MAX_GOBS]; struct Gadget *hv_gadget[MAX_GADGETS]; |
| Image |
int64_t im_flags; wchar_t im_uname[256]; float acceleration_priority; int32_t *pixels; uint16_t width; uint16_t height; |
| Gob |
struct Image gb_image; wchar_t gb_name[NAME_SIZE]; uint64_t gb_user_bits; struct GraphicsContext *gb_graphics; uint64_t gb__flags; uint16_t gb_depth; uint16_t gb_move_index; uint16_t *gb_mX1, *gb_mX2, *gb_mY1, *gb_mY2; uint16_t gb_x1, gb_y1, gb_z1, gb_x2, gb_y2, gb_z2; SDL_Texture *gb_texture; uint64_t gb_crc; |
| Button |
uint64_t bt_flags; SDL_FRect bt_rectangle; SDL_Texture *bt_texture; char name[256]; |
| Player |
int pl_flags; int pl_length; int pl_end; int pl_current_position; int pl_loop_start, loop_end; char pl_filename[256]; SDL_Window *pl_window; SDL_Rect *pl_source_rectangle; SDL_Rect *pl_destination_rectangle; void **pl_pixels; libvlc_instance_t *pl_libvlc; libvlc_media_t *pl_data; libvlc_media_player_t *pl_player_base; char *pl_argv[8][80]; |
| VLCGob |
struct Gob vlc_gob; struct Player vlc_player; |
| TitleBar |
struct Gob gob; struct Image bltImage; struct GraphicsContext bltGraphics; struct Image dl_OK; struct Image dl_Lag; struct Image greenGem; struct Image redGem; struct Image yellowGem; char titleStr[80]; char lineStr[80]; int titleFlags; struct Font titleFont; struct Font clockFont; bool doEmbedded; bool embeddedRenedered; |
| Gadget |
struct Gob gob; struct TitleBar *parent_title_bar; int gadget_flags; int gadget_flags2; int display_info; struct Gadget *focus; int id; char *name; int flags; int flags2; int savedFlags; struct HyperView current_view; struct Gadget *tGad; struct Gadget *gadget; struct Gadget *grabbedGad; struct Gadget *clickedGad; struct TitleBar *title; struct Image *title_blit_image; struct Image *title_image; struct GraphicsContext title_blit_graphics; struct GraphicsContext title_graphics; char titleStr; void *text_origin[MAX_STRINGS]; char *text_string[MAX_STRINGS]; int text_x[MAX_STRINGS]; int text_y[MAX_STRINGS]; unsigned char text_font[MAX_STRINGS]; int text_linger[MAX_STRINGS]; int text_timer[MAX_STRINGS]; int text_fgpen[MAX_STRINGS]; int text_bgpen[MAX_STRINGS]; struct Color text_faded_color[MAX_STRINGS][100]; int text_fadeframe; int text_flag[MAX_STRINGS]; int text_restart[MAX_STRINGS]; struct GetString *getstring_list; int total_getstrings; int total_gadgets; int total_gobs; int total_viewstrings; bool getstring_flag; char *backimage_name; struct Image back_image; int fg_pen; int bg_pen; int tz; int sz; int cz; int num; unsigned char tbyte; bool retVal; int font; char locked; char flipCount; int gadget_number; char *cursorName; int cursorWidth, cursorHeight; struct Image cursorImage; struct GraphicsContext cursorGraphics; int cursorX, cursorY; int cursorScrollXOffset; int cursorScrollYOffset; int lastCursorX; int lastCursorY; struct Font conFont; struct Color fGColor; int stringX; int stringY; int stringWidth; int stringHeight; struct Color tc1; struct Color tc2; struct Color tc3; struct Color tc4; struct Color backColor; struct Color lineColorA; struct Color lineColorB; struct Color lineColorC; |
| ThreadCreationRequest |
char *name; void *function0; void *function1; |
| NetXecEvent |
int ev_flags; int pad; char *data; time_t ev_time; |
| Listener |
__int32 listener_flags; void *callback; |
| NetXecSignal |
int signal; int totalbits; int maxbits; |
| NetXecSignalControl | |
| Field |
char field_name[64]; unsigned char field_type; void *data; struct Listener listeners[MAX_FIELD_LISTENERS]; int (*FieldHandler)(struct Field *fieldPtr); |
| Object |
struct Field *ob_fields; uint64_t ob_flags; uint64_t ob_size; char ob_name[256]; struct GraphicsContext *ob_graphics; struct Runtime *ob_run; uint32_t ob_field_number; uint32_t user_data; uint64_t crc; |
| Palette | struct Color color[255]; |
| ByteBuffer | void *buffer_data; |
| Orange | int x, y; |
| STDINChannel |
struct Channel base; char *stdinInt; char *stdinUsr; struct ContainerChannel *ViewPort; char buffer[KEY_BUFFER_SIZE]; |
| ClockChannel |
struct Channel base; uint64_t clock_flags; time_t *clock_register; |
| StatisticsChannel |
struct Channel base; char theme[256]; |
| ExecVector |
struct NetXecChannel *parent_channel; void *mutex; void *thread; |
| NetXecChannel |
struct Channel base; int system_flags; struct Signal io_external_signal[IO_THREAD_NUMBER]; void *io_list[IO_THREAD_NUMBER]; struct NetXecThread io_thread[IO_THREAD_NUMBER]; struct HyperLock *io_lock[IO_THREAD_NUMBER]; struct RunInfo thread_runinfo[IO_THREAD_NUMBER]; |
| Spline |
double sx, sy, sz; double x, y, z; double tx, ty, tz; double magnitde; |
| View |
int view_flags; int width, height; int x, y, z, x2, y2, z2; double scale; struct Gob gob_list[1000]; struct Gadget gadget_list[100]; |
| Transform |
int *data; int flags; |
| Character |
char *ascii; short *unicode; |
| SDL3Menu |
int selection; char *title; char **options; int option_count; SDL_Renderer *renderer; SDL_Texture *texture; SDL_Rect *option_rects; |
| BMLQuery | char cmd[8]; |
| ThreadChannel |
struct Channel thread_base; struct NetXecThread system_threads[MAX_THREADS]; struct NetXecThread user_threads[MAX_THREADS]; struct NetXecThread paused[MAX_THREADS]; int channel_priority; |
| Waypoint |
struct Point point; void *extention; |
| GPSChannel |
struct Channel base; struct Waypoint *target_list; struct Waypoint *locale_list; struct ContainerChannel *container_channel; struct STDIOChannel *stdin_channel; struct URLChannel *url_channel; struct StateMachineChannel *state_machine_channel; struct GPRSChannel *gprs_channel; |
| ImageChannel | |
| SubWindow |
SDL_Window *sw_window; struct Screen *sw_parent_screen; SDL_Renderer *sw_renderer; |
| STD_Display |
struct Screen *screen; struct Window *Window; |
| Triple |
char subject[256]; char predicate[256]; char object[256]; |
| SolidPod |
struct Channel *channel; char sp_webid[256]; char sp_base_url[256]; char sp_pod_uri[256]; char sp_username[64]; char sp_password[64]; char sp_access_token[256]; char sp_refresh_token[256]; char sp_client_id[128]; char sp_client_secret[128]; char sp_default_content_type[32]; char sp_pod_description[256]; int sp_max_size; |
| LocalAuth |
__int32 la_flags; char pw_data[256]; __int32 port; __int32 pad; |
| HTTPProxy |
char pr_host[256]; __int32 pr_flags; __int32 pr_port; |
| TrustedOrigin |
__int32 to_flags; __int32 to_pad; char to_uri[256]; char data_browser_path[256]; |
| ExportModule |
int em_pod_flags; char em_auth[255]; char em_config_path[255]; char em_db_path[255]; char em_server_uri[255]; struct TrustedOrigin em_trust_origin[255]; |
| ScreenChannel |
struct Channel base; __int32 scflags; __int32 pad; SDL_DisplayMode default_mode; struct Screen *first, *last, *current; |
| NewScreenInfo |
char ns_title[256]; int ns_width, ns_height, ns_depth; struct Gadget *ns_gadget; struct Gob *ns_gob; |
| MemoryInfo |
char type; char pad[7]; long size; |
| PlayerChannel | struct Channel base; |
| Dispatch |
struct Gadget *focus; int id; char *name; int flags; int flags2; int savedFlags; struct HyperView curView; struct Gadget *tGad; struct Gadget gads[MAX_GADGETS]; struct Gadget *grabbedGad; struct Gadget *clickedGad; struct Gob gob[MAX_GOBS]; struct TitleBar *title; struct Image titleBltImage; struct Image titleImage; struct GraphicsContext titleBltGraphics; struct GraphicsContext titleGraphics; void *text_origin[MAX_STRINGS]; char *text_string[MAX_STRINGS]; int text_x[MAX_STRINGS]; int text_y[MAX_STRINGS]; int text_linger[MAX_STRINGS]; int text_timer[MAX_STRINGS]; int text_fgpen[MAX_STRINGS]; int text_bgpen[MAX_STRINGS]; struct Color text_faded_color[MAX_STRINGS][100]; int text_fadeframe; int text_flag[MAX_STRINGS]; int text_restart[MAX_STRINGS]; struct GetString *getstring_list; int total_getstrings; int total_gadgets; int total_gobs; int total_viewstrings; char *backimage_name; struct Image back_image; int fg_pen; int bg_pen; int tz; int sz; int cz; int num; unsigned char tbyte; bool retVal; |
| MultiBuffer | |
| Clip | int x1, y1, x2, y2; |
| ImageCycle |
struct GraphicsContext gc; struct Gob *gobs; struct Runtime runtime; char** filenames; int total_count; SDL_Texture** textures; float* widths; float* heights; int file_count; int current_index; int capacity; int start_index; |
| DynamicBuffer |
char *data; char *interupt_pointer; char *user_pointer; |
| Buffer |
char *data; char *interupt_pointer; char *user_pointer; uint64_t system_data; |