int xmsg_plugin_init(int prio) { PLUGIN_CHECK_VER("xmsg"); #ifdef HAVE_INOTIFY if ((in_fd = inotify_init()) == -1) xerrn("unable to init inotify"); #endif /*HAVE_INOTIFY*/ xdebug("inotify fd = %d", in_fd); xmsg_plugin.params = xmsg_plugin_vars; xmsg_plugin.priv = &xmsg_priv; plugin_register(&xmsg_plugin, prio); query_connect_id(&xmsg_plugin, PROTOCOL_VALIDATE_UID, xmsg_validate_uid, NULL); query_connect_id(&xmsg_plugin, EKG_SIGUSR1, xmsg_handle_sigusr, NULL); #define XMSG_CMDFLAGS SESSION_MUSTBELONG #define XMSG_CMDFLAGS_TARGET SESSION_MUSTBELONG|COMMAND_ENABLEREQPARAMS|COMMAND_PARAMASTARGET|SESSION_MUSTBECONNECTED command_add(&xmsg_plugin, "xmsg:", "?", xmsg_inline_msg, XMSG_CMDFLAGS, NULL); command_add(&xmsg_plugin, "xmsg:chat", "!uU !", xmsg_msg, XMSG_CMDFLAGS_TARGET, NULL); command_add(&xmsg_plugin, "xmsg:connect", NULL, xmsg_connect, XMSG_CMDFLAGS, NULL); command_add(&xmsg_plugin, "xmsg:disconnect", NULL, xmsg_disconnect, XMSG_CMDFLAGS, NULL); command_add(&xmsg_plugin, "xmsg:msg", "!uU !", xmsg_msg, XMSG_CMDFLAGS_TARGET, NULL); command_add(&xmsg_plugin, "xmsg:reconnect", NULL, xmsg_reconnect, XMSG_CMDFLAGS, NULL); #undef XMSG_CMDFLAGS_TARGET #undef XMSG_CMDFLAGS #ifdef HAVE_INOTIFY variable_add(&xmsg_plugin, "max_inotifycount", VAR_INT, 1, &config_maxinotifycount, NULL, NULL, NULL); watch_add(&xmsg_plugin, in_fd, WATCH_READ, xmsg_handle_data, NULL); #endif /*HAVE_INOTIFY*/ return 0; }
EXPORT int sniff_plugin_init(int prio) { PLUGIN_CHECK_VER("sniff"); sniff_plugin.params = sniff_plugin_vars; plugin_register(&sniff_plugin, prio); ekg_recode_cp_inc(); ekg_recode_utf8_inc(); query_connect(&sniff_plugin, "protocol-validate-uid", sniff_validate_uid, NULL); query_connect(&sniff_plugin, "status-show", sniff_status_show, NULL); query_connect(&sniff_plugin, "plugin-print-version", sniff_print_version, NULL); query_connect(&sniff_plugin, "session-removed", sniff_session_deinit, NULL); command_add(&sniff_plugin, "sniff:connect", NULL, sniff_command_connect, SESSION_MUSTBELONG, NULL); command_add(&sniff_plugin, "sniff:connections", NULL, sniff_command_connections, SESSION_MUSTBELONG | SESSION_MUSTBECONNECTED, NULL); command_add(&sniff_plugin, "sniff:disconnect", NULL,sniff_command_disconnect, SESSION_MUSTBELONG, NULL); return 0; }