// Copyright © 2026 Sovereign Source Foundation. All rights reserved. // Licensed under Sovereign Source License + Business Source License 1.1. // Change Date: December 31, 2027 — after which, licensed under AGPL-3.0-only. // See LICENSE for complete terms. /* WORM C Binding for Nim j-matrix-twin Stub implementation. Real WORM library will be linked at build time. */ #include #include #include typedef struct { uint8_t writer_id[32]; } WormWriter; void *worm_init_writer(const uint8_t *writer_id) { WormWriter *w = malloc(sizeof(WormWriter)); if (!w) return NULL; for (int i = 0; i < 32; i++) { w->writer_id[i] = writer_id ? writer_id[i] : 0; } return w; } void *worm_create_record( void *writer, const uint8_t *stream_id, const uint8_t *payload_hash) { if (!writer || !stream_id || !payload_hash) { return NULL; } /* Stub: return non-NULL to indicate record created */ return (void *)0x1; } int32_t worm_append_local(void *writer, void *record) { if (!writer || !record) { return 1; /* error */ } /* Stub: return 0 to indicate success */ return 0; } void worm_free(void *obj) { if (obj && obj != (void *)0x1) { free(obj); } }