---
source: varnish-macros/src/tests.rs
---
VMOD_JSON_SPEC
[
[
"$VMOD",
"2.0",
"types",
"Vmod_vmod_types_Func",
"588c3412d1551da71ba6b202dfc75ddc56e6923b6d0f9c304b2bc485809cbb6e",
"Varnish (version) (hash)",
"0",
"0"
],
[
"$CPROTO",
"
typedef VCL_VOID td_vmod_types_to_void(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_to_res_void_err(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_to_res_str_err(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_to_res_box_err(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_type_array_u8(
VRT_CTX,
VCL_BLOB
);
struct arg_vmod_types_opt_array_u8 {
char valid__v;
VCL_BLOB _v;
};
typedef VCL_VOID td_vmod_types_opt_array_u8(
VRT_CTX,
struct arg_vmod_types_opt_array_u8 *
);
typedef VCL_VOID td_vmod_types_type_bool(
VRT_CTX,
VCL_BOOL
);
typedef VCL_VOID td_vmod_types_type_bool_dflt(
VRT_CTX,
VCL_BOOL
);
struct arg_vmod_types_opt_bool {
char valid__v;
VCL_BOOL _v;
};
typedef VCL_VOID td_vmod_types_opt_bool(
VRT_CTX,
struct arg_vmod_types_opt_bool *
);
typedef VCL_BOOL td_vmod_types_to_bool(
VRT_CTX
);
typedef VCL_BOOL td_vmod_types_to_res_bool(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_type_cstr(
VRT_CTX,
VCL_STRING
);
struct arg_vmod_types_opt_cstr {
char valid__v;
VCL_STRING _v;
};
typedef VCL_VOID td_vmod_types_opt_cstr(
VRT_CTX,
struct arg_vmod_types_opt_cstr *
);
typedef VCL_VOID td_vmod_types_opt_cstr_req(
VRT_CTX,
VCL_STRING
);
typedef VCL_VOID td_vmod_types_type_cstr_dflt(
VRT_CTX,
VCL_STRING
);
typedef VCL_VOID td_vmod_types_type_cstr_dflt2(
VRT_CTX,
VCL_STRING
);
struct arg_vmod_types_opt_cstr_dflt {
char valid__v;
VCL_STRING _v;
};
typedef VCL_VOID td_vmod_types_opt_cstr_dflt(
VRT_CTX,
struct arg_vmod_types_opt_cstr_dflt *
);
typedef VCL_VOID td_vmod_types_opt_cstr_dflt2(
VRT_CTX,
VCL_STRING
);
typedef VCL_STRING td_vmod_types_to_cstr(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_res_cstr(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_res_cstr_err(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_type_duration(
VRT_CTX,
VCL_DURATION
);
struct arg_vmod_types_opt_duration {
char valid__v;
VCL_DURATION _v;
};
typedef VCL_VOID td_vmod_types_opt_duration(
VRT_CTX,
struct arg_vmod_types_opt_duration *
);
typedef VCL_DURATION td_vmod_types_to_duration(
VRT_CTX
);
typedef VCL_DURATION td_vmod_types_to_res_duration(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_type_f64(
VRT_CTX,
VCL_REAL
);
typedef VCL_VOID td_vmod_types_type_f64_dflt(
VRT_CTX,
VCL_REAL
);
struct arg_vmod_types_opt_f64 {
char valid__v;
VCL_REAL _v;
};
typedef VCL_VOID td_vmod_types_opt_f64(
VRT_CTX,
struct arg_vmod_types_opt_f64 *
);
typedef VCL_REAL td_vmod_types_to_f64(
VRT_CTX
);
typedef VCL_REAL td_vmod_types_to_res_f64(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_type_i64(
VRT_CTX,
VCL_INT
);
typedef VCL_VOID td_vmod_types_type_i64_dflt(
VRT_CTX,
VCL_INT
);
struct arg_vmod_types_opt_i64 {
char valid__v;
VCL_INT _v;
};
typedef VCL_VOID td_vmod_types_opt_i64(
VRT_CTX,
struct arg_vmod_types_opt_i64 *
);
typedef VCL_INT td_vmod_types_to_i64(
VRT_CTX
);
typedef VCL_INT td_vmod_types_to_res_i64(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_type_str(
VRT_CTX,
VCL_STRING
);
struct arg_vmod_types_opt_str {
char valid__v;
VCL_STRING _v;
};
typedef VCL_VOID td_vmod_types_opt_str(
VRT_CTX,
struct arg_vmod_types_opt_str *
);
typedef VCL_VOID td_vmod_types_opt_str_req(
VRT_CTX,
VCL_STRING
);
typedef VCL_VOID td_vmod_types_type_str_dflt(
VRT_CTX,
VCL_STRING
);
struct arg_vmod_types_opt_str_dflt {
char valid__v;
VCL_STRING _v;
};
typedef VCL_VOID td_vmod_types_opt_str_dflt(
VRT_CTX,
struct arg_vmod_types_opt_str_dflt *
);
typedef VCL_STRING td_vmod_types_to_str(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_res_str(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_string(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_opt_string(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_res_string(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_res_opt_string(
VRT_CTX
);
struct arg_vmod_types_type_probe {
char valid__v;
VCL_PROBE _v;
};
typedef VCL_VOID td_vmod_types_type_probe(
VRT_CTX,
struct arg_vmod_types_type_probe *
);
typedef VCL_VOID td_vmod_types_type_probe_req(
VRT_CTX,
VCL_PROBE
);
typedef VCL_PROBE td_vmod_types_to_probe(
VRT_CTX
);
typedef VCL_PROBE td_vmod_types_to_res_probe(
VRT_CTX
);
struct arg_vmod_types_type_cow_probe {
char valid__v;
VCL_PROBE _v;
};
typedef VCL_VOID td_vmod_types_type_cow_probe(
VRT_CTX,
struct arg_vmod_types_type_cow_probe *
);
typedef VCL_VOID td_vmod_types_type_cow_probe_req(
VRT_CTX,
VCL_PROBE
);
typedef VCL_PROBE td_vmod_types_to_cow_probe(
VRT_CTX
);
typedef VCL_PROBE td_vmod_types_to_res_cow_probe(
VRT_CTX
);
struct arg_vmod_types_type_ip {
char valid__v;
VCL_IP _v;
};
typedef VCL_VOID td_vmod_types_type_ip(
VRT_CTX,
struct arg_vmod_types_type_ip *
);
typedef VCL_VOID td_vmod_types_type_ip_req(
VRT_CTX,
VCL_IP
);
typedef VCL_IP td_vmod_types_to_ip(
VRT_CTX
);
typedef VCL_IP td_vmod_types_to_res_ip(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_vcl_string(
VRT_CTX
);
typedef VCL_STRING td_vmod_types_to_res_vcl_string(
VRT_CTX
);
struct arg_vmod_types_opt_i64_opt_i64 {
VCL_INT a1;
char valid_a2;
VCL_INT a2;
VCL_INT a3;
};
typedef VCL_STRING td_vmod_types_opt_i64_opt_i64(
VRT_CTX,
struct arg_vmod_types_opt_i64_opt_i64 *
);
typedef VCL_VOID td_vmod_types_get_ws_mut(
VRT_CTX
);
typedef VCL_VOID td_vmod_types_get_ws_ref(
VRT_CTX
);
struct Vmod_vmod_types_Func {
td_vmod_types_to_void *f_to_void;
td_vmod_types_to_res_void_err *f_to_res_void_err;
td_vmod_types_to_res_str_err *f_to_res_str_err;
td_vmod_types_to_res_box_err *f_to_res_box_err;
td_vmod_types_type_array_u8 *f_type_array_u8;
td_vmod_types_opt_array_u8 *f_opt_array_u8;
td_vmod_types_type_bool *f_type_bool;
td_vmod_types_type_bool_dflt *f_type_bool_dflt;
td_vmod_types_opt_bool *f_opt_bool;
td_vmod_types_to_bool *f_to_bool;
td_vmod_types_to_res_bool *f_to_res_bool;
td_vmod_types_type_cstr *f_type_cstr;
td_vmod_types_opt_cstr *f_opt_cstr;
td_vmod_types_opt_cstr_req *f_opt_cstr_req;
td_vmod_types_type_cstr_dflt *f_type_cstr_dflt;
td_vmod_types_type_cstr_dflt2 *f_type_cstr_dflt2;
td_vmod_types_opt_cstr_dflt *f_opt_cstr_dflt;
td_vmod_types_opt_cstr_dflt2 *f_opt_cstr_dflt2;
td_vmod_types_to_cstr *f_to_cstr;
td_vmod_types_to_res_cstr *f_to_res_cstr;
td_vmod_types_to_res_cstr_err *f_to_res_cstr_err;
td_vmod_types_type_duration *f_type_duration;
td_vmod_types_opt_duration *f_opt_duration;
td_vmod_types_to_duration *f_to_duration;
td_vmod_types_to_res_duration *f_to_res_duration;
td_vmod_types_type_f64 *f_type_f64;
td_vmod_types_type_f64_dflt *f_type_f64_dflt;
td_vmod_types_opt_f64 *f_opt_f64;
td_vmod_types_to_f64 *f_to_f64;
td_vmod_types_to_res_f64 *f_to_res_f64;
td_vmod_types_type_i64 *f_type_i64;
td_vmod_types_type_i64_dflt *f_type_i64_dflt;
td_vmod_types_opt_i64 *f_opt_i64;
td_vmod_types_to_i64 *f_to_i64;
td_vmod_types_to_res_i64 *f_to_res_i64;
td_vmod_types_type_str *f_type_str;
td_vmod_types_opt_str *f_opt_str;
td_vmod_types_opt_str_req *f_opt_str_req;
td_vmod_types_type_str_dflt *f_type_str_dflt;
td_vmod_types_opt_str_dflt *f_opt_str_dflt;
td_vmod_types_to_str *f_to_str;
td_vmod_types_to_res_str *f_to_res_str;
td_vmod_types_to_string *f_to_string;
td_vmod_types_to_opt_string *f_to_opt_string;
td_vmod_types_to_res_string *f_to_res_string;
td_vmod_types_to_res_opt_string *f_to_res_opt_string;
td_vmod_types_type_probe *f_type_probe;
td_vmod_types_type_probe_req *f_type_probe_req;
td_vmod_types_to_probe *f_to_probe;
td_vmod_types_to_res_probe *f_to_res_probe;
td_vmod_types_type_cow_probe *f_type_cow_probe;
td_vmod_types_type_cow_probe_req *f_type_cow_probe_req;
td_vmod_types_to_cow_probe *f_to_cow_probe;
td_vmod_types_to_res_cow_probe *f_to_res_cow_probe;
td_vmod_types_type_ip *f_type_ip;
td_vmod_types_type_ip_req *f_type_ip_req;
td_vmod_types_to_ip *f_to_ip;
td_vmod_types_to_res_ip *f_to_res_ip;
td_vmod_types_to_vcl_string *f_to_vcl_string;
td_vmod_types_to_res_vcl_string *f_to_res_vcl_string;
td_vmod_types_opt_i64_opt_i64 *f_opt_i64_opt_i64;
td_vmod_types_get_ws_mut *f_get_ws_mut;
td_vmod_types_get_ws_ref *f_get_ws_ref;
};
static struct Vmod_vmod_types_Func Vmod_vmod_types_Func;"
],
[
"$FUNC",
"to_void",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_to_void",
""
]
],
[
"$FUNC",
"to_res_void_err",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_to_res_void_err",
""
]
],
[
"$FUNC",
"to_res_str_err",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_to_res_str_err",
""
]
],
[
"$FUNC",
"to_res_box_err",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_to_res_box_err",
""
]
],
[
"$FUNC",
"type_array_u8",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_array_u8",
"",
[
"BLOB",
"_v",
"_v"
]
]
],
[
"$FUNC",
"opt_array_u8",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_array_u8",
"struct arg_vmod_types_opt_array_u8",
[
"BLOB",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"type_bool",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_bool",
"",
[
"BOOL",
"_v",
"_v"
]
]
],
[
"$FUNC",
"type_bool_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_bool_dflt",
"",
[
"BOOL",
"_v",
"_v",
"1"
]
]
],
[
"$FUNC",
"opt_bool",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_bool",
"struct arg_vmod_types_opt_bool",
[
"BOOL",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"to_bool",
[
[
"BOOL"
],
"Vmod_vmod_types_Func.f_to_bool",
""
]
],
[
"$FUNC",
"to_res_bool",
[
[
"BOOL"
],
"Vmod_vmod_types_Func.f_to_res_bool",
""
]
],
[
"$FUNC",
"type_cstr",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_cstr",
"",
[
"STRING",
"_v",
"_v"
]
]
],
[
"$FUNC",
"opt_cstr",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_cstr",
"struct arg_vmod_types_opt_cstr",
[
"STRING",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"opt_cstr_req",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_cstr_req",
"",
[
"STRING",
"_v",
"_v"
]
]
],
[
"$FUNC",
"type_cstr_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_cstr_dflt",
"",
[
"STRING",
"_v",
"_v",
"\"baz\""
]
]
],
[
"$FUNC",
"type_cstr_dflt2",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_cstr_dflt2",
"",
[
"STRING",
"_v",
"_v",
"\"baz\""
]
]
],
[
"$FUNC",
"opt_cstr_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_cstr_dflt",
"struct arg_vmod_types_opt_cstr_dflt",
[
"STRING",
"_v",
"_v",
"\"baz\"",
null,
true
]
]
],
[
"$FUNC",
"opt_cstr_dflt2",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_cstr_dflt2",
"",
[
"STRING",
"_v",
"_v",
"\"baz\""
]
]
],
[
"$FUNC",
"to_cstr",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_cstr",
""
]
],
[
"$FUNC",
"to_res_cstr",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_res_cstr",
""
]
],
[
"$FUNC",
"to_res_cstr_err",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_res_cstr_err",
""
]
],
[
"$FUNC",
"type_duration",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_duration",
"",
[
"DURATION",
"_v",
"_v"
]
]
],
[
"$FUNC",
"opt_duration",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_duration",
"struct arg_vmod_types_opt_duration",
[
"DURATION",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"to_duration",
[
[
"DURATION"
],
"Vmod_vmod_types_Func.f_to_duration",
""
]
],
[
"$FUNC",
"to_res_duration",
[
[
"DURATION"
],
"Vmod_vmod_types_Func.f_to_res_duration",
""
]
],
[
"$FUNC",
"type_f64",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_f64",
"",
[
"REAL",
"_v",
"_v"
]
]
],
[
"$FUNC",
"type_f64_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_f64_dflt",
"",
[
"REAL",
"_v",
"_v",
"42.3"
]
]
],
[
"$FUNC",
"opt_f64",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_f64",
"struct arg_vmod_types_opt_f64",
[
"REAL",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"to_f64",
[
[
"REAL"
],
"Vmod_vmod_types_Func.f_to_f64",
""
]
],
[
"$FUNC",
"to_res_f64",
[
[
"REAL"
],
"Vmod_vmod_types_Func.f_to_res_f64",
""
]
],
[
"$FUNC",
"type_i64",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_i64",
"",
[
"INT",
"_v",
"_v"
]
]
],
[
"$FUNC",
"type_i64_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_i64_dflt",
"",
[
"INT",
"_v",
"_v",
"10"
]
]
],
[
"$FUNC",
"opt_i64",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_i64",
"struct arg_vmod_types_opt_i64",
[
"INT",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"to_i64",
[
[
"INT"
],
"Vmod_vmod_types_Func.f_to_i64",
""
]
],
[
"$FUNC",
"to_res_i64",
[
[
"INT"
],
"Vmod_vmod_types_Func.f_to_res_i64",
""
]
],
[
"$FUNC",
"type_str",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_str",
"",
[
"STRING",
"_v",
"_v"
]
]
],
[
"$FUNC",
"opt_str",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_str",
"struct arg_vmod_types_opt_str",
[
"STRING",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"opt_str_req",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_str_req",
"",
[
"STRING",
"_v",
"_v"
]
]
],
[
"$FUNC",
"type_str_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_str_dflt",
"",
[
"STRING",
"_v",
"_v",
"\"baz\""
]
]
],
[
"$FUNC",
"opt_str_dflt",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_opt_str_dflt",
"struct arg_vmod_types_opt_str_dflt",
[
"STRING",
"_v",
"_v",
"\"baz\"",
null,
true
]
]
],
[
"$FUNC",
"to_str",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_str",
""
]
],
[
"$FUNC",
"to_res_str",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_res_str",
""
]
],
[
"$FUNC",
"to_string",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_string",
""
]
],
[
"$FUNC",
"to_opt_string",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_opt_string",
""
]
],
[
"$FUNC",
"to_res_string",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_res_string",
""
]
],
[
"$FUNC",
"to_res_opt_string",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_res_opt_string",
""
]
],
[
"$FUNC",
"type_probe",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_probe",
"struct arg_vmod_types_type_probe",
[
"PROBE",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"type_probe_req",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_probe_req",
"",
[
"PROBE",
"_v",
"_v"
]
]
],
[
"$FUNC",
"to_probe",
[
[
"PROBE"
],
"Vmod_vmod_types_Func.f_to_probe",
""
]
],
[
"$FUNC",
"to_res_probe",
[
[
"PROBE"
],
"Vmod_vmod_types_Func.f_to_res_probe",
""
]
],
[
"$FUNC",
"type_cow_probe",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_cow_probe",
"struct arg_vmod_types_type_cow_probe",
[
"PROBE",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"type_cow_probe_req",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_cow_probe_req",
"",
[
"PROBE",
"_v",
"_v"
]
]
],
[
"$FUNC",
"to_cow_probe",
[
[
"PROBE"
],
"Vmod_vmod_types_Func.f_to_cow_probe",
""
]
],
[
"$FUNC",
"to_res_cow_probe",
[
[
"PROBE"
],
"Vmod_vmod_types_Func.f_to_res_cow_probe",
""
]
],
[
"$FUNC",
"type_ip",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_ip",
"struct arg_vmod_types_type_ip",
[
"IP",
"_v",
"_v",
null,
null,
true
]
]
],
[
"$FUNC",
"type_ip_req",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_type_ip_req",
"",
[
"IP",
"_v",
"_v"
]
]
],
[
"$FUNC",
"to_ip",
[
[
"IP"
],
"Vmod_vmod_types_Func.f_to_ip",
""
]
],
[
"$FUNC",
"to_res_ip",
[
[
"IP"
],
"Vmod_vmod_types_Func.f_to_res_ip",
""
]
],
[
"$FUNC",
"to_vcl_string",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_vcl_string",
""
]
],
[
"$FUNC",
"to_res_vcl_string",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_to_res_vcl_string",
""
]
],
[
"$FUNC",
"opt_i64_opt_i64",
[
[
"STRING"
],
"Vmod_vmod_types_Func.f_opt_i64_opt_i64",
"struct arg_vmod_types_opt_i64_opt_i64",
[
"INT",
"a1",
"a1"
],
[
"INT",
"a2",
"a2",
null,
null,
true
],
[
"INT",
"a3",
"a3"
]
]
],
[
"$FUNC",
"get_ws_mut",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_get_ws_mut",
""
]
],
[
"$FUNC",
"get_ws_ref",
[
[
"VOID"
],
"Vmod_vmod_types_Func.f_get_ws_ref",
""
]
]
]