summaryrefslogtreecommitdiffstats
path: root/raptorsmiface/libraptorsmiface.h
diff options
context:
space:
mode:
Diffstat (limited to 'raptorsmiface/libraptorsmiface.h')
-rw-r--r--raptorsmiface/libraptorsmiface.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/raptorsmiface/libraptorsmiface.h b/raptorsmiface/libraptorsmiface.h
new file mode 100644
index 00000000..1c53028b
--- /dev/null
+++ b/raptorsmiface/libraptorsmiface.h
@@ -0,0 +1,34 @@
+// (c) 2012 Timothy Pearson
+// (c) 2012 Raptor Engineering
+// ALL RIGHTS RESERVED
+
+#include <unistd.h>
+
+#include <sys/types.h>
+
+typedef unsigned char bool;
+#define true 1
+#define false 0
+
+// SM_STATUS_ALLOCATED: Server is not yet started
+// SM_STATUS_RUNNING: Server is up, but client is not connected
+// SM_STATUS_CONNECTED: Server is up and client is connected
+enum raptor_sm_status {
+ SM_STATUS_ALLOCATED,
+ SM_STATUS_RUNNING,
+ SM_STATUS_CONNECTED,
+ SM_STATUS_FORCEKILL
+};
+
+char* raptor_sm_get_ip_for_hostname(char* hostname, char* err);
+char* raptor_sm_get_hostname_for_username(char* username, bool create);
+
+char* raptor_sm_get_ip_for_username(char* username, bool create);
+pid_t raptor_sm_run_remote_server(char* username, char *const argv[]);
+char* raptor_sm_server_started(char* username, pid_t pid, int display);
+int raptor_sm_get_display_for_username(char* username);
+void raptor_sm_wait_for_pid_exit(char* username, pid_t pid);
+void raptor_sm_session_terminated(char* username);
+int raptor_sm_get_new_unique_display(int mindisplay, int maxdisplay);
+bool raptor_sm_sesslimit_reached(char* username);
+char raptor_sm_set_session_state(int display, int state); \ No newline at end of file