headers MAINTENANCE headers/include cleanup

- add missing extern "C" in some of the public headers for use in C++
- includes cleanup and fix ordering
diff --git a/src/printer_schema.h b/src/printer_schema.h
index 3e5dc41..6d5ad50 100644
--- a/src/printer_schema.h
+++ b/src/printer_schema.h
@@ -15,11 +15,18 @@
 #ifndef LY_PRINTER_SCHEMA_H_
 #define LY_PRINTER_SCHEMA_H_
 
+#include <stdio.h>
 #include <unistd.h>
 
-#include "tree_schema.h"
+#include "log.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 struct ly_out;
+struct lys_module;
+struct lysc_node;
 
 /**
  * @addtogroup schematree
@@ -157,4 +164,8 @@
 
 /** @} schematree */
 
+#ifdef __cplusplus
+}
+#endif
+
 #endif /* LY_PRINTER_SCHEMA_H_ */