Skip to content

sco_api.log

Logs [plugin] message on one line; warn/error add a tag, CR/LF become spaces and long message is cut.

void (*)(sco_plugin *, sco_log_level, const char *)

Service index

Property Value
Symbol sco_api.log
Record ID sco-api-log
Service sco_api
Table sco_api
Version macro SCO_API_MAJOR/SCO_API_MINOR
Packed table version 65537
Since / availability size >= 64; 1.0
Complete member extent (x64 bytes) 64
Table size (x64 bytes) 128

Header source

void (*log)(sco_plugin* self, sco_log_level level, const char* message);
Logs [plugin] message on one line; warn/error add a tag, CR/LF become spaces and long message is cut.

void; invalid/released self or NULL message silently ignored; CR/LF become spaces and message truncates; unknown level follows info branch. No capability gate.

unspecified

Message borrowed for call, copied/sanitized through 512-byte stack buffer; no allocation transfer.

Any thread; reentrancy unspecified.

unspecified

unspecified

No cancellation entrypoint; synchronous unless noted.

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_api.h
(*log)
cpp typed-wrapper include/scosdk/plugin.hpp
api->log(self, SCO_LOG_ERROR, line);
csharp typed-wrapper sdk/csharp/Sco.Sdk/Plugin.cs
fixed (byte* m = Utf8.Z(message)) api->log(self, level, m);
lua typed-wrapper plugins/lua/sco_lua.c
s->api->log(s->self, SCO_LOG_ERROR, line);

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