00001 #ifndef __CTRLPROXY_ADMIN_H__ 00002 #define __CTRLPROXY_ADMIN_H__ 00003 00009 struct admin_handle; 00010 00011 typedef struct admin_handle *admin_handle; 00012 00013 typedef void (*admin_command_handler) (admin_handle, char **, void *userdata); 00014 00018 struct admin_handle 00019 { 00020 struct global *global; 00021 struct irc_client *client; 00022 struct irc_network *network; 00023 void *user_data; 00024 void (*send_fn) (struct admin_handle *, const char *data); 00025 }; 00026 00030 struct admin_command { 00031 char *name; 00032 admin_command_handler handler; 00033 void *userdata; 00034 }; 00035 00039 G_MODULE_EXPORT void register_admin_command(const struct admin_command *cmd); 00040 00047 G_MODULE_EXPORT void admin_out(admin_handle h, const char *fmt, ...); 00048 00049 G_MODULE_EXPORT struct irc_client *admin_get_client(admin_handle h); 00050 00051 G_MODULE_EXPORT struct irc_network *admin_get_network(admin_handle h); 00052 00053 G_MODULE_EXPORT struct global *admin_get_global(admin_handle h); 00054 00055 #endif