varnish 0.6.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",
    "0cd5a7608f16067dbb42bb21d157e185290d63e1a33e73c3715eee45ee3fc2b6",
    "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__init {
  struct vmod_priv * __vp;
  char valid_val;
  VCL_INT val;
};

typedef VCL_VOID td_vmod_obj2_Obj1__init(
    VRT_CTX,
    struct vmod_obj2_Obj1 **,
    const char *,
    struct arg_vmod_obj2_Obj1__init *
);

typedef VCL_VOID td_vmod_obj2_Obj1__fini(
    struct vmod_obj2_Obj1 **
);

typedef VCL_VOID td_vmod_obj2_Obj2__init(
    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__init {
  struct vmod_priv * __vp;
  char valid_val;
  VCL_INT val;
};

typedef VCL_VOID td_vmod_obj2_Obj3__init(
    VRT_CTX,
    struct vmod_obj2_Obj3 **,
    const char *,
    struct arg_vmod_obj2_Obj3__init *
);

typedef VCL_VOID td_vmod_obj2_Obj3__fini(
    struct vmod_obj2_Obj3 **
);

typedef VCL_VOID td_vmod_obj2_Obj4__init(
    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__init *f_Obj1__init;
  td_vmod_obj2_Obj1__fini *f_Obj1__fini;
  td_vmod_obj2_Obj2__init *f_Obj2__init;
  td_vmod_obj2_Obj2__fini *f_Obj2__fini;
  td_vmod_obj2_Obj3__init *f_Obj3__init;
  td_vmod_obj2_Obj3__fini *f_Obj3__fini;
  td_vmod_obj2_Obj4__init *f_Obj4__init;
  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__init",
        "struct arg_vmod_obj2_Obj1__init",
        [
          "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__init",
        "",
        [
          "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__init",
        "struct arg_vmod_obj2_Obj3__init",
        [
          "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__init",
        "",
        [
          "PRIV_VCL",
          "__vp",
          "__vp"
        ],
        [
          "INT",
          "val",
          "val"
        ]
      ]
    ],
    [
      "$FINI",
      [
        [
          "VOID"
        ],
        "Vmod_vmod_obj2_Func.f_Obj4__fini",
        ""
      ]
    ]
  ]
]