##
является оператором конкатенации токенов: он используется в этих определениях макросов для создания идентификатора имени функции обратного вызова, добавляя irc_
перед значением первого аргумента макроса IRC_STR_CALLBACK
и /или IRC_NUM_CALLBACK
Посмотрите на этот вызов макроса в строке 183:
IRC_STR_CALLBACK(on_join);
эта исходная строка расширилась до
static void irc_on_join ( irc_session_t* session, event_type event, const char* origin, const char** params, unsigned int count );
Макрос используется для объявленияобработчик согласованным образом без необходимости явной записи прототипа, что удобно, поскольку в этом исходном файле много обработчиков.