---
source: varnish-macros/src/tests.rs
---
VMOD_JSON_SPEC
[
[
"$VMOD",
"2.0",
"obj",
"Vmod_vmod_obj_Func",
"95335543a305005bf00d0f2dcf61f2161606c9815eb6de4eed8d4302257e2c11",
"Varnish (version) (hash)",
"0",
"0"
],
[
"$CPROTO",
"
struct vmod_obj_kv1;
struct vmod_obj_kv2;
struct vmod_obj_kv3;
struct arg_vmod_obj_kv1_kv1 {
char valid_cap;
VCL_INT cap;
};
typedef VCL_VOID td_vmod_obj_kv1_kv1(
VRT_CTX,
struct vmod_obj_kv1 **,
const char *,
struct arg_vmod_obj_kv1_kv1 *
);
typedef VCL_VOID td_vmod_obj_kv1__fini(
struct vmod_obj_kv1 **
);
typedef VCL_VOID td_vmod_obj_kv1_set(
VRT_CTX,
struct vmod_obj_kv1 *,
VCL_STRING,
VCL_STRING
);
typedef VCL_STRING td_vmod_obj_kv1_get(
VRT_CTX,
struct vmod_obj_kv1 *,
VCL_STRING
);
struct arg_vmod_obj_kv2_kv2 {
char valid_cap;
VCL_INT cap;
};
typedef VCL_VOID td_vmod_obj_kv2_kv2(
VRT_CTX,
struct vmod_obj_kv2 **,
const char *,
struct arg_vmod_obj_kv2_kv2 *
);
typedef VCL_VOID td_vmod_obj_kv2__fini(
struct vmod_obj_kv2 **
);
struct arg_vmod_obj_kv2_set {
VCL_STRING key;
char valid_value;
VCL_STRING value;
};
typedef VCL_VOID td_vmod_obj_kv2_set(
VRT_CTX,
struct vmod_obj_kv2 *,
struct arg_vmod_obj_kv2_set *
);
struct arg_vmod_obj_kv3_kv3 {
char valid_cap;
VCL_INT cap;
};
typedef VCL_VOID td_vmod_obj_kv3_kv3(
VRT_CTX,
struct vmod_obj_kv3 **,
const char *,
struct arg_vmod_obj_kv3_kv3 *
);
typedef VCL_VOID td_vmod_obj_kv3__fini(
struct vmod_obj_kv3 **
);
struct arg_vmod_obj_kv3_set {
VCL_STRING key;
char valid_value;
VCL_STRING value;
};
typedef VCL_VOID td_vmod_obj_kv3_set(
VRT_CTX,
struct vmod_obj_kv3 *,
struct arg_vmod_obj_kv3_set *
);
struct Vmod_vmod_obj_Func {
td_vmod_obj_kv1_kv1 *f_kv1_kv1;
td_vmod_obj_kv1__fini *f_kv1__fini;
td_vmod_obj_kv1_set *f_kv1_set;
td_vmod_obj_kv1_get *f_kv1_get;
td_vmod_obj_kv2_kv2 *f_kv2_kv2;
td_vmod_obj_kv2__fini *f_kv2__fini;
td_vmod_obj_kv2_set *f_kv2_set;
td_vmod_obj_kv3_kv3 *f_kv3_kv3;
td_vmod_obj_kv3__fini *f_kv3__fini;
td_vmod_obj_kv3_set *f_kv3_set;
};
static struct Vmod_vmod_obj_Func Vmod_vmod_obj_Func;"
],
[
"$OBJ",
"kv1",
{
"NULL_OK": false
},
"struct vmod_obj_kv1",
[
"$INIT",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv1_kv1",
"struct arg_vmod_obj_kv1_kv1",
[
"INT",
"cap",
"cap",
null,
null,
true
]
]
],
[
"$FINI",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv1__fini",
""
]
],
[
"$METHOD",
"set",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv1_set",
"",
[
"STRING",
"key",
"key"
],
[
"STRING",
"value",
"value"
]
]
],
[
"$METHOD",
"get",
[
[
"STRING"
],
"Vmod_vmod_obj_Func.f_kv1_get",
"",
[
"STRING",
"key",
"key"
]
]
]
],
[
"$OBJ",
"kv2",
{
"NULL_OK": false
},
"struct vmod_obj_kv2",
[
"$INIT",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv2_kv2",
"struct arg_vmod_obj_kv2_kv2",
[
"INT",
"cap",
"cap",
null,
null,
true
]
]
],
[
"$FINI",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv2__fini",
""
]
],
[
"$METHOD",
"set",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv2_set",
"struct arg_vmod_obj_kv2_set",
[
"STRING",
"key",
"key"
],
[
"STRING",
"value",
"value",
null,
null,
true
]
]
]
],
[
"$OBJ",
"kv3",
{
"NULL_OK": false
},
"struct vmod_obj_kv3",
[
"$INIT",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv3_kv3",
"struct arg_vmod_obj_kv3_kv3",
[
"INT",
"cap",
"cap",
null,
null,
true
]
]
],
[
"$FINI",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv3__fini",
""
]
],
[
"$METHOD",
"set",
[
[
"VOID"
],
"Vmod_vmod_obj_Func.f_kv3_set",
"struct arg_vmod_obj_kv3_set",
[
"STRING",
"key",
"key"
],
[
"STRING",
"value",
"value",
null,
null,
true
]
]
]
]
]