You don't need the extern C block here, you just need in the header files (where you already put io). if you are including it in a CPP source file, and the actual functions in the H file are defined in a "C" source file. you don't need to put it in both.
On line 105, strcat needs 2 null terminated strings, so i don't think you can pass it a single character.