Files
bluelib/serial/include/blue/serial.h

35 lines
865 B
C
Raw Normal View History

#ifndef BLUE_SERIAL_H_
#define BLUE_SERIAL_H_
#include <blue/core/misc.h>
#include <blue/core/object.h>
#include <blue/core/status.h>
#include <blue/core/stream.h>
typedef enum b_serial_format {
B_SERIAL_FORMAT_NONE = 0,
B_SERIAL_FORMAT_BITCODE,
B_SERIAL_FORMAT_JSON,
2025-09-22 10:54:33 +01:00
B_SERIAL_FORMAT_TOML,
} b_serial_format;
typedef enum b_serial_flags {
B_SERIAL_F_NONE = 0,
B_SERIAL_F_PRETTY = 0x01u,
} b_serial_flags;
typedef struct b_serial_ctx b_serial_ctx;
BLUE_API b_status b_serial_ctx_create(b_serial_ctx **out);
BLUE_API b_status b_serial_ctx_destroy(b_serial_ctx *ctx);
BLUE_API b_status b_serial_ctx_serialise(
b_serial_ctx *ctx, b_serial_format fmt, b_object *src, b_stream *dest,
b_serial_flags flags);
BLUE_API b_status b_serial_ctx_deserialise(
b_serial_ctx *ctx, b_serial_format fmt, b_stream *src, b_object **dest,
b_serial_flags flags);
#endif