..
	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.

