sc_entities_v1.list_classes
Copy an epoch-pinned sorted bounded class registry page; capacity <=64, zero counts only. Stale epoch NOT_FOUND; malformed or incomplete backend snapshot refused.
Signature
Section titled “Signature”sco_result (*)(uint64_t, uint32_t, sc_entity_class_page *)Service and availability
Section titled “Service and availability”| Property | Value |
|---|---|
| Symbol | sc_entities_v1.list_classes |
| Record ID | sc-entities-v1-list-classes |
| Service | game.entities |
| Table | sc_entities_v1 |
| Version macro | SC_ENTITIES_VERSION_1_2 |
| Packed table version | 65538 |
| Since / availability | size >= 104; 1.2 |
| Complete member extent (x64 bytes) | 104 |
| Table size (x64 bytes) | 128 |
Parameters and buffers
Section titled “Parameters and buffers”sco_result (*list_classes)(uint64_t epoch, uint32_t offset, sc_entity_class_page* out);
Copy an epoch-pinned sorted bounded class registry page; capacity <=64, zero counts only. Stale epoch NOT_FOUND; malformed or incomplete backend snapshot refused.
Results and failures
Section titled “Results and failures”OK copied observation; BAD_ARG invalid name/kind/output/capacity; WRONG_THREAD; NOT_FOUND stale epoch or absent item; FAILED malformed/ambiguous provider; UNAVAILABLE unbound/stopped. Known output prefix zeroed on failure, size/tail preserved.
Absent capability
Section titled “Absent capability”game.entities.lookup OFF; no native registry/name/component adapter, not run in game.
Ownership
Section titled “Ownership”Caller-owned copied outputs; host session identities only, no native pointers or allocation across ABI.
Thread affinity
Section titled “Thread affinity”Game thread only.
Callback context
Section titled “Callback context”No plugin callbacks; synchronous bounded host backend.
Reentrancy
Section titled “Reentrancy”Recursive backend entry FAILED; stop during callback invalidates output.
Cleanup and cancellation
Section titled “Cleanup and cancellation”No retained plugin resource. Stop invalidates admission and epochs; requery session/streaming observations before use.
Language mappings
Section titled “Language mappings”Status labels are copied verbatim from the catalogue: direct is native access; typed-wrapper is wrapper-backed; restricted is a subset/adaptation; unsupported means no supported route is established. No status implies universal safety.
| Language | Catalogue status | Source evidence / wrapper tokens |
|---|---|---|
| c | direct | include/sc_entities.h(*list_classes) |
| cpp | typed-wrapper | include/scosdk/game/entities.hppt_->list_classes( |
| csharp | unsupported | docs/game/entities.md1.2 tails: C# and Lua unsupported |
| lua | unsupported | docs/game/entities.md1.2 tails: C# and Lua unsupported |
Examples
Section titled “Examples”None identified in the catalogue; this is not proof none can exist.
ABI pins prove layout, not semantic behavior or a live game session.