Scroll to navigation

CAPNPROTO(1) capnp User Manual CAPNPROTO(1)

NAME

capnp - compiler for Cap'n Proto data interchange format definition files

SYNOPSIS

capnp [<options>] <command> [<args>]

capnp id

capnp [--help | --version]

DESCRIPTION

This manual page documents briefly the capnp command.

It was written for the Debian distribution because the original program does not have a manual page.

capnp is wrapper for various tools used to manipulate the Cap'n Proto data interchange format. These tools include a definition file compiler, a C++ backend, a decoder for converting Cap'n Proto messages to text and a generator for Cap'n Proto definition IDs.

OPTIONS

The program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.

-IDIR, --import-pathDIR

Add DIR to the list of directories searched for non-relative imports (ones that start with a '/').

--no-standard-import

Do not add any default import paths; use only those specified by -I. Otherwise, typically /usr/include and /usr/local/include are added by default.

--verbose

Log informational messages to stderr; useful for debugging.

--help

Show summary of options.

--version

Show version of program.

COMMANDS

compile

Compile Cap'n Proto schema files & generate corresponding source code in one or more languages.

OPTIONS

-I<dir>, --import-path=<dir>

Add <dir> to the list of directories searched for non-relative imports (ones that start with a '/').

--no-standard-import

Do not add any default import paths; use only those specified by -I. Otherwise, typically /usr/include and /usr/local/include are added by default.

-olang[:dir], --output=lang[:dir]

Generate source code for language <lang> in directory <dir> (default: current directory). <lang> actually specifies a plugin to use. If <lang> is a simple word, the compiler for a plugin called 'capnpc-<lang>' in $PATH. If <lang> is a file path containing slashes, it is interpreted as the exact plugin executable file name, and $PATH is not searched.

--src-prefix=<prefix>

If a file specified for compilation starts with <prefix>, remove the prefix for the purpose of deciding the names of output files. For example, the following command: capnp --src-prefix=foo/bar -oc++:corge foo/bar/baz/qux.capnp would generate the files corge/baz/qux.capnp.{h,c++}.

decode

Decodes one or more encoded Cap'n Proto messages as text. Messages are read from standard input and by default are expected to be in standard Cap'n Proto serialization format.

OPTIONS

-I<dir>, --import-path=<dir>

Add <dir> to the list of directories searched for non-relative imports (ones that start with a '/').

-f, --flat

Interpret the input as one large single-segment message rather than a stream in standard serialization format.

--no-standard-import

Do not add any default import paths; use only those specified by -I. Otherwise, typically /usr/include and /usr/local/include are added by default.

-p, --packed

Expect the input to be packed using standard Cap'n Proto packing, which deflates zero-valued bytes.

--short

Print in short (non-pretty) format. Each message will be printed on one line, without using whitespace to improve readability.

id

Generates a unique identifier for Cap'n Proto schema files.

SEE ALSO

More documentation about Cap'n Proto is available online at http://capnproto.org.

AUTHOR

Tom Lee <debian@tomlee.co>

Wrote this manpage for the Debian system.

COPYRIGHT

Copyright © 2013 Tom Lee

This manual page was written for the Debian system (and may be used by others).

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 or (at your option) any later version published by the Free Software Foundation.

On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.

12/04/2022 capnp