---
name: "vnl-gen-header"
section: "1"
platform: "linux"
package: "libvnlog-dev"
version: "1.40-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/vnl-gen-header"
---

# vnl-gen-header(1)

create definition for vnlog output from C

## NAME

vnl-gen-header - create definition for vnlog output from C

## SYNOPSIS

```
 $ vnl-gen-header 'int w' 'uint8_t x' 'char* y' 'double z' > vnlog_fields_generated.h
```

## DESCRIPTION

We provide a simple C library to produce vnlog output. The fields this library outputs must be known at compile time, and are specified in a header created by this tool. Please see the vnlog documentation for instructions on how to use the library

## ARGUMENTS

This tool needs to be given a list of field definitions. First we look at the commandline, and if the definitions are not available there, we look on STDIN. Each definition is a string `"type name"` (one def per argument on the commandline or per line on STDIN). If reading from STDIN, we ignore blank lines, and treat any line starting with `"#"` as a comment.

Each def represents a single output field. Each such field spec in a C-style variable declaration with a type followed by a name. Note that these field specs contain whitespace, so each one must be quoted before being passed to the shell.

The types can be basic scalars, possibly with set widths (`"char"`, `"double"`, `"int"`, `"uint32_t"`, `"unsigned int"`, ...), a NULL-terminated string (`"char*"`) or a generic chunk of binary data (`"void*"`).

The names must consist entirely of letters, numbers or `"_"`, like variables in C.

## REPOSITORY

https://github.com/dkogan/vnlog/

## AUTHOR

Dima Kogan `"<dima@secretsauce.net>"`

## LICENSE AND COPYRIGHT

Copyright 2016 California Institute of Technology.

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
