summary refs log tree commit diff stats
path: root/src/internals.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/internals.rs')
-rw-r--r--src/internals.rs167
1 files changed, 84 insertions, 83 deletions
diff --git a/src/internals.rs b/src/internals.rs
index 8a881e0..71ac93f 100644
--- a/src/internals.rs
+++ b/src/internals.rs
@@ -19,6 +19,7 @@
 //!
 //! This also includes the hexchat_plugin struct, from hexchat-plugin.h. Note that we use the
 //! struct even on non-Windows platforms because it's a lot easier that way. Should be safe, tho.
+
 use libc;
 
 // apparently this is the right way to do these
@@ -54,85 +55,85 @@ pub type HexchatPlugin = Ph;
 
 #[repr(C)]
 pub struct Ph {
-    pub hexchat_hook_command: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+    pub hexchat_hook_command: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             name: *const libc::c_char,
             pri: libc::c_int,
             /* CALLBACK */
-            callback: Option<unsafe extern "C" fn(word: *const *const libc::c_char, word_eol: *const *const libc::c_char, user_data: *mut libc::c_void) -> libc::c_int>,
+            callback: unsafe extern "C" fn(word: *const *const libc::c_char, word_eol: *const *const libc::c_char, user_data: *mut libc::c_void) -> libc::c_int,
             help_text: *const libc::c_char,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_hook_server: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_hook_server: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             name: *const libc::c_char,
             pri: libc::c_int,
             /* CALLBACK */
             callback: Option<unsafe extern "C" fn(word: *const *const libc::c_char, word_eol: *const *const libc::c_char, user_data: *mut libc::c_void) -> libc::c_int>,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_hook_print: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_hook_print: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             name: *const libc::c_char,
             pri: libc::c_int,
             /* CALLBACK */
             callback: Option<unsafe extern "C" fn(word: *const *const libc::c_char, user_data: *mut libc::c_void) -> libc::c_int>,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_hook_timer: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_hook_timer: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             timeout: libc::c_int,
             /* CALLBACK */
             callback: Option<unsafe extern "C" fn(user_data: *mut libc::c_void) -> libc::c_int>,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_hook_fd: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_hook_fd: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             fd: libc::c_int,
             flags: libc::c_int,
             /* CALLBACK */
             callback: Option<unsafe extern "C" fn(fd: libc::c_int, flags: libc::c_int, user_data: *mut libc::c_void) -> libc::c_int>,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_unhook: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            hook: *const HexchatHook) -> *const libc::c_void>,
-    pub hexchat_print: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            text: *const libc::c_char)>,
-    pub hexchat_printf: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            format: *const libc::c_char, ...)>,
-    pub hexchat_command: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            command: *const libc::c_char)>,
-    pub hexchat_commandf: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            format: *const libc::c_char, ...)>,
-    pub hexchat_nickcmp: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_unhook: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            hook: *const HexchatHook) -> *const libc::c_void,
+    pub hexchat_print: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            text: *const libc::c_char),
+    pub hexchat_printf_do_not_use: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            format: *const libc::c_char, ...),
+    pub hexchat_command: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            command: *const libc::c_char),
+    pub hexchat_commandf_do_not_use: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            format: *const libc::c_char, ...),
+    pub hexchat_nickcmp: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             s1: *const libc::c_char,
-            s2: *const libc::c_char) -> libc::c_int>,
-    pub hexchat_set_context: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            ctx: *const HexchatContext) -> libc::c_int>,
-    pub hexchat_find_context: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            s2: *const libc::c_char) -> libc::c_int,
+    pub hexchat_set_context: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            ctx: *const HexchatContext) -> libc::c_int,
+    pub hexchat_find_context: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             servname: *const libc::c_char,
-            channel: *const libc::c_char) -> *const HexchatContext>,
-    pub hexchat_get_context: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin) -> *const HexchatContext>,
-    pub hexchat_get_info: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            id: *const libc::c_char) -> *const libc::c_char>,
-    pub hexchat_get_prefs: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            channel: *const libc::c_char) -> *const HexchatContext,
+    pub hexchat_get_context: unsafe extern "C" fn(ph: *mut HexchatPlugin) -> *const HexchatContext,
+    pub hexchat_get_info: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            id: *const libc::c_char) -> *const libc::c_char,
+    pub hexchat_get_prefs: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             name: *const libc::c_char,
             string: *mut *const libc::c_char,
-            integer: *mut libc::c_int) -> libc::c_int>,
-    pub hexchat_list_get: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            name: *const libc::c_char) -> *const HexchatList>,
-    pub hexchat_list_free: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            xlist: *const HexchatList)>,
-    pub hexchat_list_fields: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            name: *const libc::c_char) -> *const *const libc::c_char>,
-    pub hexchat_list_next: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            xlist: *const HexchatList) -> libc::c_int>,
-    pub hexchat_list_str: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            integer: *mut libc::c_int) -> libc::c_int,
+    pub hexchat_list_get: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            name: *const libc::c_char) -> *const HexchatList,
+    pub hexchat_list_free: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            xlist: *const HexchatList),
+    pub hexchat_list_fields: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            name: *const libc::c_char) -> *const *const libc::c_char,
+    pub hexchat_list_next: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            xlist: *const HexchatList) -> libc::c_int,
+    pub hexchat_list_str: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             xlist: *const HexchatList,
-            name: *const libc::c_char) -> *const libc::c_char>,
-    pub hexchat_list_int: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            name: *const libc::c_char) -> *const libc::c_char,
+    pub hexchat_list_int: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             xlist: *const HexchatList,
-            name: *const libc::c_char) -> libc::c_int>,
-    pub hexchat_plugingui_add: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            name: *const libc::c_char) -> libc::c_int,
+    pub hexchat_plugingui_add: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             filename: *const libc::c_char,
             name: *const libc::c_char,
             desc: *const libc::c_char,
             version: *const libc::c_char,
-            reserved: *mut char) -> *const PluginGuiHandle>,
-    pub hexchat_plugingui_remove: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            handle: *const PluginGuiHandle)>,
-    pub hexchat_emit_print: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            event_name: *const libc::c_char, ...) -> libc::c_int>,
+            reserved: *mut char) -> *const PluginGuiHandle,
+    pub hexchat_plugingui_remove: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            handle: *const PluginGuiHandle),
+    pub hexchat_emit_print: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            event_name: *const libc::c_char, ...) -> libc::c_int,
     // this is VERY NAUGHTY.
     // TODO see if hexchat's gonna provide a proper userdata field at some point.
     // it appears this function isn't used anywhere by hexchat so we reuse its pointer.
@@ -140,57 +141,57 @@ pub struct Ph {
     // another option would've been to use one of the printf functions.
     // TODO test this on platforms hexchat doesn't build on, like AVR.
     pub userdata: *mut libc::c_void,
-    /*pub hexchat_read_fd: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+    /*pub hexchat_read_fd: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             src: *const libc::c_void,
             buf: *mut char,
-            len: *mut libc::c_int) -> libc::c_int>,*/
-    pub hexchat_list_time: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            len: *mut libc::c_int) -> libc::c_int,*/
+    pub hexchat_list_time: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             xlist: *const HexchatList,
-            name: *const libc::c_char) -> libc::time_t>,
-    pub hexchat_gettext: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            msgid: *const libc::c_char) -> *const libc::c_char>,
-    pub hexchat_send_modes: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            name: *const libc::c_char) -> libc::time_t,
+    pub hexchat_gettext: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            msgid: *const libc::c_char) -> *const libc::c_char,
+    pub hexchat_send_modes: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             targets: *mut *const libc::c_char,
             ntargets: libc::c_int,
             modes_per_line: libc::c_int,
             sign: libc::c_char,
-            mode: libc::c_char)>,
-    pub hexchat_strip: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            mode: libc::c_char),
+    pub hexchat_strip: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             string: *const libc::c_char,
             len: libc::c_int,
-            flags: libc::c_int) -> *const libc::c_char>,
-    pub hexchat_free: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            ptr: *const libc::c_void)>,
-    pub hexchat_pluginpref_set_str: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            flags: libc::c_int) -> *const libc::c_char,
+    pub hexchat_free: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            ptr: *const libc::c_void),
+    pub hexchat_pluginpref_set_str: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             var: *const libc::c_char,
-            value: *const libc::c_char) -> libc::c_int>,
-    pub hexchat_pluginpref_get_str: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            value: *const libc::c_char) -> libc::c_int,
+    pub hexchat_pluginpref_get_str: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             var: *const libc::c_char,
-            dest: *mut char) -> libc::c_int>,
-    pub hexchat_pluginpref_set_int: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            dest: *mut char) -> libc::c_int,
+    pub hexchat_pluginpref_set_int: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             var: *const libc::c_char,
-            value: libc::c_int) -> libc::c_int>,
-    pub hexchat_pluginpref_get_int: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            var: *const libc::c_char) -> libc::c_int>,
-    pub hexchat_pluginpref_delete: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            var: *const libc::c_char) -> libc::c_int>,
-    pub hexchat_pluginpref_list: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            dest: *mut char) -> libc::c_int>,
-    pub hexchat_hook_server_attrs: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            value: libc::c_int) -> libc::c_int,
+    pub hexchat_pluginpref_get_int: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            var: *const libc::c_char) -> libc::c_int,
+    pub hexchat_pluginpref_delete: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            var: *const libc::c_char) -> libc::c_int,
+    pub hexchat_pluginpref_list: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            dest: *mut char) -> libc::c_int,
+    pub hexchat_hook_server_attrs: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             name: *const libc::c_char,
             pri: libc::c_int,
             /* CALLBACK */
             callback: Option<unsafe extern "C" fn(word: *const *const libc::c_char, word_eol: *const *const libc::c_char, attrs: *const HexchatEventAttrs, user_data: *mut libc::c_void) -> libc::c_int>,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_hook_print_attrs: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_hook_print_attrs: unsafe extern "C" fn(ph: *mut HexchatPlugin,
             name: *const libc::c_char,
             pri: libc::c_int,
             /* CALLBACK */
             callback: Option<unsafe extern "C" fn(word: *const *const libc::c_char, attrs: *const HexchatEventAttrs, user_data: *mut libc::c_void) -> libc::c_int>,
-            userdata: *mut libc::c_void) -> *const HexchatHook>,
-    pub hexchat_emit_print_attrs: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin, attrs: *const HexchatEventAttrs,
-            event_name: *const libc::c_char, ...) -> libc::c_int>,
-    pub hexchat_event_attrs_create: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin) -> *mut HexchatEventAttrs>,
-    pub hexchat_event_attrs_free: Option<unsafe extern "C" fn(ph: *mut HexchatPlugin,
-            attrs: *const HexchatEventAttrs)>,
+            userdata: *mut libc::c_void) -> *const HexchatHook,
+    pub hexchat_emit_print_attrs: unsafe extern "C" fn(ph: *mut HexchatPlugin, attrs: *const HexchatEventAttrs,
+            event_name: *const libc::c_char, ...) -> libc::c_int,
+    pub hexchat_event_attrs_create: unsafe extern "C" fn(ph: *mut HexchatPlugin) -> *mut HexchatEventAttrs,
+    pub hexchat_event_attrs_free: unsafe extern "C" fn(ph: *mut HexchatPlugin,
+            attrs: *const HexchatEventAttrs),
 }