blob: a5f4da6a5eb8e39257a24c027584c36617f062b4 [file] [log] [blame]
[
// ===========================================
// libc
// ===========================================
{
"file": "dirent.h",
"structs": {
"dirent": [
"d_ino",
"d_off",
"d_reclen",
"d_type",
"d_name"
]
}
},
{
"file": "limits.h",
"defines": [
"INT_MAX"
]
},
{
"file": "utime.h",
"structs": {
"utimbuf": [
"actime",
"modtime"
]
}
},
{
"file": "sys/stat.h",
"defines": [
"S_IFDIR",
"S_IFREG",
"S_IFMT",
"S_IFIFO",
"S_IFSOCK",
"S_IFBLK",
"S_IFLNK",
"S_IFCHR"
],
"structs": {
"stat": [
"st_dev",
"__st_dev_padding",
"__st_ino_truncated",
"st_mode",
"st_nlink",
"st_uid",
"st_gid",
"st_rdev",
"__st_rdev_padding",
"st_size",
"st_blksize",
"st_blocks",
{
"st_atim": [
"tv_sec",
"tv_nsec"
]
},
{
"st_mtim": [
"tv_sec",
"tv_nsec"
]
},
{
"st_ctim": [
"tv_sec",
"tv_nsec"
]
},
"st_ino"
]
}
},
{
"file": "sys/statvfs.h",
"structs": {
"statvfs": [
"f_bsize",
"f_frsize",
"f_blocks",
"f_bfree",
"f_bavail",
"f_files",
"f_ffree",
"f_favail",
"f_fsid",
"f_flag",
"f_namemax"
]
}
},
{
"file": "sys/statfs.h",
"structs": {
"statfs": [
"f_bsize",
"f_frsize",
"f_blocks",
"f_bfree",
"f_bavail",
"f_files",
"f_ffree",
"f_fsid",
"f_flags",
"f_namelen"
]
}
},
{
"file": "fcntl.h",
"defines": [
"F_UNLCK",
"O_RDWR",
"S_IRWXO",
"F_GETLK64",
"F_SETLKW64",
"F_SETLKW",
"F_SETLK64",
"F_GETLK",
"S_ISVTX",
"O_RDONLY",
"O_ACCMODE",
"F_DUPFD",
"F_SETLK",
"O_WRONLY",
"AT_FDCWD",
"AT_SYMLINK_NOFOLLOW",
"AT_REMOVEDIR",
"AT_EMPTY_PATH"
],
"structs": {
"flock": [
"l_type",
"l_whence",
"l_start",
"l_len",
"l_pid"
]
}
},
{
"file": "poll.h",
"defines": [
"POLLHUP",
"POLLERR",
"POLLRDNORM",
"POLLWRNORM",
"POLLPRI",
"POLLIN",
"POLLOUT",
"POLLNVAL"
],
"structs": {
"pollfd": [
"fd",
"events",
"revents"
]
}
},
{
"file": "stdlib.h",
"defines": [
"RAND_MAX"
],
"structs": {
// NOTE: The hash sign at the end of this name is a hint to the processor that it mustn't prefix "struct " to the name to reference this struct.
// It will be stripped away when writing the compiled JSON file. You can just refer to it as C_STRUCTS.div_t when using it in the JS code.
// For more information see gen_inspect_code() in tools/gen_struct_info.py .
"div_t#": [
"quot",
"rem"
]
}
},
{
"file": "limits.h",
"defines": [
"PTHREAD_KEYS_MAX"
]
},
{
"file": "sys/utsname.h",
"structs": {
"utsname": [
"sysname",
"nodename",
"release",
"version",
"machine",
"domainname"
]
}
},
{
"file": "sys/time.h",
"structs": {
"timezone": [
"tz_minuteswest",
"tz_dsttime"
],
"timeval": [
"tv_sec",
"tv_usec"
]
}
},
{
"file": "time.h",
"defines": [
["li", "CLOCKS_PER_SEC"],
"TIME_UTC",
"CLOCK_REALTIME",
"CLOCK_MONOTONIC",
"CLOCK_MONOTONIC_RAW"
],
"structs": {
"tm": [
"tm_sec",
"tm_min",
"tm_hour",
"tm_mday",
"tm_mon",
"tm_year",
"tm_wday",
"tm_yday",
"tm_isdst",
"tm_gmtoff",
"tm_zone"
],
"itimerspec": [
{
"it_interval": [
"tv_sec",
"tv_nsec"
]
},
{
"it_value": [
"tv_sec",
"tv_nsec"
]
}
],
"timespec": [
"tv_sec",
"tv_nsec"
]
}
},
{
"file": "sys/times.h",
"structs": {
"tms": [
"tms_utime",
"tms_stime",
"tms_cutime",
"tms_cstime"
]
}
},
{
"file": "compat/sys/timeb.h",
"structs": {
"timeb": [
"time",
"millitm",
"timezone",
"dstflag"
]
}
},
{
"file": "sys/resource.h",
"structs": {
"rlimit": [
"rlim_cur",
"rlim_max"
],
"rusage": [
{
"ru_utime": [
"tv_sec",
"tv_usec"
]
},
{
"ru_stime": [
"tv_sec",
"tv_usec"
]
},
"ru_maxrss",
"ru_ixrss",
"ru_idrss",
"ru_isrss",
"ru_minflt",
"ru_majflt",
"ru_nswap",
"ru_inblock",
"ru_oublock",
"ru_msgsnd",
"ru_msgrcv",
"ru_nsignals",
"ru_nvcsw",
"ru_nivcsw"
]
}
},
{
"file": "netdb.h",
"defines": [
"AI_V4MAPPED",
"EAI_SERVICE",
"EAI_FAMILY",
"AI_ALL",
"AI_ADDRCONFIG",
"AI_NUMERICSERV",
"NI_NUMERICHOST",
"EAI_OVERFLOW",
"AI_NUMERICHOST",
"AI_CANONNAME",
"AI_PASSIVE",
"NI_NAMEREQD",
"EAI_NONAME",
"EAI_AGAIN",
"EAI_FAIL",
"EAI_MEMORY",
"EAI_SYSTEM",
"EAI_SOCKTYPE",
"EAI_BADFLAGS"
],
"structs": {
"sockaddr": [
"sa_family",
"sa_data"
],
"hostent": [
"h_name",
"h_aliases",
"h_addrtype",
"h_length",
"h_addr_list"
],
"addrinfo": [
"ai_flags",
"ai_family",
"ai_socktype",
"ai_protocol",
"ai_addrlen",
"ai_addr",
"ai_canonname",
"ai_next"
],
"in_addr": [
"s_addr"
],
"linger": [
"l_onoff",
"l_linger"
],
"protoent": [
"p_name",
"p_aliases",
"p_proto"
],
"sockaddr_in": [
"sin_family",
"sin_port",
{
"sin_addr": [
"s_addr"
]
},
"sin_zero"
],
"iovec": [
"iov_base",
"iov_len"
],
"cmsghdr": [
"cmsg_len",
"cmsg_level",
"cmsg_type"
],
"sockaddr_in6": [
"sin6_family",
"sin6_port",
"sin6_flowinfo",
{
"sin6_addr": [
{
"__in6_union": [
"__s6_addr",
"__s6_addr16",
"__s6_addr32"
]
}
]
},
"sin6_scope_id"
],
"msghdr": [
"msg_name",
"msg_namelen",
"msg_iov",
"msg_iovlen",
"msg_control",
"msg_controllen",
"msg_flags"
],
"in6_addr": [
{
"__in6_union": [
"__s6_addr",
"__s6_addr16",
"__s6_addr32"
]
}
],
"netent": [
"n_name",
"n_aliases",
"n_addrtype",
"n_net"
]
}
},
{
"file": "netinet/in.h",
"defines": [
"IPPROTO_UDP",
"IPPROTO_TCP",
"INADDR_LOOPBACK"
]
},
{
"file": "math.h",
"defines": [
"FP_ZERO",
"FP_NAN",
"FP_INFINITE",
"FP_NORMAL"
]
},
{
"file": "bits/fcntl.h",
"defines": [
"O_CREAT",
"O_SYNC",
"O_DSYNC",
"F_GETFD",
"F_SETFL",
"O_NOFOLLOW",
"O_APPEND",
"F_SETOWN",
"O_TRUNC",
"O_DIRECTORY",
"F_GETOWN",
"F_GETOWN_EX",
"F_SETFD",
"O_EXCL",
"F_GETFL",
"O_LARGEFILE",
"O_NOCTTY"
]
},
{
"file": "signal.h",
"defines": [
"SIGALRM"
]
},
{
"file": "sys/socket.h",
"defines": [
"SOCK_DGRAM",
"SOCK_STREAM",
"SOCK_CLOEXEC",
"SOCK_NONBLOCK",
"AF_INET",
"AF_UNSPEC",
"AF_INET6",
"SOL_SOCKET",
"SO_ERROR"
]
},
{
"file": "bits/ioctl.h",
"defines": [
"FIONREAD",
"TCGETA",
"TCGETS",
"TCSETA",
"TCSETAW",
"TCSETAF",
"TCSETS",
"TCSETSW",
"TCSETSF",
"TIOCGPGRP",
"TIOCSPGRP",
"TIOCGWINSZ",
"TIOCSWINSZ"
]
},
{
"file": "unistd.h",
"defines": [
"_SC_NGROUPS_MAX",
"R_OK",
"W_OK",
"X_OK"
]
},
{
"file": "bits/errno.h",
"defines": [
"ETXTBSY",
"ETOOMANYREFS",
"ENAMETOOLONG",
"ENOPKG",
"EL3HLT",
"EINPROGRESS",
"ENOTSOCK",
"ENOTSUP",
"EFBIG",
"ENOLINK",
"EL3RST",
"ENOTUNIQ",
"ELNRNG",
"ENOANO",
"ENOPROTOOPT",
"E2BIG",
"EHOSTDOWN",
"EBFONT",
"ENOTEMPTY",
"EBUSY",
"EADDRINUSE",
"ELIBACC",
"EDQUOT",
"ENOENT",
"ECOMM",
"EXFULL",
"ENOTDIR",
"ENETRESET",
"EAFNOSUPPORT",
"EINVAL",
"ENODEV",
"ENOCSI",
"EPROTONOSUPPORT",
"ETIME",
"ENOTTY",
"EAGAIN",
"EMSGSIZE",
"ELIBEXEC",
"EMLINK",
"ECANCELED",
"EDESTADDRREQ",
"EADDRNOTAVAIL",
"EPERM",
"EPROTOTYPE",
"ENOMEDIUM",
"ELOOP",
"EREMOTE",
"ELIBMAX",
"EMULTIHOP",
"ECONNABORTED",
"EFAULT",
"EBADMSG",
"EDOM",
"EILSEQ",
"EPFNOSUPPORT",
"ENONET",
"ECHRNG",
"ESRCH",
"EHOSTUNREACH",
"EL2HLT",
"EL2NSYNC",
"ENOMSG",
"EISDIR",
"EDEADLOCK",
"ECONNRESET",
"ESTRPIPE",
"ESHUTDOWN",
"EDEADLK",
"EBADRQC",
"EUNATCH",
"ECHILD",
"ETIMEDOUT",
"EALREADY",
"ENXIO",
"EMFILE",
"ENFILE",
"EREMCHG",
"ENOMEM",
"ENOSR",
"EOWNERDEAD",
"ELIBSCN",
"EPIPE",
"EBADSLT",
"ENOSTR",
"EIO",
"EWOULDBLOCK",
"EBADE",
"ENODATA",
"ESOCKTNOSUPPORT",
"ENOLCK",
"EPROTO",
"ESRMNT",
"EXDEV",
"ENOSPC",
"ELIBBAD",
"ERANGE",
"ESTALE",
"ENOTRECOVERABLE",
"ENOBUFS",
"EIDRM",
"EINTR",
"EADV",
"ENOSYS",
"EUSERS",
"EOPNOTSUPP",
"ENOTCONN",
"ENETUNREACH",
"ESPIPE",
"EROFS",
"ECONNREFUSED",
"ENETDOWN",
"ENOEXEC",
"EBADF",
"EDOTDOT",
"EBADFD",
"EBADR",
"EISCONN",
"ENOTBLK",
"EOVERFLOW",
"EACCES",
"EEXIST"
]
},
{
"file": "langinfo.h",
"defines": [
"ABDAY_7",
"ABDAY_6",
"ABDAY_5",
"ABDAY_4",
"ABDAY_3",
"ABDAY_2",
"ABDAY_1",
"ABMON_1",
"RADIXCHAR",
"ABMON_3",
"AM_STR",
"ALT_DIGITS",
"PM_STR",
"ABMON_9",
"YESEXPR",
"ABMON_2",
"ABMON_7",
"ABMON_6",
"ABMON_5",
"ABMON_4",
"ABMON_8",
"ERA",
"MON_2",
"MON_3",
"MON_1",
"MON_6",
"MON_7",
"MON_4",
"MON_5",
"MON_8",
"MON_9",
"NOEXPR",
"T_FMT_AMPM",
"MON_10",
"MON_11",
"MON_12",
"T_FMT",
"THOUSEP",
"ERA_T_FMT",
"ERA_D_T_FMT",
"D_FMT",
"DAY_2",
"DAY_3",
"DAY_1",
"DAY_6",
"DAY_7",
"DAY_4",
"DAY_5",
"ERA_D_FMT",
"CODESET",
"D_T_FMT",
"CRNCYSTR",
"ABMON_12",
"ABMON_11",
"ABMON_10"
]
},
{
"file": "stdio.h",
"defines": [
"EOF",
"SEEK_END",
"SEEK_CUR",
"SEEK_SET"
]
},
{
"file": "sys/stat.h",
"defines": [
"S_IALLUGO",
"S_IWUGO",
"S_IRUGO",
"S_IRWXUGO",
"S_IXUGO"
]
},
{
"file": "sys/mman.h",
"defines": [
"MAP_ANONYMOUS",
"MAP_FAILED",
"MAP_FIXED",
"MAP_PRIVATE",
"PROT_WRITE"
]
},
{
"file": "dlfcn.h",
"defines": [
"RTLD_NOW",
"RTLD_LAZY",
"RTLD_DEFAULT",
"RTLD_GLOBAL",
"RTLD_NODELETE"
]
},
// ===========================================
// SDL
// ===========================================
{
"file": "SDL/SDL_rect.h",
"structs": {
"SDL_Rect": [
"x",
"y",
"w",
"h"
]
}
},
{
"file": "SDL/SDL_keyboard.h",
"structs": {
"SDL_Keysym": [
"scancode",
"sym",
"mod",
"unicode"
]
}
},
{
"file": "SDL/SDL_pixels.h",
"defines": ["SDL_PIXELFORMAT_RGBA8888"],
"structs": {
"SDL_Palette": [
"ncolors",
"colors",
"version",
"refcount"
],
"SDL_PixelFormat": [
"format",
"palette",
"BitsPerPixel",
"BytesPerPixel",
"padding",
"Rmask",
"Gmask",
"Bmask",
"Amask",
"Rloss",
"Gloss",
"Bloss",
"Aloss",
"Rshift",
"Gshift",
"Bshift",
"Ashift",
"refcount",
"next"
],
"SDL_Color": [
"r",
"g",
"b",
"unused"
]
}
},
{
"file": "SDL/SDL_surface.h",
"structs": {
"SDL_Surface": [
"flags",
"format",
"w",
"h",
"pitch",
"pixels",
"userdata",
"locked",
"lock_data",
"clip_rect",
"map",
"refcount"
]
}
},
{
"file": "SDL/SDL_events.h",
"structs": {
"SDL_WindowEvent": [
"type",
"windowID",
"event",
"padding1",
"padding2",
"padding3",
"data1",
"data2"
],
"SDL_KeyboardEvent": [
"type",
"windowID",
"state",
"repeat",
"padding2",
"padding3",
"keysym"
],
"SDL_TextInputEvent": [
"type",
"windowID",
"text"
],
"SDL_MouseMotionEvent": [
"type",
"timestamp",
"windowID",
"which",
"state",
"x",
"y",
"xrel",
"yrel"
],
"SDL_MouseButtonEvent": [
"type",
"timestamp",
"windowID",
"which",
"button",
"state",
"padding1",
"padding2",
"x",
"y"
],
"SDL_MouseWheelEvent": [
"type",
"timestamp",
"windowID",
"which",
"x",
"y"
],
"SDL_JoyAxisEvent": [
"type",
"which",
"axis",
"padding1",
"padding2",
"value"
],
"SDL_JoyButtonEvent": [
"type",
"which",
"button",
"state",
"padding1"
],
"SDL_TouchFingerEvent": [
"type",
"timestamp",
"touchId",
"fingerId",
"x",
"y",
"dx",
"dy",
"pressure"
],
"SDL_ResizeEvent": [
"type",
"w",
"h"
]
}
},
{
"file": "SDL/SDL_touch.h",
"defines": ["SDL_TOUCH_MOUSEID"]
},
{
"file": "SDL/SDL_audio.h",
"defines": [
"SDL_AUDIO_MASK_BITSIZE",
"SDL_AUDIO_MASK_DATATYPE",
"SDL_AUDIO_MASK_ENDIAN",
"SDL_AUDIO_MASK_SIGNED",
"AUDIO_U8",
"AUDIO_S8",
"AUDIO_U16LSB",
"AUDIO_S16LSB",
"AUDIO_U16MSB",
"AUDIO_S16MSB",
"AUDIO_U16",
"AUDIO_S16",
"AUDIO_S32LSB",
"AUDIO_S32MSB",
"AUDIO_S32",
"AUDIO_F32LSB",
"AUDIO_F32MSB",
"AUDIO_F32",
"AUDIO_U16SYS",
"AUDIO_S16SYS",
"AUDIO_S32SYS",
"AUDIO_F32SYS",
"SDL_AUDIO_ALLOW_FREQUENCY_CHANGE",
"SDL_AUDIO_ALLOW_FORMAT_CHANGE",
"SDL_AUDIO_ALLOW_CHANNELS_CHANGE",
"SDL_AUDIO_ALLOW_ANY_CHANGE",
"SDL_MIX_MAXVOLUME"
],
"structs": {
"SDL_AudioCVT": [
"needed",
"src_format",
"dst_format",
"rate_incr",
"buf",
"len",
"len_cvt",
"len_mult",
"len_ratio",
"filters",
"filter_index"
],
"SDL_AudioSpec": [
"freq",
"format",
"channels",
"silence",
"samples",
"padding",
"size",
"callback",
"userdata"
]
}
},
{
"file": "SDL/SDL_version.h",
"defines": [
"SDL_MAJOR_VERSION",
"SDL_MINOR_VERSION",
"SDL_PATCHLEVEL",
"SDL_COMPILEDVERSION"
],
"structs": {
"SDL_version": [
"major",
"minor",
"patch"
]
}
},
{
"file": "uuid/uuid.h",
"defines": [
"UUID_VARIANT_NCS",
"UUID_VARIANT_DCE",
"UUID_VARIANT_MICROSOFT",
"UUID_VARIANT_OTHER",
"UUID_TYPE_DCE_TIME",
"UUID_TYPE_DCE_RANDOM"
]
},
// ===========================================
// emscripten html5 library
// ===========================================
{
"file": "emscripten/html5.h",
"defines": [
"EMSCRIPTEN_EVENT_KEYPRESS",
"EMSCRIPTEN_EVENT_KEYDOWN",
"EMSCRIPTEN_EVENT_KEYUP",
"EMSCRIPTEN_EVENT_CLICK",
"EMSCRIPTEN_EVENT_MOUSEDOWN",
"EMSCRIPTEN_EVENT_MOUSEUP",
"EMSCRIPTEN_EVENT_DBLCLICK",
"EMSCRIPTEN_EVENT_MOUSEMOVE",
"EMSCRIPTEN_EVENT_WHEEL",
"EMSCRIPTEN_EVENT_RESIZE",
"EMSCRIPTEN_EVENT_SCROLL",
"EMSCRIPTEN_EVENT_BLUR",
"EMSCRIPTEN_EVENT_FOCUS",
"EMSCRIPTEN_EVENT_FOCUSIN",
"EMSCRIPTEN_EVENT_FOCUSOUT",
"EMSCRIPTEN_EVENT_DEVICEORIENTATION",
"EMSCRIPTEN_EVENT_DEVICEMOTION",
"EMSCRIPTEN_EVENT_ORIENTATIONCHANGE",
"EMSCRIPTEN_EVENT_FULLSCREENCHANGE",
"EMSCRIPTEN_EVENT_POINTERLOCKCHANGE",
"EMSCRIPTEN_EVENT_VISIBILITYCHANGE",
"EMSCRIPTEN_EVENT_TOUCHSTART",
"EMSCRIPTEN_EVENT_TOUCHEND",
"EMSCRIPTEN_EVENT_TOUCHMOVE",
"EMSCRIPTEN_EVENT_TOUCHCANCEL",
"EMSCRIPTEN_EVENT_GAMEPADCONNECTED",
"EMSCRIPTEN_EVENT_GAMEPADDISCONNECTED",
"EMSCRIPTEN_EVENT_BEFOREUNLOAD",
"EMSCRIPTEN_EVENT_BATTERYCHARGINGCHANGE",
"EMSCRIPTEN_EVENT_BATTERYLEVELCHANGE",
"EMSCRIPTEN_EVENT_WEBGLCONTEXTLOST",
"EMSCRIPTEN_EVENT_WEBGLCONTEXTRESTORED",
"EMSCRIPTEN_EVENT_MOUSEENTER",
"EMSCRIPTEN_EVENT_MOUSELEAVE",
"EMSCRIPTEN_EVENT_MOUSEOVER",
"EMSCRIPTEN_EVENT_MOUSEOUT",
"EMSCRIPTEN_EVENT_CANVASRESIZED",
"EMSCRIPTEN_EVENT_POINTERLOCKERROR",
"EMSCRIPTEN_RESULT_SUCCESS",
"EMSCRIPTEN_RESULT_DEFERRED",
"EMSCRIPTEN_RESULT_FAILED_NOT_DEFERRED",
"EMSCRIPTEN_RESULT_INVALID_TARGET",
"EMSCRIPTEN_RESULT_UNKNOWN_TARGET",
"EMSCRIPTEN_RESULT_INVALID_PARAM",
"EMSCRIPTEN_RESULT_NOT_SUPPORTED",
"EMSCRIPTEN_RESULT_FAILED",
"EMSCRIPTEN_RESULT_NO_DATA",
"EMSCRIPTEN_RESULT_TIMED_OUT",
"EMSCRIPTEN_EVENT_TARGET_INVALID",
"EMSCRIPTEN_EVENT_TARGET_DOCUMENT",
"EMSCRIPTEN_EVENT_TARGET_WINDOW",
"EMSCRIPTEN_EVENT_TARGET_SCREEN",
"EMSCRIPTEN_FULLSCREEN_SCALE_DEFAULT",
"EMSCRIPTEN_FULLSCREEN_SCALE_STRETCH",
"EMSCRIPTEN_FULLSCREEN_SCALE_ASPECT",
"EMSCRIPTEN_FULLSCREEN_SCALE_CENTER",
"EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_NONE",
"EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_STDDEF",
"EMSCRIPTEN_FULLSCREEN_CANVAS_SCALE_HIDEF",
"EMSCRIPTEN_FULLSCREEN_FILTERING_DEFAULT",
"EMSCRIPTEN_FULLSCREEN_FILTERING_NEAREST",
"EMSCRIPTEN_FULLSCREEN_FILTERING_BILINEAR",
"EM_HTML5_SHORT_STRING_LEN_BYTES",
"EM_HTML5_MEDIUM_STRING_LEN_BYTES",
"EM_HTML5_LONG_STRING_LEN_BYTES",
"EMSCRIPTEN_WEBGL_CONTEXT_PROXY_DISALLOW",
"EMSCRIPTEN_WEBGL_CONTEXT_PROXY_FALLBACK",
"EMSCRIPTEN_WEBGL_CONTEXT_PROXY_ALWAYS",
"EM_CALLBACK_THREAD_CONTEXT_MAIN_BROWSER_THREAD",
"EM_CALLBACK_THREAD_CONTEXT_CALLING_THREAD",
"EMSCRIPTEN_DEVICE_MOTION_EVENT_SUPPORTS_ACCELERATION",
"EMSCRIPTEN_DEVICE_MOTION_EVENT_SUPPORTS_ACCELERATION_INCLUDING_GRAVITY",
"EMSCRIPTEN_DEVICE_MOTION_EVENT_SUPPORTS_ROTATION_RATE"
],
"structs": {
"EmscriptenKeyboardEvent": [
"key",
"code",
"location",
"ctrlKey",
"shiftKey",
"altKey",
"metaKey",
"repeat",
"locale",
"charValue",
"charCode",
"keyCode",
"which"
],
"EmscriptenMouseEvent": [
"screenX",
"screenY",
"clientX",
"clientY",
"ctrlKey",
"shiftKey",
"altKey",
"metaKey",
"button",
"buttons",
"movementX",
"movementY",
"targetX",
"targetY",
"canvasX",
"canvasY"
],
"EmscriptenWheelEvent": [
"mouse",
"deltaX",
"deltaY",
"deltaZ",
"deltaMode"
],
"EmscriptenUiEvent": [
"detail",
"documentBodyClientWidth",
"documentBodyClientHeight",
"windowInnerWidth",
"windowInnerHeight",
"windowOuterWidth",
"windowOuterHeight",
"scrollTop",
"scrollLeft"
],
"EmscriptenFocusEvent": [
"nodeName",
"id"
],
"EmscriptenDeviceOrientationEvent": [
"alpha",
"beta",
"gamma",
"absolute"
],
"EmscriptenDeviceMotionEvent": [
"accelerationX",
"accelerationY",
"accelerationZ",
"accelerationIncludingGravityX",
"accelerationIncludingGravityY",
"accelerationIncludingGravityZ",
"rotationRateAlpha",
"rotationRateBeta",
"rotationRateGamma"
],
"EmscriptenOrientationChangeEvent": [
"orientationIndex",
"orientationAngle"
],
"EmscriptenFullscreenChangeEvent": [
"isFullscreen",
"fullscreenEnabled",
"nodeName",
"id",
"elementWidth",
"elementHeight",
"screenWidth",
"screenHeight"
],
"EmscriptenPointerlockChangeEvent": [
"isActive",
"nodeName",
"id"
],
"EmscriptenVisibilityChangeEvent": [
"hidden",
"visibilityState"
],
"EmscriptenTouchPoint": [
"identifier",
"screenX",
"screenY",
"clientX",
"clientY",
"pageX",
"pageY",
"isChanged",
"onTarget",
"targetX",
"targetY",
"canvasX",
"canvasY"
],
"EmscriptenTouchEvent": [
"numTouches",
"ctrlKey",
"shiftKey",
"altKey",
"metaKey",
"touches"
],
"EmscriptenGamepadEvent": [
"timestamp",
"axis",
"analogButton",
"digitalButton",
"connected",
"index",
"numAxes",
"numButtons",
"id",
"mapping"
],
"EmscriptenBatteryEvent": [
"chargingTime",
"dischargingTime",
"level",
"charging"
],
"EmscriptenWebGLContextAttributes": [
"alpha",
"depth",
"stencil",
"antialias",
"premultipliedAlpha",
"preserveDrawingBuffer",
"powerPreference",
"failIfMajorPerformanceCaveat",
"majorVersion",
"minorVersion",
"enableExtensionsByDefault",
"explicitSwapControl",
"proxyContextToMainThread",
"renderViaOffscreenBackBuffer"
],
"EmscriptenFullscreenStrategy": [
"scaleMode",
"canvasResolutionScaleMode",
"filteringMode",
"canvasResizedCallback",
"canvasResizedCallbackUserData",
"canvasResizedCallbackTargetThread"
]
}
},
{
"file": "emscripten/threading.h",
"defines": [
"EM_PROXIED_PTHREAD_CREATE",
"EM_PROXIED_CREATE_CONTEXT",
"EM_PROXIED_RESIZE_OFFSCREENCANVAS",
"EM_PROXIED_JS_FUNCTION",
"EM_QUEUED_CALL_MAX_ARGS",
"EM_QUEUED_JS_CALL_MAX_ARGS",
"EM_THREAD_STATUS_NOTSTARTED",
"EM_THREAD_STATUS_RUNNING",
"EM_THREAD_STATUS_SLEEPING",
"EM_THREAD_STATUS_WAITFUTEX",
"EM_THREAD_STATUS_WAITPROXY",
"EM_THREAD_STATUS_FINISHED",
"EM_FUNC_SIG_V",
"EM_FUNC_SIG_VI",
"EM_FUNC_SIG_VII",
"EM_FUNC_SIG_VIII",
"EM_FUNC_SIG_I",
"EM_FUNC_SIG_II",
"EM_FUNC_SIG_III",
"EM_FUNC_SIG_IIII",
"EM_FUNC_SIG_PARAM_I",
"EM_FUNC_SIG_PARAM_I64",
"EM_FUNC_SIG_PARAM_F",
"EM_FUNC_SIG_PARAM_D",
"EM_FUNC_SIG_PARAM_B",
"EM_FUNC_SIG_PARAM_F2I"
]
},
{
"file": "wasi/api.h",
"structs": {
"__wasi_fdstat_t": [
"fs_filetype",
"fs_flags",
"fs_rights_base",
"fs_rights_inheriting"
]
},
"defines": [
"__WASI_FILETYPE_CHARACTER_DEVICE",
"__WASI_FILETYPE_DIRECTORY",
"__WASI_FILETYPE_REGULAR_FILE",
"__WASI_FILETYPE_SYMBOLIC_LINK",
"__WASI_CLOCKID_REALTIME",
"__WASI_CLOCKID_MONOTONIC",
"__WASI_CLOCKID_PROCESS_CPUTIME_ID",
"__WASI_CLOCKID_THREAD_CPUTIME_ID"
]
},
{
"file": "emscripten/fetch.h",
"structs": {
"emscripten_fetch_attr_t": [
"requestMethod",
"userData",
"onsuccess",
"onerror",
"onprogress",
"onreadystatechange",
"attributes",
"timeoutMSecs",
"withCredentials",
"destinationPath",
"userName",
"password",
"requestHeaders",
"overriddenMimeType",
"requestData",
"requestDataSize"
],
"emscripten_fetch_t": [
"id",
"userData",
"url",
"data",
"numBytes",
"dataOffset",
"totalBytes",
"readyState",
"status",
"statusText",
"__proxyState",
"__attributes"
]
},
"defines": ["EMSCRIPTEN_FETCH_LOAD_TO_MEMORY",
"EMSCRIPTEN_FETCH_STREAM_DATA",
"EMSCRIPTEN_FETCH_PERSIST_FILE",
"EMSCRIPTEN_FETCH_APPEND",
"EMSCRIPTEN_FETCH_REPLACE",
"EMSCRIPTEN_FETCH_NO_DOWNLOAD",
"EMSCRIPTEN_FETCH_SYNCHRONOUS",
"EMSCRIPTEN_FETCH_WAITABLE"
]
},
{
"file": "emscripten/fiber.h",
"structs": {
"asyncify_data_s": [
"stack_ptr",
"stack_limit",
"rewind_id"
],
"emscripten_fiber_s": [
"stack_base",
"stack_limit",
"stack_ptr",
"entry",
"user_data",
"asyncify_data"
]
}
},
// ===========================================
// WebGPU
// NOTE: This can be (mostly) auto-generated:
// https://dawn.googlesource.com/dawn/+/refs/heads/main/generator/templates/webgpu_struct_info.json
// ===========================================
{
"file": "webgpu/webgpu.h",
"defines": [],
"structs": {
"WGPUChainedStruct": [
"next",
"sType"
],
"WGPUAdapterProperties": [
"nextInChain",
"deviceID",
"vendorID",
"name",
"driverDescription",
"adapterType",
"backendType"
],
"WGPUBindGroupEntry": [
"binding",
"buffer",
"offset",
"size",
"sampler",
"textureView"
],
"WGPUBlendComponent": [
"operation",
"srcFactor",
"dstFactor"
],
"WGPUBufferBindingLayout": [
"nextInChain",
"type",
"hasDynamicOffset",
"minBindingSize"
],
"WGPUBufferDescriptor": [
"nextInChain",
"label",
"usage",
"size",
"mappedAtCreation"
],
"WGPUColor": [
"r",
"g",
"b",
"a"
],
"WGPUCommandBufferDescriptor": [
"nextInChain",
"label"
],
"WGPUCommandEncoderDescriptor": [
"nextInChain",
"label"
],
"WGPUComputePassDescriptor": [
"nextInChain",
"label"
],
"WGPUExtent3D": [
"width",
"height",
"depthOrArrayLayers"
],
"WGPUInstanceDescriptor": [
"nextInChain"
],
"WGPUMultisampleState": [
"nextInChain",
"count",
"mask",
"alphaToCoverageEnabled"
],
"WGPUOrigin3D": [
"x",
"y",
"z"
],
"WGPUPipelineLayoutDescriptor": [
"nextInChain",
"label",
"bindGroupLayoutCount",
"bindGroupLayouts"
],
"WGPUPrimitiveDepthClampingState": [
"chain",
"clampDepth"
],
"WGPUPrimitiveState": [
"nextInChain",
"topology",
"stripIndexFormat",
"frontFace",
"cullMode"
],
"WGPUProgrammableStageDescriptor": [
"nextInChain",
"module",
"entryPoint"
],
"WGPUQuerySetDescriptor": [
"nextInChain",
"label",
"type",
"count",
"pipelineStatistics",
"pipelineStatisticsCount"
],
"WGPURenderBundleDescriptor": [
"nextInChain",
"label"
],
"WGPURenderBundleEncoderDescriptor": [
"nextInChain",
"label",
"colorFormatsCount",
"colorFormats",
"depthStencilFormat",
"sampleCount"
],
"WGPURenderPassDepthStencilAttachment": [
"view",
"depthLoadOp",
"depthStoreOp",
"clearDepth",
"depthReadOnly",
"stencilLoadOp",
"stencilStoreOp",
"clearStencil",
"stencilReadOnly"
],
"WGPUSamplerBindingLayout": [
"nextInChain",
"type"
],
"WGPUSamplerDescriptor": [
"nextInChain",
"label",
"addressModeU",
"addressModeV",
"addressModeW",
"magFilter",
"minFilter",
"mipmapFilter",
"lodMinClamp",
"lodMaxClamp",
"compare",
"maxAnisotropy"
],
"WGPUShaderModuleDescriptor": [
"nextInChain",
"label"
],
"WGPUShaderModuleSPIRVDescriptor": [
"chain",
"codeSize",
"code"
],
"WGPUShaderModuleWGSLDescriptor": [
"chain",
"source"
],
"WGPUStencilFaceState": [
"compare",
"failOp",
"depthFailOp",
"passOp"
],
"WGPUStorageTextureBindingLayout": [
"nextInChain",
"access",
"format",
"viewDimension"
],
"WGPUSurfaceDescriptor": [
"nextInChain",
"label"
],
"WGPUSurfaceDescriptorFromCanvasHTMLSelector": [
"chain",
"selector"
],
"WGPUSwapChainDescriptor": [
"nextInChain",
"label",
"usage",
"format",
"width",
"height",
"presentMode"
],
"WGPUTextureBindingLayout": [
"nextInChain",
"sampleType",
"viewDimension",
"multisampled"
],
"WGPUTextureDataLayout": [
"nextInChain",
"offset",
"bytesPerRow",
"rowsPerImage"
],
"WGPUTextureViewDescriptor": [
"nextInChain",
"label",
"format",
"dimension",
"baseMipLevel",
"mipLevelCount",
"baseArrayLayer",
"arrayLayerCount",
"aspect"
],
"WGPUVertexAttribute": [
"format",
"offset",
"shaderLocation"
],
"WGPUBindGroupDescriptor": [
"nextInChain",
"label",
"layout",
"entryCount",
"entries"
],
"WGPUBindGroupLayoutEntry": [
"nextInChain",
"binding",
"visibility",
"buffer",
"sampler",
"texture",
"storageTexture"
],
"WGPUBlendState": [
"color",
"alpha"
],
"WGPUComputePipelineDescriptor": [
"nextInChain",
"label",
"layout",
"computeStage"
],
"WGPUDepthStencilState": [
"nextInChain",
"format",
"depthWriteEnabled",
"depthCompare",
"stencilFront",
"stencilBack",
"stencilReadMask",
"stencilWriteMask",
"depthBias",
"depthBiasSlopeScale",
"depthBiasClamp"
],
"WGPUImageCopyBuffer": [
"nextInChain",
"layout",
"buffer"
],
"WGPUImageCopyTexture": [
"nextInChain",
"texture",
"mipLevel",
"origin",
"aspect"
],
"WGPURenderPassColorAttachment": [
"view",
"resolveTarget",
"loadOp",
"storeOp",
"clearColor"
],
"WGPUTextureDescriptor": [
"nextInChain",
"label",
"usage",
"dimension",
"size",
"format",
"mipLevelCount",
"sampleCount"
],
"WGPUVertexBufferLayout": [
"arrayStride",
"stepMode",
"attributeCount",
"attributes"
],
"WGPUBindGroupLayoutDescriptor": [
"nextInChain",
"label",
"entryCount",
"entries"
],
"WGPUColorTargetState": [
"nextInChain",
"format",
"blend",
"writeMask"
],
"WGPURenderPassDescriptor": [
"nextInChain",
"label",
"colorAttachmentCount",
"colorAttachments",
"depthStencilAttachment",
"occlusionQuerySet"
],
"WGPUVertexState": [
"nextInChain",
"module",
"entryPoint",
"bufferCount",
"buffers"
],
"WGPUFragmentState": [
"nextInChain",
"module",
"entryPoint",
"targetCount",
"targets"
],
"WGPURenderPipelineDescriptor2": [
"nextInChain",
"label",
"layout",
"vertex",
"primitive",
"depthStencil",
"multisample",
"fragment"
]
}
}
]