Skip to content

sc_owned_v1.forget

Forget owner-scoped receipt to reclaim capacity; not cancellation, completion or renewed ownership.

sco_result (*)(sco_plugin *, uint64_t)

Service index

Property Value
Symbol sc_owned_v1.forget
Record ID sc-owned-v1-forget
Service game.owned
Table sc_owned_v1
Version macro SC_OWNED_VERSION_1_0
Packed table version 65536
Since / availability size >= 56; 1.0
Complete member extent (x64 bytes) 56
Table size (x64 bytes) 56

Header source

sco_result (*forget)(sco_plugin* self, uint64_t ticket);
Forget owner-scoped receipt to reclaim capacity; not cancellation, completion or renewed ownership.

BAD_ARG invalid/released self or arguments; NOT_FOUND foreign/stale authority; UNAVAILABLE missing/partial/null prerequisite method; FAILED changed seat; TOO_MANY full tracking. Underlying refusal propagates; SCO_OK removal is initiation only.

Absent table: query_service NOT_FOUND; prerequisite operations may be UNAVAILABLE.

Explicit retained entities ownership while loaded; NPC authority is actors-only. Owner-scoped receipts, caller outputs; fixed global bounds of 1024 each, no cross-boundary allocation.

Game thread only; WRONG_THREAD elsewhere. No recursive reentry.

No caller callbacks. Existing game-pack primitives only.

No recursive reentry.

Ordinary unload removes retained placements/NPCs through existing hooks and clears receipts. No across-reload persistence; retained-provider faults require restart and skip resource hooks.

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_owned.h
(*forget)
cpp direct include/sc_owned.h
(*forget)
csharp unsupported docs/design/owned-removal.md
C# game.owned is unsupported
lua unsupported docs/design/owned-removal.md
Lua game.owned is 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.