Example #1
0
/* This is called on module init, before Server Ready */
DLLFUNC int MOD_INIT(m_dummy)(ModuleInfo *modinfo)
{
	CmodeInfo req;
	ircd_log(LOG_ERROR, "debug: mod_init called from chmodetst module");
	ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);
	sendto_realops("chmodetst loading...");
	/* TODO: load mode here */
	/* +w doesn't do anything, it's just for testing */
	memset(&req, 0, sizeof(req));
	req.paracount = 0;
	req.is_ok = extcmode_default_requirechop;
	req.flag = 'w';
	ModeTest = CmodeAdd(modinfo->handle, req, &EXTCMODE_TEST);
	/* +y doesn't do anything except that you can set/unset it with a
	 * numeric parameter (1-100)
	 */
	memset(&req, 0, sizeof(req));
	req.paracount = 1;
	req.is_ok = modey_is_ok;
	req.put_param = modey_put_param;
	req.get_param = modey_get_param;
	req.conv_param	= modey_conv_param;
	req.free_param = modey_free_param;
	req.sjoin_check = modey_sjoin_check;
	req.dup_struct = modey_dup_struct;
	req.flag = 'y';
	ModeTest2 = CmodeAdd(modinfo->handle, req, &EXTCMODE_TEST2);
	return MOD_SUCCESS;
}
Example #2
0
DLLFUNC int MOD_INIT(nocodeschmode)(ModuleInfo *modinfo)
{
	CmodeInfo ModeNC;

#ifndef STATIC_LINKING
	ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);
#endif
	memset(&ModeNoCodes, 0, sizeof ModeNoCodes);
	ModeNC.paracount	= 0;
	ModeNC.is_ok		= extcmode_default_requirechop;
	ModeNC.flag		= FLAG_NOCODES;
	ModeNoCodes		= CmodeAdd(modinfo->handle, ModeNC, &MODE_NOCODES);
#ifndef STATIC_LINKING
        if (ModuleGetError(modinfo->handle) != MODERR_NOERROR || !ModeNoCodes)
        {
            config_error("Error adding channel mode +%c when loading module %s: %s",
                ModeNC.flag,MOD_HEADER(nocodeschmode).name,ModuleGetErrorStr(modinfo->handle));
        }
#else
        if (!ModeNoCodes)
        {
            config_error("Error adding channel mode +%c when loading module %s:",
                ModeNC.flag,MOD_HEADER(nocodeschmode).name);
        }
#endif


        HookAddPCharEx(modinfo->handle, HOOKTYPE_CHANMSG, h_nocodes_chanmsg);
	return MOD_SUCCESS;
}
Example #3
0
DLLFUNC int MOD_INIT(m_restrictcolors)(ModuleInfo *modinfo)
{
    ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);
    CmodeInfo req;
    ircd_log(LOG_ERROR, "debug: mod_init called from m_restrictcolors");
    sendto_realops("loading m_restrictcolors");
    memset(&req, 0, sizeof(req));
    req.paracount = 0;
    req.is_ok = extcmode_default_requirehalfop;
    req.flag = 'W';
    ModeRcolors = CmodeAdd(modinfo->handle, req, &RESTRICT_COLORS);

    bcopy(modinfo,&RestrictColorsModInfo,modinfo->size);
    CheckMsg = HookAddPCharEx(RestrictColorsModInfo.handle, HOOKTYPE_CHANMSG, restrictcolors_checkmsg);
    return MOD_SUCCESS;
}
Example #4
0
DLLFUNC int MOD_INIT(m_nocaps)(ModuleInfo *modinfo)
{
    ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);
    CmodeInfo req;
    ircd_log(LOG_ERROR, "debug: mod_init called from m_nocaps");
    sendto_realops("loading m_nocaps");
    memset(&req, 0, sizeof(req));
    req.paracount = 0;
    req.is_ok = extcmode_default_requirehalfop;
    req.flag = 'd';
    ModeBlock = CmodeAdd(modinfo->handle, req, &NOCAPS_BLOCK);

    bcopy(modinfo,&NoCapsModInfo,modinfo->size);
    CheckMsg = HookAddPCharEx(NoCapsModInfo.handle, HOOKTYPE_CHANMSG, nocaps_checkmsg);
    return MOD_SUCCESS;
}
Example #5
0
DLLFUNC int MOD_INIT(m_banlink)(ModuleInfo *modinfo)
{
	CmodeInfo req;
	ModuleSetOptions(modinfo->handle, MOD_OPT_PERM);

	memset(&req, 0, sizeof(req));
	req.paracount = 1;
	req.is_ok = mode_is_ok;
	req.put_param = mode_put_param;
	req.get_param = mode_get_param;
	req.free_param = mode_free_param;
	req.sjoin_check = mode_sjoin_check;
	req.conv_param = mode_conv_param;
	req.dup_struct = mode_dup_struct;
	req.flag = 'B';
	ModeBANLINK = CmodeAdd(modinfo->handle, req, &EXTCMODE_BANLINK);

	HookJoin	= HookAddEx(modinfo->handle, HOOKTYPE_PRE_LOCAL_JOIN, cb_join);

	return MOD_SUCCESS;
}