Skip to content

Data Types Reference

abduznik edited this page Jul 17, 2026 · 2 revisions

Data Types Reference

All enums, typedefs, and structs from the public API.

Core Types

typedef char sv_id_t[9]; /* 8-char unique ID + null terminator */

typedef struct sv_registration sv_registration_t; /* opaque handle */

Enums

Registration Mode

typedef enum {
    SV_MODE_DEFAULT = 0,
    SV_MODE_STRATEGY
} sv_registration_mode_t;
Value Meaning
SV_MODE_DEFAULT Generic file/folder tracker, no identity resolution
SV_MODE_STRATEGY Per-platform/emulator identity and manifest-driven strategy

Identity Method

typedef enum {
    SV_IDENTITY_NONE = 0,
    SV_IDENTITY_SERIAL_CNF,
    SV_IDENTITY_SERIAL_SFO,
    SV_IDENTITY_SERIAL_IPBIN,
    SV_IDENTITY_BOOT_HEADER,
    SV_IDENTITY_CHECKSUM,
    SV_IDENTITY_PLUGGABLE,
} sv_identity_method_t;
Value Meaning
SV_IDENTITY_NONE No identity resolution
SV_IDENTITY_SERIAL_CNF SYSTEM.CNF-style serial extraction (PS1/PS2)
SV_IDENTITY_SERIAL_SFO PARAM.SFO-style serial extraction (PSP/PS2)
SV_IDENTITY_SERIAL_IPBIN IP.BIN-style serial extraction (Saturn)
SV_IDENTITY_BOOT_HEADER Boot header extraction (GameCube/Wii)
SV_IDENTITY_CHECKSUM Header checksum + file size (SNES/Genesis)
SV_IDENTITY_PLUGGABLE Caller-supplied hash-DB callback

Save Shape

typedef enum {
    SAVE_SHAPE_UNKNOWN = 0,
    SAVE_SHAPE_FILE,
    SAVE_SHAPE_DIRECTORY,
    SAVE_SHAPE_CONTAINER,
    SAVE_SHAPE_ARCHIVE
} sv_save_shape_t;
Value Meaning
SAVE_SHAPE_UNKNOWN Opaque-blob fallback
SAVE_SHAPE_FILE Single file save
SAVE_SHAPE_DIRECTORY Directory with multiple files
SAVE_SHAPE_CONTAINER Container format (e.g. Wii save blocks)
SAVE_SHAPE_ARCHIVE Archive format (e.g. ZIP)

Conflict Detection

typedef enum {
    SV_CONFLICT_NONE = 0,
    SV_CONFLICT_EXISTING_DATA
} sv_conflict_t;

Conflict Policy (Registration Update)

typedef enum {
    SV_ON_CONFLICT_REPORT = 0,
    SV_ON_CONFLICT_OVERRIDE,
    SV_ON_CONFLICT_ABORT_SILENT
} sv_on_conflict_t;
Value Meaning
SV_ON_CONFLICT_REPORT Report conflict, do not proceed (default)
SV_ON_CONFLICT_OVERRIDE Proceed despite conflict
SV_ON_CONFLICT_ABORT_SILENT Abort silently without error

Relocation Mode

typedef enum {
    SV_RELOCATE_COPY = 0,
    SV_RELOCATE_MOVE
} sv_relocate_mode_t;
Value Meaning
SV_RELOCATE_COPY Copy files, leave source intact (default)
SV_RELOCATE_MOVE Copy-verify-then-delete-source

Pull Conflict Policy

typedef enum {
    SV_PULL_ON_CONFLICT_REPORT = 0,
    SV_PULL_ON_CONFLICT_OVERRIDE
} sv_pull_on_conflict_t;

Eviction Policy

typedef enum {
    SV_EVICT_OLDEST = 0,
    SV_EVICT_NONE
} sv_eviction_policy_t;

Transport Status

typedef enum {
    SV_XPORT_OK = 0,
    SV_XPORT_ERR_IO,
    SV_XPORT_ERR_AUTH,
    SV_XPORT_ERR_NOT_FOUND,
    SV_XPORT_ERR_CONFLICT,
    SV_XPORT_ERR_OTHER
} sv_xport_status_t;

See also: API-Reference | Layer-3-Metadata-Store

Clone this wiki locally