It is just 'defined' so you can do checks like #ifdef ERROR_FUNCTIONS_H
So if you have
#define ERROR_FUNCTIONS_H
You can later do:
#ifdef ERROR_FUNCTIONS_H
//do something
#endif
and the code inside the #ifdef will be compiled.
ERROR_FUNCTIONS_H
is not a header file. It is just a #define
for the preprocessor to use.
What you have in your example:
#ifndef ERROR_FUNCTIONS_H
#define ERROR_FUNCTIONS_H
is often put at the top of a .h file to make sure it is only included once so you don't get multiple defines.