--- /dev/null
+/* SmoothWall libsmooth.
+ *
+ * This program is distributed under the terms of the GNU General Public
+ * Licence. See the file COPYING for details.
+ *
+ * (c) Lawrence Manning, 2001
+ * Contains prototypes for library functions.
+ *
+ */
+
+#ifndef ___LIBSMOOTH_H
+#define ___LIBSMOOTH_H
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <ctype.h>
+#include <wchar.h>
+#include <locale.h>
+#include <unistd.h>
+#include <sys/file.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <newt.h>
+#include <dirent.h>
+#include <sys/mount.h>
+
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <arpa/inet.h>
+
+#include <linux/cdrom.h>
+#include <sys/ioctl.h>
+
+#define STRING_SIZE 1024
+
+struct keyvalue {
+ char key[STRING_SIZE];
+ char value[STRING_SIZE];
+ struct keyvalue *next;
+};
+
+/* libsmooth.c */
+void stripnl(char *s);
+int mysystem(const char *command);
+void errorbox(char *message);
+int statuswindowscroll(int width, int height, const char *title, const char *text, ...);
+int disclaimerbox(char *message);
+void statuswindow(int width, int height, const char *title, const char *text, ...);
+int runcommandwithprogress(int width, int height, const char *title, const char *command,
+ int lines, char *text, ...);
+int runcommandwithstatus(const char *command, const char* title, const char *message);
+int runhiddencommandwithstatus(const char *command, const char* title, const char *message);
+int checkformodule(const char *module);
+int replace(char filename1[], char *from, char *to);
+char* get_version(void);
+
+/* varval.c */
+struct keyvalue *initkeyvalues(void);
+void freekeyvalues(struct keyvalue *head);
+int readkeyvalues(struct keyvalue *head, char *filename);
+int writekeyvalues(struct keyvalue *head, char *filename);
+int findkey(struct keyvalue *head, char *key, char *value);
+void appendkeyvalue(struct keyvalue *head, char *key, char *value);
+void replacekeyvalue(struct keyvalue *head, char *key, char *value);
+
+#endif