urbit/i/n/x.h

72 lines
1.5 KiB
C
Raw Normal View History

2014-09-04 07:44:53 +04:00
/* include/g/x.h
**
** This file is in the public domain.
*/
2014-11-06 03:20:01 +03:00
/** u3x_*: read, but bail with c3__exit on a crash.
2014-09-04 07:44:53 +04:00
**/
#if 1
2014-11-06 03:20:01 +03:00
# define u3x_h(som) u3a_h(som)
# define u3x_t(som) u3a_t(som)
2014-09-04 07:44:53 +04:00
#else
2014-11-06 03:20:01 +03:00
/* u3x_h (u3h): head.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
2014-11-06 03:20:01 +03:00
u3x_h(u3_noun som);
2014-09-04 07:44:53 +04:00
2014-11-06 03:20:01 +03:00
/* u3x_t (u3t): tail.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
2014-11-06 03:20:01 +03:00
u3x_t(u3_noun som);
2014-09-04 07:44:53 +04:00
#endif
2014-11-06 03:20:01 +03:00
/* u3x_good(): test for u3_none.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
2014-11-06 03:20:01 +03:00
u3x_good(u3_weak som);
2014-09-04 07:44:53 +04:00
2014-11-06 03:20:01 +03:00
/* u3x_at (u3at): fragment.
2014-09-04 07:44:53 +04:00
*/
2014-09-06 00:13:24 +04:00
u3_noun
2014-11-06 03:20:01 +03:00
u3x_at(u3_noun axe, u3_noun som);
2014-09-04 07:44:53 +04:00
2014-11-06 03:20:01 +03:00
/* u3x_cell():
2014-09-04 07:44:53 +04:00
**
** Divide `a` as a cell `[b c]`.
*/
void
2014-11-06 03:20:01 +03:00
u3x_cell(u3_noun a,
2014-09-06 00:13:24 +04:00
u3_noun* b,
u3_noun* c);
2014-09-04 07:44:53 +04:00
2014-11-06 03:20:01 +03:00
/* u3x_trel():
2014-09-04 07:44:53 +04:00
**
** Divide `a` as a trel `[b c d]`, or bail.
*/
void
2014-11-06 03:20:01 +03:00
u3x_trel(u3_noun a,
2014-09-06 00:13:24 +04:00
u3_noun* b,
u3_noun* c,
u3_noun* d);
2014-09-04 07:44:53 +04:00
2014-11-06 03:20:01 +03:00
/* u3x_qual():
2014-09-04 07:44:53 +04:00
**
** Divide `a` as a quadruple `[b c d e]`.
*/
void
2014-11-06 03:20:01 +03:00
u3x_qual(u3_noun a,
2014-09-06 00:13:24 +04:00
u3_noun* b,
u3_noun* c,
u3_noun* d,
u3_noun* e);
2014-10-22 00:53:27 +04:00
2014-11-06 03:20:01 +03:00
/* u3x_quil():
2014-10-22 00:53:27 +04:00
**
** Divide `a` as a quintuple `[b c d e f]`.
*/
void
2014-11-06 03:20:01 +03:00
u3x_quil(u3_noun a,
2014-10-22 00:53:27 +04:00
u3_noun* b,
u3_noun* c,
u3_noun* d,
u3_noun* e,
u3_noun* f);