mirror of
https://github.com/inspircd/inspircd.git
synced 2025-03-13 04:29:03 -04:00
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
80 lines
2.4 KiB
C++
80 lines
2.4 KiB
C++
/* +------------------------------------+
|
|
* | Inspire Internet Relay Chat Daemon |
|
|
* +------------------------------------+
|
|
*
|
|
* InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
|
|
* E-mail:
|
|
* <brain@chatspike.net>
|
|
* <Craig@chatspike.net>
|
|
*
|
|
* Written by Craig Edwards, Craig McLure, and others.
|
|
* This program is free but copyrighted software; see
|
|
* the file COPYING for details.
|
|
*
|
|
* ---------------------------------------------------
|
|
*/
|
|
|
|
#ifndef _HELPER_H_
|
|
#define _HELPER_H_
|
|
|
|
#include "dynamic.h"
|
|
#include "base.h"
|
|
#include "ctables.h"
|
|
#include "users.h"
|
|
#include "channels.h"
|
|
#include "typedefs.h"
|
|
#include <string>
|
|
#include <deque>
|
|
#include <sstream>
|
|
|
|
/** Debug levels for use with InspIRCd::Log()
|
|
*/
|
|
enum DebugLevel
|
|
{
|
|
DEBUG = 10,
|
|
VERBOSE = 20,
|
|
DEFAULT = 30,
|
|
SPARSE = 40,
|
|
NONE = 50,
|
|
};
|
|
|
|
/* I'm not entirely happy with this, the ## before 'args' is a g++ extension.
|
|
* The problem is that if you #define log(l, x, args...) and then call it
|
|
* with only two parameters, you get do_log(l, x, ), which is a syntax error...
|
|
* The ## tells g++ to remove the trailing comma...
|
|
* If this is ever an issue, we can just have an #ifndef GCC then #define log(a...) do_log(a)
|
|
*/
|
|
#define STRINGIFY2(x) #x
|
|
#define STRINGIFY(x) STRINGIFY2(x)
|
|
#define log(l, x, args...) InspIRCd::Log(l, __FILE__ ":" STRINGIFY(__LINE__) ": " x, ##args)
|
|
|
|
void WriteOpers(const char* text, ...);
|
|
void WriteOpers_NoFormat(const char* text);
|
|
|
|
std::string GetServerDescription(const char* servername);
|
|
void strlower(char *n);
|
|
userrec* Find(const std::string &nick);
|
|
userrec* Find(const char* nick);
|
|
chanrec* FindChan(const char* chan);
|
|
int usercount_i(chanrec *c);
|
|
long GetMaxBans(char* name);
|
|
void purge_empty_chans(userrec* u);
|
|
char* chanmodes(chanrec *chan, bool showkey);
|
|
void userlist(userrec *user,chanrec *c);
|
|
ConnectClass GetClass(userrec *user);
|
|
void Error(int status);
|
|
void ShowMOTD(userrec *user);
|
|
void ShowRULES(userrec *user);
|
|
bool AllModulesReportReady(userrec* user);
|
|
bool DirValid(char* dirandfile);
|
|
bool FileExists(const char* file);
|
|
char* CleanFilename(char* name);
|
|
std::string GetFullProgDir(char** argv, int argc);
|
|
int InsertMode(std::string &output, const char* modes, unsigned short section);
|
|
bool IsValidChannelName(const char *);
|
|
|
|
int charlcat(char* x,char y,int z);
|
|
bool charremove(char* mp, char remove);
|
|
|
|
#endif
|