|ORT-C-SOURCE(1)||General Commands Manual||ORT-C-SOURCE(1)|
produce ort C API implementation
-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
The password hashing facility defined in ort(5) is implemented differently on different systems. On OpenBSD, it uses the crypt_newhash(3) and crypt_checkpass(3) functionality. On all other systems, it uses the traditional crypt(3) with an MD5 ("$1") setting. The seed is generated using random(3), so the calling application should invoke srandom(3).
The code output by
currently not portable between systems. This is due to code being generated
that is available on the system where
is executed, for example, whether
are usable. Future version of the system may have flags for generating
portable code that bundles in all non-portable functions.
ort-c-source utility exits 0 on
success, and >0 if an error occurs.
In the simplest case, put all C sources and headers (for validation, database routines, and JSON output) into one pair of files. Let foo.ort be the configuration file.
% ort-c-header -jv foo.ort > db.h % ort-c-source -jv 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 foo.ort > db.h % ort-c-header -g JSON_H -j -Nbd foo.ort > json.h % ort-c-source -h db.h > db.c % ort-c-source -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
|April 5, 2021||OpenBSD 6.7|