// Programmed by Jedidiah Barber // Released into the public domain #include #include "c_aao.h" const int type_live = AO_TYPE_LIVE; const int type_file = AO_TYPE_FILE; const int sample_little_endian = AO_FMT_LITTLE; const int sample_big_endian = AO_FMT_BIG; const int sample_native_endian = AO_FMT_NATIVE; const int error_no_driver = AO_ENODRIVER; const int error_not_file = AO_ENOTFILE; const int error_not_live = AO_ENOTLIVE; const int error_bad_option = AO_EBADOPTION; const int error_open_device = AO_EOPENDEVICE; const int error_open_file = AO_EOPENFILE; const int error_file_exists = AO_EFILEEXISTS; const int error_bad_format = AO_EBADFORMAT; const int error_fail = AO_EFAIL; size_t c_pointer_size() { return sizeof(void*); } ao_info * info_item_get(ao_info ** items, int n) { return items[n]; } int info_kind_get(ao_info * item) { return item->type; } char * info_name_get(ao_info * item) { return item->name; } char * info_short_name_get(ao_info * item) { return item->short_name; } int info_preferred_byte_format_get(ao_info * item) { return item->preferred_byte_format; } int info_priority_get(ao_info * item) { return item->priority; } char * info_comment_get(ao_info * item) { return item->comment; } int info_option_count_get(ao_info * item) { return item->option_count; } char * info_option_key_get(ao_info * item, int n) { return item->options[n]; } int get_errno() { return errno; } char * option_key(ao_option * item) { return item->key; } char * option_value(ao_option * item) { return item->value; } ao_option * option_next(ao_option * item) { if (item == NULL) { return NULL; } else { return item->next; } }