void
ttt_server_broadcast (ttt_server_t *server, const char *message);
+
+/* Returns the WHO response. The return string is allocated in this
+ * function and will need to be free'd by the caller.
+ *
+ * Locking: The server mutex will be acquired and held throughout the
+ * execution of this function. Each client mutex may also be acquired
+ * and held by functions called during the execution of this function.
+ *
+ * Errors: If an error such as an IO error occurs, this function will
+ * not return.
+ */
+const char*
+ttt_server_who (ttt_server_t *server);
+
+/* Generates the statistics for the user. If the function does not
+ * return an error, the response will be allocated in this function
+ * and will need to be free'd by the caller.
+ *
+ * Locking: The server mutex will be acquired and held throughout the
+ * execution of this function. Each client mutex may also be acquired
+ * and held by functions called during the execution of this function.
+ *
+ * Errors: If an error such as an IO error occurs, this function will
+ * not return.
+ */
+ttt_error_t
+ttt_server_statistics (ttt_server_t *server,
+ const char *username,
+ char **response);
+
+/* Checks to see if the username is registered. If the username exists
+ * will return TTT_ERROR_NONE, else TTT_ERROR_NO_USER.
+ *
+ * Locking: The server mutex will be acquired and held throughout the
+ * execution of this function. Each client mutex may also be acquired
+ * and held by functions called during the execution of this function.
+ *
+ * Errors: If an error such as an IO error occurs, this function will
+ * not return.
+ */
+ttt_error_t
+ttt_server_verify_username (ttt_server_t *server,
+ const char *username);
+
/* Gets the server hostname.
*
*/