urbit/include/all.h
2014-09-05 13:13:24 -07:00

73 lines
2.0 KiB
C

/* include/all.h
**
** This file is in the public domain.
*/
/** Prefix definitions:
***
*** u2_ca_: fundamental allocators.
*** u2_cc_: constants.
*** u2_ch_: HAMT hash tables.
*** u2_ci_: noun constructors
*** u2_cj_: jets.
*** u2_ck*: direct jet calls (modern C convention)
*** u2_cm_: system management etc.
*** u2_cn_: nock interpreter.
*** u2_co_: fundamental macros.
*** u2_cq*: direct jet calls (archaic C convention)
*** u2_cr_: read functions which never bail out.
*** u2_cs_: structures and definitions.
*** u2_ct_: tracing.
*** u2_cw_: direct jet calls (core noun convention)
*** u2_cx_: read functions which do bail out.
*** u2_cz_: memoization.
***
*** u2_cr_, u2_cx_ functions use retain conventions; the caller
*** retains ownership of passed-in nouns, the callee preserves
*** ownership of returned nouns.
***
*** Unless documented otherwise, all other functions use transfer
*** conventions; the caller logically releases passed-in nouns,
*** the callee logically releases returned nouns.
***
*** In general, exceptions to the transfer convention all occur
*** when we're using a noun as a key.
**/
/** c: the c3 layer, C portability and definitions.
**/
# include "c/portable.h"
# include "c/tune.h"
# include "c/types.h"
# include "c/defs.h"
# include "c/motes.h"
# include "c/comd.h"
/** n: the u2 layer, definitions and data structures.
**/
# include "n/tune.h"
# include "n/noun.h"
# include "n/hash.h"
# include "n/road.h"
# include "n/jets.h"
# include "n/meze.h"
# include "n/glob.h"
/** g: the u2 layer, functions.
**/
# include "g/a.h"
# include "g/h.h"
# include "g/i.h"
# include "g/j.h"
# include "g/m.h"
# include "g/n.h"
# include "g/r.h"
# include "g/t.h"
# include "g/x.h"
# include "g/z.h"
/** j: the u2 layer, jets.
**/
# include "j/k.h"
# include "j/w.h"
# include "j/q.h"