/**********************************************************************
* PTlink IRC Services is (C) CopyRight PTlink IRC Software 1999-2005 *
* http://software.pt-link.net *
* This program is distributed under GNU Public License *
* Please read the file COPYING for copyright information. *
**********************************************************************
Description: nickserv module header file
* $Id: nickserv.h,v 1.3 2005/10/18 16:25:06 jpinto Exp $
*/
#ifndef _NICKSERV_H_
#define _NICKSERV_H_
#include "strhand.h" /* we need for the options mask */
/* nickserv flags */
#define NFL_PRIVATE 0x00000001 /* nick info is private */
#define NFL_SUSPENDED 0x00000002 /* nick is suspended */
#define NFL_NOEXPIRE 0x00000004 /* nick will not expire */
#define NFL_NONEWS 0x00000008 /* nick should received newsletter */
#define NFL_HIDEEMAIL 0x00000010 /* nick wants to hide email from ns info */
#define NFL_AUTHENTIC 0x00000020 /* nick email was authenticated */
#define NFL_PROTECTED 0x00000040 /* nick is protected */
#define NFL_USEMSG 0x00000080 /* nick wants msg instead of notices */
/* NOTE: NFL_USEMSG is also defined on src/lang.c ! */
/* nickserv status */
#define NST_ONLINE 0x00000001 /* nick is online */
#define NST_FULLREG 0x00000002 /* nick is fully registered, will get +r */
/* misc macros */
#define IsPrivateNick(x) ((x)->flags & NFL_PRIVATE)
#define IsHideEmail(x) ((x)->flags & NFL_HIDEEMAIL)
#define IsOnline(x) ((x)->status & NST_ONLINE)
#define SetOnline(x) ((x)->status |= NST_ONLINE)
#define ClearOnline(x) ((x)->status &= ~NST_ONLINE)
#define IsAuthenticated(x) ((x)->flags & NFL_AUTHENTIC)
#define SetAuthenticated(x) ((x)->flags |= NFL_AUTHENTIC)
#define ClearAuthenticated(x) ((x)->flags &= ~NFL_AUTHENTIC)
#define IsProtected(x) ((x)->flags & NFL_PROTECTED)
#define SetProtected(x) ((x)->flags |= NFL_PROTECTED)
#define ClearProtected(x) ((x)->flags &= ~NFL_PROTECTED)
#define WantsMsg(x) ((x)->flags & NFL_USEMSG)
#define IsFullRegistered(x) ((x)->status & NST_FULLREGISTERED)
OptionMask nick_options_mask[] =
{
{ "private", NFL_PRIVATE, NULL },
{ "nonews", NFL_NONEWS, NULL },
{ "noexpire", NFL_NOEXPIRE, NULL },
{ "hideemail", NFL_HIDEEMAIL, NULL },
{ "protected", NFL_PROTECTED, NULL },
{ "suspended", NFL_SUSPENDED, NULL },
{ "usemsg", NFL_USEMSG, NULL },
{ NULL }
};
/* extra data constants defined here */
#define ED_GROUPS 0
#ifdef NICKSERV
#else
#endif
#endif
syntax highlighted by Code2HTML, v. 0.9.1