diff --git a/src/sbbs3/sbbs.h b/src/sbbs3/sbbs.h
index e78c6919887be3c3921d8c5d215f0957a0ef8023..acb7017c10ccc0357c5ccb9f531477e4b49e118b 100644
--- a/src/sbbs3/sbbs.h
+++ b/src/sbbs3/sbbs.h
@@ -884,6 +884,8 @@ extern "C" {
 	DLLEXPORT char*		DLLCALL semfile_list_check(time_t* t, link_list_t* filelist);
 	DLLEXPORT void		DLLCALL semfile_list_init(link_list_t* filelist, const char* parent, 
 								   const char* action, const char* hostname, const char* service);
+	DLLEXPORT void		DLLCALL semfile_list_add(link_list_t* filelist, const char* fname);
+	DLLEXPORT void		DLLCALL semfile_list_free(link_list_t* filelist);
 
 
 #ifdef JAVASCRIPT
diff --git a/src/sbbs3/semfile.c b/src/sbbs3/semfile.c
index 0a68a365b5608562860a6aacc22b4fce55d0e410..e67f4f76cfdcd60c93fb30c68440d570b979807d 100644
--- a/src/sbbs3/semfile.c
+++ b/src/sbbs3/semfile.c
@@ -85,4 +85,14 @@ void DLLCALL semfile_list_init(link_list_t* filelist, const char* parent,
 	listPushNodeString(filelist,path);
 	SAFEPRINTF4(path,"%s%s.%s.%s",parent,action,hostname,service);
 	listPushNodeString(filelist,path);
-}
\ No newline at end of file
+}
+
+void DLLCALL semfile_list_add(link_list_t* filelist, const char* path)
+{
+	listPushNodeString(filelist, path);
+}
+
+void DLLCALL semfile_list_free(link_list_t* filelist)
+{
+	listFree(filelist);
+}