по поводу логирования библиотеки можно сделать так:
в объект сессии добавить член errstream, который по умолчанию, при создании сессии, будет инициализоваться либо stdout, либо stderr.
так же, добавить API типа 'aoc_set_error_stream(FILE*)' и 'FILE* aoc_get_error_stream()'
пачка бумаги А4 стОит 2000 р, в ней 500 листов. получается, лист обычной бумаги стОит дороже имперского рубля =)