Нагуглил, что рекомендуют сделать enum и какое-то текстовое представление, которое можно будет получить через коды. В общем, на сколько я понял что-то вроде errno. Но вот в чём вопрос: как лучше сделать, чтобы функция возвращала код ошибки
MYERROR create_some_thing (SOME_THING **ptr/*other parameters*/);
SOME_THING *create_some_thing (/*other parameters*/);
SOME_THING *create_some_thing (/*other parameters*/, MYERROR* ptr);