Back to Varnish Cache

Using inline C to extend Varnish

doc/sphinx/users-guide/vcl-inline-c.rst

1.0883 B
Original Source

.. Copyright (c) 2012-2015 Varnish Software AS SPDX-License-Identifier: BSD-2-Clause See LICENSE file for full text of license

Using inline C to extend Varnish

(Here there be dragons. Big and mean ones.)

You can use inline C to extend Varnish. Please note that you can seriously mess up Varnish this way. The C code runs within the Varnish Cache process so if your code generates a segfault the cache will crash.

One of the first uses of inline C was logging to syslog.::

    # The include statements must be outside the subroutines.
    C{
            #include <syslog.h>
    }C

    sub vcl_something {
            C{
                    syslog(LOG_INFO, "Something happened at VCL line XX.");
            }C
    }

To use inline C you need to enable it with the vcc_allow_inline_c parameter.