diff --git a/src/sbbs3/scfglib.h b/src/sbbs3/scfglib.h
index ffcd005e498999cd9c9e4f47cd140da1a73d6268..36df5f496491568ab853deb1430e02744fc1b9ac 100644
--- a/src/sbbs3/scfglib.h
+++ b/src/sbbs3/scfglib.h
@@ -32,25 +32,26 @@ extern "C" {
 BOOL	allocerr(char* error, size_t maxerrlen, const char* fname, const char *item, size_t size);
 char*	readline(long *offset, char *str, int maxlen, FILE *stream);
 
-BOOL	read_node_cfg(scfg_t* cfg, char* error, size_t);
-BOOL	read_main_cfg(scfg_t* cfg, char* error, size_t);
-BOOL	read_xtrn_cfg(scfg_t* cfg, char* error, size_t);
-BOOL	read_file_cfg(scfg_t* cfg, char* error, size_t);
-BOOL	read_msgs_cfg(scfg_t* cfg, char* error, size_t);
-BOOL	read_chat_cfg(scfg_t* cfg, char* error, size_t);
-BOOL	read_attr_cfg(scfg_t* cfg, char* error, size_t);
-char*	prep_path(char* path); 
-void	make_data_dirs(scfg_t* cfg);
+DLLEXPORT BOOL	read_node_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT BOOL	read_main_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT BOOL	read_xtrn_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT BOOL	read_file_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT BOOL	read_msgs_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT BOOL	read_chat_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT BOOL	read_attr_cfg(scfg_t* cfg, char* error, size_t);
+DLLEXPORT char*	prep_path(char* path);
+DLLEXPORT char* prep_dir(const char* base, char* path, size_t);
+DLLEXPORT void	make_data_dirs(scfg_t* cfg);
 
-void	free_node_cfg(scfg_t* cfg);
-void	free_main_cfg(scfg_t* cfg);
-void	free_xtrn_cfg(scfg_t* cfg);
-void	free_file_cfg(scfg_t* cfg);
-void	free_msgs_cfg(scfg_t* cfg);
-void	free_chat_cfg(scfg_t* cfg);
+DLLEXPORT void	free_node_cfg(scfg_t* cfg);
+DLLEXPORT void	free_main_cfg(scfg_t* cfg);
+DLLEXPORT void	free_xtrn_cfg(scfg_t* cfg);
+DLLEXPORT void	free_file_cfg(scfg_t* cfg);
+DLLEXPORT void	free_msgs_cfg(scfg_t* cfg);
+DLLEXPORT void	free_chat_cfg(scfg_t* cfg);
 
-uint32_t aftou32(const char *str);      /* Converts flag string to uint32_t */
-char*	u32toaf(uint32_t t, char *str); /* Converts uint32_t to flag string */
+DLLEXPORT uint32_t aftou32(const char *str);      /* Converts flag string to uint32_t */
+DLLEXPORT char*	u32toaf(uint32_t t, char *str); /* Converts uint32_t to flag string */
 uint	attrstr(char *str);		/* Convert ATTR string into attribute int */
 
 int		getdirnum(scfg_t*, const char* code);