63 lines
1.5 KiB
C
63 lines
1.5 KiB
C
#ifndef OMIT_BASE /* <!-- base */
|
|
#define LAUNCH_TYPE \
|
|
X(MotorCarTow),\
|
|
X(Winch),\
|
|
X(AeroTow)
|
|
#define X(type) type
|
|
enum launch_type { LAUNCH_TYPE };
|
|
#undef X
|
|
#define X(type) #type
|
|
static const char *launch_type_string[] = { LAUNCH_TYPE };
|
|
#undef X
|
|
#undef LAUNCH_TYPE
|
|
|
|
#define FLIGHT_TYPE \
|
|
X(Glider),\
|
|
X(Power)
|
|
#define X(type) type
|
|
enum flight_type { FLIGHT_TYPE };
|
|
#undef X
|
|
#define X(type) #type
|
|
static const char *flight_type_string[] = { FLIGHT_TYPE };
|
|
#undef X
|
|
#undef FLIGHT_TYPE
|
|
|
|
/*void kjvcite_to_string(const union kjvcite, char (*)[12]);*/
|
|
#else /* base --><!-- !base */
|
|
#undef OMIT_BASE
|
|
#endif /* !base --> */
|
|
|
|
|
|
#ifndef OMIT_VERSES /* <!-- verses: For external inclusion. */
|
|
struct table_kjvset_bucket;
|
|
struct kjvset_table {
|
|
struct table_kjvset_bucket *buckets;
|
|
uint32_t log_capacity, size, top;
|
|
};
|
|
struct table_verse_bucket;
|
|
struct verse_table {
|
|
struct table_verse_bucket *buckets;
|
|
uint32_t log_capacity, size, top;
|
|
};
|
|
#else /* verses --><!-- !verses */
|
|
#undef OMIT_VERSES
|
|
#endif /* !verses --> */
|
|
|
|
|
|
#ifndef OMIT_PROTO /* <!-- proto */
|
|
#include <stddef.h>
|
|
struct flights {
|
|
struct kjvset_table set;
|
|
struct verse_table verses;
|
|
struct { size_t total, cumulative, set, verse; } words;
|
|
};
|
|
struct kjv kjv(void);
|
|
void kjv_(struct kjv *);
|
|
int kjv_is_valid(const struct kjv *const kjv);
|
|
int kjv_add(struct kjv *const kjv, const union kjvcite cite);
|
|
const char *kjv_to_string(const struct kjv *const kjv);
|
|
const char *kjv_set_to_string(const struct kjv *const kjv);
|
|
#else /* proto --><!-- !proto */
|
|
#undef OMIT_PROTO
|
|
#endif /* !proto --> */
|