Skip to content

sc_missions_v1.accept

Accept the exact current broker/offer/generation with a nonzero owner/session idempotency key. Duplicate identical requests return the original handle without another effect; changed input with the same key is BAD_ARG. At most 64 retained acceptance receipts per session; no eviction.

sco_result (*)(sco_plugin *, const sc_mission_offer *, uint64_t, uint64_t *)

Service index

Property Value
Symbol sc_missions_v1.accept
Record ID sc-missions-v1-accept
Service game.missions
Table sc_missions_v1
Version macro SC_MISSIONS_SERVICE_VERSION
Packed table version 65536
Since / availability size >= 32; 1.0
Complete member extent (x64 bytes) 32
Table size (x64 bytes) 64

Header source

sco_result (*accept)(sco_plugin* self, const sc_mission_offer* offer, uint64_t key, uint64_t* out_mission);
Accept the exact current broker/offer/generation with a nonzero owner/session idempotency key. Duplicate identical requests return the original handle without another effect; changed input with the same key is BAD_ARG. At most 64 retained acceptance receipts per session; no eviction.

OK on success; BAD_ARG invalid/short input or released handle; UNAVAILABLE absent backend/unsafe admission; NOT_FOUND unknown IDs; TOO_MANY bounded quota; FAILED refused progression/provider failure; CRASHED latches restart required. Outputs untouched on failure.

Missing table: query_service NOT_FOUND; absent method/backend or unsafe admission: UNAVAILABLE.

Caller-owned copied buffers; no allocation transfer. Mutations scoped to live plugin and current offline session.

Game thread only; WRONG_THREAD before backend access.

Backend callbacks synchronous on game thread; pointers valid only during call.

Recursive calls and Stop/replacement during callbacks refused (FAILED).

Consumers unload before Stop. Released owners lose mutation authority. No automatic persistence or replay of uncertain effects. Native faults permanently close admission until process 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/sc_missions.h
(*accept)
cpp direct include/sc_missions.h
(*accept)
csharp unsupported docs/design/offline-missions.md
C# and Lua bindings are unsupported
lua unsupported docs/design/offline-missions.md
C# and Lua bindings 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.