Skip to content

sco_content_v1.item

Copies one supported list/script record by zero-based kind ordinal in plugin/name order. Caller sets size >= sizeof(sco_content_item). Duplicate names retain distinct IDs. Failure leaves output untouched.

sco_result (*)(sco_plugin *, sco_content_kind, uint32_t, sco_content_item *)

Service index

Property Value
Symbol sco_content_v1.item
Record ID sco-content-v1-item
Service sco.content
Table sco_content_v1
Version macro SCO_CONTENT_VERSION_1_0
Packed table version 65536
Since / availability size >= 16; 1.0
Complete member extent (x64 bytes) 16
Table size (x64 bytes) 24

Header source

sco_result (*item)(sco_plugin* self, sco_content_kind kind, uint32_t ordinal, sco_content_item* out);
Copies one supported list/script record by zero-based kind ordinal in plugin/name order. Caller sets size >= sizeof(sco_content_item). Duplicate names retain distinct IDs. Failure leaves output untouched.

Query NOT_FOUND when absent; UNAVAILABLE when stopped/terminal shutdown; WRONG_THREAD off game thread; BAD_ARG invalid/released self or invalid buffer/kind; NOT_FOUND ordinal end or unknown/stale ID; read TOO_MANY reports needed bytes.

Query NOT_FOUND when service absent; no game capability required.

Caller-owned copied records/bytes; host owns bounded startup snapshot. No paths, borrowed content pointers or allocation transfer.

Game thread only; synchronous memory copies, no callouts or file IO.

No callbacks.

No callouts; callable from a game-thread consumer callback while runtime admission is open.

No cancel or per-owner resource; host Stop clears snapshot and invalidates IDs. Table storage is process-lifetime; packs require restart.

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_content.h
(*item)
cpp typed-wrapper include/scosdk/content.hpp
table_->item(
csharp unsupported docs/design/content-access.md
no C#/Lua binding
lua unsupported docs/design/content-access.md
no C#/Lua binding

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