Skip to content
Loading local search…

Try a task like “spawn a ship” or “read inventory”, or an exact API name.

Choose one category, or search all.

sc_container_contents_v1.snapshot

Copy at most 64 stored-item records for a session-local container into caller-owned storage; count is capacity in and copied count out, total_seen reports omitted items and generation identifies the provider snapshot. Quantity is positive; volume is meaningful only with VOLUME_KNOWN. No engine pointers or mutation cross the ABI.

sco_result (*)(sco_plugin *, uint64_t, sc_container_snapshot *)

Service index

Property Value
Symbol sc_container_contents_v1.snapshot
Record ID sc-container-contents-v1-snapshot
Service game.inventory.contents
Table sc_container_contents_v1
Version macro SC_CONTAINER_CONTENTS_VERSION_1_0
Packed table version 65536
Since / availability size >= 16; 1.0
Complete member extent (x64 bytes) 16
Table size (x64 bytes) 16

Header source

sco_result (*snapshot)(sco_plugin* self, uint64_t container_id, sc_container_snapshot* out);
Copy at most 64 stored-item records for a session-local container into caller-owned storage; count is capacity in and copied count out, total_seen reports omitted items and generation identifies the provider snapshot. Quantity is positive; volume is meaningful only with VOLUME_KNOWN. No engine pointers or mutation cross the ABI.

OK snapshot; BAD_ARG invalid handle, id, output size or capacity; WRONG_THREAD off game thread; NOT_FOUND unknown container; UNAVAILABLE unbound or stopping; FAILED malformed provider or exception. Known output prefix is cleared on failure, future caller tail untouched.

game.inventory.contents.read defaults OFF; no native engine adapter. Synthetic evidence only, not run in game.

Caller owns output; provider receives service-owned scratch storage only. IDs are session-local, no pointers retained.

Game thread only.

No plugin callback.

Recursive provider reads fail with FAILED.

Service stop withdraws table and drops host-owned backend references. Read-only, no engine state to restore.

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_container_contents.h
(*snapshot)
cpp typed-wrapper include/scosdk/game/container_contents.hpp
table_->snapshot(owner_, container, &out)
csharp unsupported docs/game/container-contents.md
No C#
lua unsupported docs/game/container-contents.md
No C#

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

read container contents; list stored items in a container

This is a search phrase for the existing contract, not an additional API alias.

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