Scroll to navigation

GEN-CTL-IO(1) libctl GEN-CTL-IO(1)


gen-ctl-io - generate C interface code for libctl control files


gen-ctl-io [OPTION]... [spec-file]


gen-ctl-io generates C code to import/export the input/output variables used in a libctl control file. gen-ctl-io generates files like ctl-io.h and ctl-io.c. These files define global variables, data structures, and functions for the input/output variables, classes, and function interfaces defined in the spec-file argument, automating the interaction between C and Guile.

The arguments such as --code and --header are used to control whether ctl-io.c or ctl-io.h, etcetera, are generated. If no argument is specified then both of these files are generated by default, for backwards compatibility.

libctl is a free library to aid in interfacing scientific software with the GNU Guile scripting and extension language. Documentation for it may be found online at the libctl home page:


Generate C (or C++) source code to implement the Guile interface functions. The default output file name is ctl-io.c (in C) or ctl-io.cpp (in C++).
Generate the header file declaring the interface data types and functions. The default output file name is ctl-io.h (in C) or ctl-io.hpp (in C++).
Generate a SWIG interface definition file declaring automatic conversions for the various libctl data types. The default output file name is ctl-io.i.
Generate C++ code instead of C code.
Use file as the output file name instead of the defaults (above).


Send bug reports to S. G. Johnson,


Written by Steven G. Johnson.

March 27, 2006 libctl