Zebediah Figura (@zfigura) commented about libs/vkd3d-shader/hlsl.h:
struct vkd3d_shader_message_context *message_context;
/* Stores string buffers currently in use. */ struct vkd3d_string_buffer_cache string_buffers;
/* A value from vkd3d_result. 0 means success. */ int result;
/* Pointer to an opaque data structure managed by FLEX (during lexing), that encapsulates the
* current state of the scanner. This pointer is required by all FLEX API functions when the
* scanner is declared as reentrant, which is the case. */
void *scanner;
/* Pointer to the current scope; changes as the parser reads the code. */ struct hlsl_scope *cur_scope;
/* Scope of global variables. */ struct hlsl_scope *globals;
/* Container entry for hlsl_scope.entry fields, containing all the scopes in the program. */
"Container entry for" seems odd to me, also describing what the actual list contains last. I'd say "list of X, linked by Y.entry"?