1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
** SPDX-License-Identifier: MulanPSL-2.0
** sml.h — SML (SNOWARE Markup Language) C 绑定
**
** SML 是声明式数据/配置格式 (JSON/YAML 的替代品)。本头文件声明
** Rust cdylib (sml-rs, 产物 libsml.dll / libsml.so / libsml.dylib)
** 导出的 C-ABI。链接方式:
** - 直接链接: -lsml (Windows) / -lsml (Unix, 需 -L)
** - 动态加载: LoadLibrary/dlopen 按需解析下列符号
**
** 值经 JSON 文本桥接 (sml_parse 输出 JSON; sml_dump 接受 JSON)。
** 字符串返回值由 sml_free 释放 (Rust 分配器, 勿用 libc free)。
*/
extern "C" &&
/* 解析 SML 文本 -> JSON 字符串 (调用方 sml_free 释放); 失败返回 NULL */
SML_API char *;
/* 接受 JSON 字符串, 序列化为 SML 文本 (调用方 sml_free 释放); 失败返回 NULL */
SML_API char *;
/* 释放由 sml_parse / sml_dump 返回的字符串 */
SML_API void ;
/* 版本字符串 (调用方 sml_free) */
SML_API char *;
}
/* SML_H */