Main Page | Modules | Namespace List | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

interp.h File Reference

Command interpreter header. More...

Go to the source code of this file.

Namespaces

namespace  interp
namespace  interp::commands
namespace  interp::logging

Defines

#define SCMD_DECL(func)   cmd_return func(UserList *nick, char **args, int numargs)
 Declare a command function.

#define OCMD(func)   SCMD_DECL(func)
 An OperServ Command function.

#define NCMD(func)   SCMD_DECL(func)
 A NickServ Command function.

#define CCMD(func)   SCMD_DECL(func)
 A ChanServ Command function.

#define MCMD(func)   SCMD_DECL(func)
 A MemoServ Command function.

#define GCMD(func)   SCMD_DECL(func)
 A GameServ Command function.

#define ICMD(func)   SCMD_DECL(func)
 An InfoServ Command function.


Enumerations

enum  cmd_return {
  RET_OK, RET_OK_DB, RET_OK_NOCHANGE = RET_OK, RET_OK_DBCHANGE = RET_OK_DB,
  RET_SYNTAX, RET_NOPERM, RET_BADPW, RET_NOROOT,
  RET_EFAULT, RET_NOTARGET, RET_FAIL, RET_MEMORY,
  RET_INVALID, RET_KILLED
}
 Command return status values. More...


Functions

cmd_return os_shutdown (UserList *nick, char **args, int numargs)
cmd_return os_reset (UserList *nick, char **args, int numargs)
 Rehash for services. Reloads the configuration.

cmd_return os_jupe (UserList *nick, char **args, int numargs)
cmd_return os_uptime (UserList *nick, char **args, int numargs)
cmd_return os_timers (UserList *nick, char **args, int numargs)
cmd_return os_sync (UserList *nick, char **args, int numargs)
 DEBUG: Sync the disk copy of services databases.

cmd_return os_trigger (UserList *nick, char **args, int numargs)
cmd_return os_match (UserList *nick, char **args, int numargs)
 DEBUG: Match a test string.

cmd_return os_cloneset (UserList *nick, char **args, int numargs)
cmd_return os_remsra (UserList *nick, char **args, int numargs)
cmd_return os_tempakill (UserList *nick, char **args, int numargs)
cmd_return os_clonerule (UserList *nick, char **args, int numargs)
cmd_return os_grpop (UserList *nick, char **args, int numargs)
cmd_return os_setop (UserList *nick, char **args, int numargs)
cmd_return os_override (UserList *nick, char **args, int numargs)
cmd_return os_strike (UserList *nick, char **args, int numargs)
 Test command.

cmd_return os_nixghost (UserList *nick, char **args, int numargs)
cmd_return os_help (UserList *nick, char **args, int numargs)
cmd_return os_akill (UserList *nick, char **args, int numargs)
cmd_return os_ignore (UserList *nick, char **args, int numargs)
cmd_return os_ahurt (UserList *nick, char **args, int numargs)
cmd_return os_mode (UserList *nick, char **args, int numargs)
cmd_return os_raw (UserList *nick, char **args, int numargs)
cmd_return os_heal (UserList *nick, char **args, int numargs)
cmd_return ns_help (UserList *nick, char **args, int numargs)
cmd_return ns_identify (UserList *nick, char **args, int numargs)
cmd_return ns_cidentify (UserList *nick, char **args, int numargs)
cmd_return ns_set (UserList *nick, char **args, int numargs)
cmd_return ns_register (UserList *nick, char **args, int numargs)
cmd_return ns_info (UserList *nick, char **args, int numargs)
 Query NickServ for information on a nickname.

cmd_return ns_drop (UserList *nick, char **args, int numargs)
 Drop a registered nickname.

cmd_return ns_addmask (UserList *nick, char **args, int numargs)
cmd_return ns_access (UserList *nick, char **args, int numargs)
cmd_return ns_acc (UserList *nick, char **args, int numargs)
cmd_return ns_release (UserList *nick, char **args, int numargs)
cmd_return ns_setflags (UserList *nick, char **args, int numargs)
cmd_return ns_setopflags (UserList *nick, char **args, int numargs)
 Query/Change Operator flags.

cmd_return ns_bypass (UserList *nick, char **args, int numargs)
cmd_return ns_banish (UserList *nick, char **args, int numargs)
cmd_return ns_getpass (UserList *nick, char **args, int numargs)
cmd_return ns_getrealpass (UserList *nick, char **args, int numargs)
cmd_return ns_delete (UserList *nick, char **args, int numargs)
cmd_return ns_list (UserList *nick, char **args, int numargs)
cmd_return ns_ghost (UserList *nick, char **args, int numargs)
cmd_return ns_recover (UserList *nick, char **args, int numargs)
cmd_return ns_save (UserList *nick, char **args, int numargs)
 Save NickServ database.

cmd_return ns_mark (UserList *nick, char **args, int numargs)
cmd_return ns_vacation (UserList *nick, char **args, int numargs)
cmd_return ms_save (UserList *nick, char **args, int numargs)
 Sync MemoServ database to disk.

cmd_return ns_logoff (UserList *nick, char **args, int numargs)
cmd_return ns_verify (UserList *nick, char **args, int numargs)
cmd_return ns_setemail (UserList *nick, char **args, int numargs)
cmd_return ns_setpass (UserList *nick, char **args, int numargs)
 CCMD (cs_help)
 CCMD (cs_clean)
 CCMD (cs_clist)
 CCMD (cs_info)
 CCMD (cs_register)
 CCMD (cs_drop)
 CCMD (cs_delete)
 CCMD (cs_access)
 Get access level [?of target] on channel.

 CCMD (cs_addop)
 CCMD (cs_addak)
 CCMD (cs_wipeak)
 CCMD (cs_wipeop)
 CCMD (cs_delak)
 CCMD (cs_listop)
 CCMD (cs_listak)
 CCMD (cs_identify)
 CCMD (cs_op)
 CCMD (cs_deop)
 CCMD (cs_modelock)
 CCMD (cs_restrict)
 CCMD (cs_topiclock)
 CCMD (cs_set)
 CCMD (cs_save)
 CCMD (cs_getpass)
 CCMD (cs_getrealpass)
 CCMD (cs_invite)
 CCMD (cs_unban)
 CCMD (cs_mdeop)
 CCMD (cs_mkick)
 CCMD (cs_whois)
 CCMD (cs_banish)
 CCMD (cs_close)
 CCMD (cs_hold)
 Hold/unhold a channel from expiration.

 CCMD (cs_mark)
 Mark/unmark a channel (ServOp command).

 CCMD (cs_chanop)
 CCMD (cs_akick)
 CCMD (cs_log)
 CCMD (cs_trigger)
 CCMD (cs_dmod)
cmd_return gs_roll (UserList *nick, char **args, int numargs)
cmd_return gs_help (UserList *nick, char **args, int numargs)
 /msg GameServ help

cmd_return is_help (UserList *nick, char **args, int numargs)
 Help system entry point.

cmd_return is_sendinfo (UserList *nick, char **args, int numargs)
 /InfoServ READ

cmd_return is_listnews (UserList *nick, char **args, int numargs)
cmd_return is_postnews (UserList *nick, char **args, int numargs)
cmd_return is_delete (UserList *nick, char **args, int numargs)
 Delete an article.

cmd_return is_save (UserList *nick, char **args, int numargs)
 Save all articles.

cmd_return ms_help (UserList *nick, char **args, int numargs)
cmd_return ms_read (UserList *nick, char **args, int numargs)
cmd_return ms_send (UserList *nick, char **args, int numargs)
cmd_return ms_sendsop (UserList *nick, char **args, int numargs)
 /ms sendsop message handler

cmd_return ms_forward (UserList *nick, char **args, int numargs)
 Forward future memos to another nick.

cmd_return ms_nomemo (UserList *nick, char **args, int numargs)
cmd_return ms_clean (UserList *nick, char **args, int numargs)
cmd_return ms_delete (UserList *nick, char **args, int numargs)
 Delete a memo (message handler).

cmd_return ms_list (UserList *nick, char **args, int numargs)
cmd_return ms_savememo (UserList *nick, char **args, int numargs)
cmd_return ms_unsend (UserList *nick, char **args, int numargs)
cmd_return ms_mblock (UserList *nick, char **args, int numargs)
 Block further memos from a registered nickname.


Variables

SLogfilenicklog
SLogfilechanlog
SLogfileoperlog


Detailed Description

Command interpreter header.

Author:
James Hess
Id
interp.h,v 1.1.1.1 2003/07/04 02:54:05 Mysid Exp

Definition in file interp.h.


Enumeration Type Documentation

enum cmd_return
 

Command return status values.

Enumeration values:
RET_OK  Command was successful but mostly passive.
RET_OK_DB  Command was successful and services' databases were affected.
RET_OK_NOCHANGE  Command was successful and services' databases were not affected.
RET_OK_DBCHANGE  Command was successful and services' databases were changed.
RET_SYNTAX  The command was not invoked with appropriate parameters.
RET_NOPERM  The user lacks permissions necessary for the command to succeed.
RET_BADPW  The command requires a password and the user supplied a wrong one.
RET_NOROOT  The user is not a Services Root Admin but the command requires that level of access of the user.
RET_EFAULT  Error condition; the parameter could not be read, or an internal error/failure as a result of a user or system error prevented successful completion
RET_NOTARGET  The target of the command does not exist or was invalid.
RET_FAIL  The command was issued properly and failed but it was not the result of a fault condition
RET_MEMORY  The command requires that memory be allocated to complete it but services wasn't able to complete the allocation
RET_INVALID  The command is not a valid command for this user right now.
RET_KILLED  This *MUST* be the value returned if the sender was killed The command must do its own logging if it returns this.

Definition at line 77 of file interp.h.


Function Documentation

CCMD cs_trigger   ) 
 

cmd_cs_trigger Command Syntax: a. TRIGGER Show system defaults b. TRIGGER LIST List triggers c. TRIGGER Show trigger levels d. TRIGGER DEFAULTS Remove all triggered data e. TRIGGER MaxAkicks Change max number akicks f. TRIGGER MaxOps Change max number chanops

Definition at line 6955 of file chanserv.c.

References RET_OK_DB.

CCMD cs_mark   ) 
 

Mark/unmark a channel (ServOp command).

Author:
--Mysid (James Hess) <mysidia-ss@flame.org>

Definition at line 5010 of file chanserv.c.

References ChanServ, RET_SYNTAX, and sSend().

CCMD cs_hold   ) 
 

Hold/unhold a channel from expiration.

Author:
--Mysid (James Hess) <mysidia-ss@flame.org>

Definition at line 4930 of file chanserv.c.

CCMD cs_getpass   ) 
 

Todo:
This stuff should be done using ``getopt_long_only''. Parse ChanServ getpass options

Definition at line 6152 of file chanserv.c.

CCMD cs_identify   ) 
 

Identify for founder access

Improvements, support for identity using a nick other than listed in /cs info (remote id.) -Mysid

XXX should check nick->caccess maybe?

Definition at line 3480 of file chanserv.c.

References RET_FAIL.

CCMD cs_access   ) 
 

Get access level [?of target] on channel.

Improved to always indicate nick used to get access unless not the same as the present nick. -Mysid

Definition at line 3251 of file chanserv.c.

References RET_NOTARGET.

cmd_return gs_roll UserList nick,
char **  args,
int  numargs
 

[Frequency] # [Number of Dice] D [Number of sides] +/- [Modifier] ^^^^^^^^^^^^^^^^^ Only the number of sides is mandatory.

Definition at line 152 of file gameserv.c.

References addFlood(), dice(), GameServ, getChanData(), getChanOp(), getChanUserData(), isRoot(), chanlist_struct::reg, RET_EFAULT, RET_KILLED, RET_NOTARGET, RET_OK, RET_SYNTAX, and sSend().

cmd_return is_listnews UserList nick,
char **  args,
int  numargs
 

/IS listnews

Definition at line 293 of file infoserv.c.

References CTime, Newsitem::from, Newsitem::header, Newsitem::importance, InfoServ, is_listhead, isOper(), Newsitem::next, OOPER, PutReply, RET_OK, SomeNews, sSend(), and Newsitem::timestamp.

cmd_return is_postnews UserList nick,
char **  args,
int  numargs
 

is_postnews() - Sun Jan 4th, 1998 DuffJ args[0] = "post" args[1] = importance level (1 - 5) args[2] = one-word header. args[3] = content, up to max limit (NEWSCONTENTLEN)

Definition at line 341 of file infoserv.c.

References Newsitem::content, CTime, Newsitem::from, Newsitem::header, Newsitem::importance, InfoServ, is_last_post_time, is_listhead, Newsitem::next, oalloc(), OINFOPOST, opFlagged(), OROOT, OSERVOP, parse_str(), priority_names, PutHelpInfo, PutReply, RET_OK_DB, RET_SYNTAX, SomeNews, sSend(), strncpyzt, and Newsitem::timestamp.

cmd_return ns_acc UserList nick,
char **  args,
int  numargs
 

Acc Acc {[<nick>] | <nick1> <nick2>} Check identified/NickServ recognition level of a user -Mysid

Definition at line 3959 of file nickserv.c.

cmd_return ns_access UserList nick,
char **  args,
int  numargs
 

Access Access add <mask> Access del <mask> Access del <number> Access del -

Purpose: Maintain a NickName's access list

  • /ns access add user@*.host.com -- add access mask
  • /ns access del user@*.host.com -- del access mask
  • /ns access del 1 -- del access mask #1
  • /ns access del - -- wipe access list clean

Definition at line 3818 of file nickserv.c.

References RET_OK.

cmd_return ns_addmask UserList nick,
char **  args,
int  numargs
 

Addmask Addmask Add a default hostmask

Definition at line 3768 of file nickserv.c.

References addAccessMask(), _userlist::host, mask(), RET_OK_DB, SetDynBuffer(), and _userlist::user.

cmd_return ns_banish UserList nick,
char **  args,
int  numargs
 

Banish Banish <nick> Banish a NickName from use and registration by users

Definition at line 4795 of file nickserv.c.

References RET_NOPERM.

cmd_return ns_getrealpass UserList nick,
char **  args,
int  numargs
 

Debugging command, get password field bits from user structure

Deprecated:
Use of this command is deprecated

Definition at line 4895 of file nickserv.c.

References RET_SYNTAX.

cmd_return ns_ghost UserList nick,
char **  args,
int  numargs
 

Ghost NghostCmd(nick, args, numargs)

  • args[1..2]:
  • args[0] = "ghost"
  • args[1] = nick
  • args[2] =
  • Used to 'ghost', or remove a non-existing (ghost) clients via NickServ.

  • Command Syntax: /msg NickServ GHOST [nickname]

  • Modification History (most recent at top):
  • Mon Jun 15 13:39:55 PDT 1998 by some2:
    • Added top comments, fixed parenthesis and spacing Added code to check that the user being ghosted is recorded by services as existing

Definition at line 4046 of file nickserv.c.

References NickServ, and RET_SYNTAX.

cmd_return ns_mark UserList nick,
char **  args,
int  numargs
 

Mark Mark <nick> Check state of mark flag Mark <nick> ("on" | "off") On means mark, off means unmark. A nick mark is an indication that an oper should be particularly wary in handling a password request for the nickname. Getrealpass, and getpass should both warn about this, but only GRp does. -Mysid

Definition at line 4597 of file nickserv.c.

References RET_SYNTAX, and sSend().

cmd_return ns_recover UserList nick,
char **  args,
int  numargs
 

Recover ns_recover(nick, args, numargs)

  • args[1..2]:
  • args[0] = "recover"
  • args[1] = nick
  • args[2] = password
  • Used to recover an owned nickname in use by another user

  • Command Syntax: /msg NickServ RECOVER

  • Created by Mysidia (jmh): based on ns_ghost

Definition at line 4156 of file nickserv.c.

References NickServ, and RET_SYNTAX.

cmd_return ns_register UserList nick,
char **  args,
int  numargs
 

Register Register <email> Register <password> <email>

Request a new nickname, activation code sent to <email> Arguments:

  1. argv[1] == password
  2. argv[2] == email (if supplied)

Definition at line 3199 of file nickserv.c.

References RET_EFAULT, RET_KILLED, and sSend().

cmd_return ns_release UserList nick,
char **  args,
int  numargs
 

Release Release <nick> <password> args[0..2]

Definition at line 4258 of file nickserv.c.

References NickServ, and RET_NOTARGET.

cmd_return ns_set UserList nick,
char **  args,
int  numargs
 

Set Set <setting> *{ <new value> } Set various NickName options such as kill enforcement or idtime. -Mysid

Definition at line 3077 of file nickserv.c.

References NIDENT, and NSS_FLAG.

cmd_return ns_setflags UserList nick,
char **  args,
int  numargs
 

Setflag Setflag <nick> [+-]<flags> Change a NickName's settings or flags

Definition at line 4668 of file nickserv.c.

References RET_NOPERM.

cmd_return ns_setopflags UserList nick,
char **  args,
int  numargs
 

Query/Change Operator flags.

Setopflags (/NS Setop) Setop <nick> Show access flags of nick. Setop <nick> {(+|-) Flags ...} Flags = [AOokKpsSNCIGrjL!cahD] Change access flags of nick. Setop del <nick> Strip nick of access flags. Setop add <nick> Give nick basic oper flags (setop +o does this too unless overriden with setop <nick> +o-pka).

Definition at line 4340 of file nickserv.c.

References opflags, and sSend().

cmd_return os_akill UserList nick,
char **  args,
int  numargs
 

Autokill command - for editing the network ban (akill) list

Altered so that AHURTs and Services ignores, akills all fall under this one command instead of having 3 copy-pasted versions of this function that just use different names and list item flags. -Mysid

Definition at line 260 of file operserv.c.

References A_AKILL, OAKILL, and ORAKILL.

cmd_return os_mode UserList nick,
char **  args,
int  numargs
 

String truncates here

Definition at line 553 of file operserv.c.


Generated at Sat Oct 25 20:56:11 2003 for Services using Doxygen.
Services Copyr. 1996-2001 Chip Norkus, Max Byrd, Greg Poma, Michael Graff, James Hess, Dafydd James. All rights reserved See LICENSE for licensing information.