varnish 0.7.0

A Rust framework for creating Varnish Caching Proxy extensions
Documentation
---
source: varnish-macros/src/tests.rs
---
VMOD_JSON_SPEC
[
  [
    "$VMOD",
    "2.0",
    "obj2",
    "Vmod_vmod_obj2_Func",
    "c90ca6b4ec2f9db8e6a3d620e0e530af19a24ef8a10aa41d62e9e1cb05b73027",
    "Varnish (version) (hash)",
    "0",
    "0"
  ],
  [
    "$CPROTO",
    "
struct vmod_obj2_Obj1;

struct vmod_obj2_Obj2;

struct vmod_obj2_Obj3;

struct vmod_obj2_Obj4;

struct arg_vmod_obj2_Obj1_obj1 {
  struct vmod_priv * __vp;
  char valid_val;
  VCL_INT val;
};

typedef VCL_VOID td_vmod_obj2_Obj1_obj1(
    VRT_CTX,
    struct vmod_obj2_Obj1 **,
    const char *,
    struct arg_vmod_obj2_Obj1_obj1 *
);

typedef VCL_VOID td_vmod_obj2_Obj1__fini(
    struct vmod_obj2_Obj1 **
);

typedef VCL_VOID td_vmod_obj2_Obj2_obj2(
    VRT_CTX,
    struct vmod_obj2_Obj2 **,
    const char *,
    struct vmod_priv *,
    VCL_INT
);

typedef VCL_VOID td_vmod_obj2_Obj2__fini(
    struct vmod_obj2_Obj2 **
);

struct arg_vmod_obj2_Obj3_obj3 {
  struct vmod_priv * __vp;
  char valid_val;
  VCL_INT val;
};

typedef VCL_VOID td_vmod_obj2_Obj3_obj3(
    VRT_CTX,
    struct vmod_obj2_Obj3 **,
    const char *,
    struct arg_vmod_obj2_Obj3_obj3 *
);

typedef VCL_VOID td_vmod_obj2_Obj3__fini(
    struct vmod_obj2_Obj3 **
);

typedef VCL_VOID td_vmod_obj2_Obj4_obj4(
    VRT_CTX,
    struct vmod_obj2_Obj4 **,
    const char *,
    struct vmod_priv *,
    VCL_INT
);

typedef VCL_VOID td_vmod_obj2_Obj4__fini(
    struct vmod_obj2_Obj4 **
);

struct Vmod_vmod_obj2_Func {
  td_vmod_obj2_Obj1_obj1 *f_Obj1_obj1;
  td_vmod_obj2_Obj1__fini *f_Obj1__fini;
  td_vmod_obj2_Obj2_obj2 *f_Obj2_obj2;
  td_vmod_obj2_Obj2__fini *f_Obj2__fini;
  td_vmod_obj2_Obj3_obj3 *f_Obj3_obj3;
  td_vmod_obj2_Obj3__fini *f_Obj3__fini;
  td_vmod_obj2_Obj4_obj4 *f_Obj4_obj4;
  td_vmod_obj2_Obj4__fini *f_Obj4__fini;
};

static struct Vmod_vmod_obj2_Func Vmod_vmod_obj2_Func;"
  ],
  [
    "$OBJ",
    "obj1",
    {
      "NULL_OK": false
    },
    "struct vmod_obj2_Obj1",
    [
      "$INIT",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj1_obj1",
        "struct arg_vmod_obj2_Obj1_obj1",
        [
          "PRIV_VCL",
          "__vp",
          "__vp"
        ],
        [
          "INT",
          "val",
          "val",
          null,
          null,
          true
        ]
      ]
    ],
    [
      "$FINI",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj1__fini",
        ""
      ]
    ]
  ],
  [
    "$OBJ",
    "obj2",
    {
      "NULL_OK": false
    },
    "struct vmod_obj2_Obj2",
    [
      "$INIT",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj2_obj2",
        "",
        [
          "PRIV_VCL",
          "__vp",
          "__vp"
        ],
        [
          "INT",
          "val",
          "val"
        ]
      ]
    ],
    [
      "$FINI",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj2__fini",
        ""
      ]
    ]
  ],
  [
    "$OBJ",
    "obj3",
    {
      "NULL_OK": false
    },
    "struct vmod_obj2_Obj3",
    [
      "$INIT",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj3_obj3",
        "struct arg_vmod_obj2_Obj3_obj3",
        [
          "PRIV_VCL",
          "__vp",
          "__vp"
        ],
        [
          "INT",
          "val",
          "val",
          null,
          null,
          true
        ]
      ]
    ],
    [
      "$FINI",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj3__fini",
        ""
      ]
    ]
  ],
  [
    "$OBJ",
    "obj4",
    {
      "NULL_OK": false
    },
    "struct vmod_obj2_Obj4",
    [
      "$INIT",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj4_obj4",
        "",
        [
          "PRIV_VCL",
          "__vp",
          "__vp"
        ],
        [
          "INT",
          "val",
          "val"
        ]
      ]
    ],
    [
      "$FINI",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj4__fini",
        ""
      ]
    ]
  ]
]