Skip to content

sco_widgets_v1.capabilities

caps[0] is the array length on entry (at least 2) and the number of elements written on success; the host fills the SCO_WIDGETS_CAP_* indices it knows up to that length: feature bits, then the running limits for panels, nodes/panel, live nodes, items, columns, text bytes and events per pass. 1.1 defines 9 elements. Failure writes nothing.

sco_result (*)(sco_plugin *, uint32_t *)

Service index

Property Value
Symbol sco_widgets_v1.capabilities
Record ID sco-widgets-v1-capabilities
Service sco.widgets
Table sco_widgets_v1
Version macro SCO_WIDGETS_VERSION_1_1
Packed table version 65537
Since / availability size >= 48; 1.1
Complete member extent (x64 bytes) 48
Table size (x64 bytes) 48

Header source

sco_result (*capabilities)(sco_plugin* self, uint32_t* caps);
caps[0] is the array length on entry (at least 2) and the number of elements written on success; the host fills the SCO_WIDGETS_CAP_* indices it knows up to that length: feature bits, then the running limits for panels, nodes/panel, live nodes, items, columns, text bytes and events per pass. 1.1 defines 9 elements. Failure writes nothing.

OK; WRONG_THREAD off game thread; UNAVAILABLE stopped service/host; BAD_ARG invalid/released owner, NULL caps or caps[0] below 2.

Check the table size covers the member and the pointer is non-NULL: a 1.0 table (24 bytes) has no 1.1 members. query_service answers UNAVAILABLE for 1.1 against a 1.0 host.

Caller-owned array written in place. No allocation transfer.

Game thread only; WRONG_THREAD elsewhere. No callbacks.

No plugin callback.

Callable from an event callback; reads constants under the registry lock, never held during plugin code.

Synchronous query; nothing to release. No cancellation entrypoint.

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/sco_widgets.h
(*capabilities)
cpp direct include/sco_widgets.h
(*capabilities)
csharp unsupported docs/contracts.md
C# and Lua sco.widgets 1.1 routes are unsupported.
lua unsupported docs/contracts.md
C# and Lua sco.widgets 1.1 routes are unsupported.

None identified in the catalogue; this is not proof none can exist.

ABI pins prove layout, not semantic behavior or a live game session.