|ORT-C-SOURCE(1)||General Commands Manual||ORT-C-SOURCE(1)|
ort-c-sourceutility accepts ort(5) config files, defaulting to standard input, and produces a C implementation of the API generated by ort-c-header(1). Its arguments are as follows:
-hinclusion. This may include d for database input declarations, j for JSON export declarations, and/or (v) for data validators.
The complexity of
-I is to allow for multiple headers with multiple
implementations. For example, a header with the JSON API requires
-I j, but the implementation
may not specify
-j itself, although it must include
dependent headers for the JSON API.
By default, the database input and data structures definitions are output with a header file of db.h.
All C code produced by
conforms with the style(9) manual of
ort-c-sourceis currently not portable between systems. This is due to code being generated that is available on the system where
ort-c-sourceis executed, for example, whether
b64_ntop() are usable. Future version of the system may have flags for generating portable code that bundles in all non-portable functions.
ort-c-sourceutility exits 0 on success, and >0 if an error occurs.
ort-c-header -jvs foo.ort > db.h ort-c-source -jvs foo.ort > db.c
Breaking up into two header and source files: one for basic database functions, the other for JSON output.
ort-c-header -s foo.ort > db.h ort-c-header -s -g JSON_H -j -Nbd foo.ort > json.h ort-c-source -s -h db.h > db.c ort-c-source -s -j -Nd -Idj -h db.h,json.h > json.c
In this more complicated snippet, the
json.h file is created without structure or database
json.c needs to include both database and JSON
headers (in name,
-h, and in the headers those
stipulated in source,
-I) also while inhibiting
database routine creation with
|July 17, 2019||OpenBSD 6.5|