added library interface macro definition to each public header file