3 (skel
-include
"skelrc.c")
5 (defun skelrc
-c
-guard
-name ()
7 (upcase (file
-name
-sans
-extension (file
-name
-nondirectory
9 (skel
-lookup
'include-guard-name)))
13 '((preamble
. "[[guard]][[c++-guard]][[includes]][[structures]][[functions]]")
14 (guard
. "#ifndef [[guard-name]]_H\n#define [[guard-name]]_H\n\n")
15 (guard
-name
. (skelrc
-c
-guard
-name
))
16 (c
++-guard
. "#ifdef __cplusplus\n extern \"C\" {\n#endif\n\n")
17 (includes
. "[[includes-banner]]\n\n[[headers]]")
18 (includes
-banner
. (skelrc
-banner
"Header files"))
20 (structures
. "[[struct-banner]]\n\n")
21 (struct-banner
. (skelrc
-banner
"Data structures"))
22 (functions
. "[[func-banner]]\n\n")
23 (func
-banner
. (skelrc
-banner
"Functions provided"))
24 (postamble
. "\n[[c++-unguard]]#endif\n")
25 (c
++-unguard
. "#ifdef __cplusplus\n }\n#endif\n\n"))