/XServer/ — the SDK trio
| Path | Contents |
|---|---|
/xs/xsbase.h | the contract header: 14 symbols, 20 APIs, structs and enums — #include <xsbase.h> pulls in the next two automatically |
/xs/xrt_decl.h | xrt's full public declarations (3,030 API prototypes) |
/xs/libtcc.h | the nested-compilation API declarations |
These three headers are versioned with the binary (packed from the source tree at build time) — "old header, new library" drift cannot exist.
/tcc/ — the header tree
| Path | Contents |
|---|---|
/tcc/include/tcclib.h | TCC runtime helper declarations |
/tcc/include_win/** | Windows SDK headers (pruned to a keep-set: all of winapi plus curl) |
/tcc/include_linux/** | the Linux side's standard headers (the full C99/C11 set) |
The Windows side has one more implicit channel: msvcrt and kernel32 are mounted automatically in memory-compilation mode — scripts use the standard library and basic Win32 APIs without a single line of link configuration.
/tcc/ — library definitions
/tcc/lib/*.def: kernel32, msvcrt, user32, gdi32, shell32, ole32, oleaut32, ws2_32, imm32 — referenced directly via#pragma comment(lib, ...)or tcc_add_library/tcc/lib/libtcc1.a: the TCC runtime helper library (used automatically by the compiler)
This library surface means: processes (CreateProcess), COM (Excel automation), native sockets and shell operations are all directly available to scripts — the capability-boundary discussion is in chapter 44.
Variant differences
| Variant | Extra VFS contents | Extra symbols |
|---|---|---|
default | — | — |
sqlite | sqlite3.h enters the VFS | +272 (sqlite3_*) |
xtp | xtp2.h enters the VFS | +13 (xtp2_*) |
sqlite xtp | both headers enter | +285 |
xllm / xllm-session | two headers into the VFS | +98 (xllm_*/xllmSession_*) |
xmail / xsmtp xpop3 ximap | xmail header tree + protocol headers + the xrt shim layer | +283 (xrtMail*/Smtp/Pop3/Imap*) |
md4c | md4c.h + md4c-html.h | +2 (md_parse/md_html) |
xacme | xacme header tree + flow headers | +20 (xrtAcme*/xacmeClient*) |
qrcodegen | qrcodegen.h + qrpng.h | +10 (qrcodegen_*/png) |
all | all ten library header trees | +700 |
The isolation is strict: under the default variant, a script that includes <sqlite3.h> gets a "header not found" compile error, and referencing sqlite3_* symbols fails at link time — unselected capabilities do not exist in the process; not hidden, simply absent.