Riferimenti per il file m_cap.c

Capability negotiation commands. Continua...

#include "stdinc.h"
#include "handlers.h"
#include "client.h"
#include "hash.h"
#include "ircd.h"
#include "numeric.h"
#include "s_conf.h"
#include "s_user.h"
#include "s_serv.h"
#include "send.h"
#include "msg.h"
#include "parse.h"
#include "modules.h"
#include "common.h"
#include "packet.h"
#include "irc_string.h"

Vai al codice sorgente di questo file.

Strutture dati

struct  capabilities
struct  subcmd

Definizioni

#define CAPFL_HIDDEN   0x0001
#define CAPFL_PROHIBIT   0x0002
#define CAPFL_PROTO   0x0004
#define CAPFL_STICKY   0x0008
#define _CAP(cap, flags, name)   { (cap), (flags), (name), sizeof(name) - 1 }
#define CAPAB_LIST_LEN   (sizeof(capab_list) / sizeof(struct capabilities))

Ridefinizioni di tipo (typedef)

typedef int(* bqcmp )(const void *, const void *)

Funzioni

static void m_cap (struct Client *, struct Client *, int, char *[])
void _modinit (void)
void _moddeinit (void)
static int capab_sort (const struct capabilities *cap1, const struct capabilities *cap2)
static int capab_search (const char *key, const struct capabilities *cap)
static struct capabilitiesfind_cap (const char **caplist_p, int *neg_p)
static int send_caplist (struct Client *sptr, unsigned int set, unsigned int rem, const char *subcmd)
static int cap_ls (struct Client *sptr, const char *caplist)
static int cap_req (struct Client *sptr, const char *caplist)
static int cap_ack (struct Client *sptr, const char *caplist)
static int cap_clear (struct Client *sptr, const char *caplist)
static int cap_end (struct Client *sptr, const char *caplist)
static int cap_list (struct Client *sptr, const char *caplist)
static int subcmd_search (const char *cmd, const struct subcmd *elem)

Variabili

struct Message cap_msgtab
const char * _version = "$Revision: 33 $"
static struct capabilities capab_list []
static struct subcmd cmdlist []


Descrizione dettagliata

Capability negotiation commands.

Versione:
Id
m_cap.c 575 2006-05-01 11:41:09Z michael

Definizione nel file m_cap.c.


Documentazione delle definizioni

#define _CAP ( cap,
flags,
name   )     { (cap), (flags), (name), sizeof(name) - 1 }

#define CAPAB_LIST_LEN   (sizeof(capab_list) / sizeof(struct capabilities))

Definizione alla linea 90 del file m_cap.c.

Referenziato da cap_clear(), find_cap(), e send_caplist().

#define CAPFL_HIDDEN   0x0001

Do not advertize this capability

Definizione alla linea 70 del file m_cap.c.

Referenziato da send_caplist().

#define CAPFL_PROHIBIT   0x0002

Client may not set this capability

Definizione alla linea 71 del file m_cap.c.

Referenziato da cap_req().

#define CAPFL_PROTO   0x0004

Cap must be acknowledged by client

Definizione alla linea 72 del file m_cap.c.

Referenziato da cap_clear(), cap_req(), e send_caplist().

#define CAPFL_STICKY   0x0008

Cap may not be cleared once set

Definizione alla linea 73 del file m_cap.c.

Referenziato da cap_clear(), cap_req(), e send_caplist().


Documentazione delle ridefinizioni di tipo (typedef)

typedef int(* bqcmp)(const void *, const void *)

Definizione alla linea 75 del file m_cap.c.


Documentazione delle funzioni

void _moddeinit ( void   ) 

Definizione alla linea 62 del file m_cap.c.

Riferimenti mod_del_cmd().

void _modinit ( void   ) 

Definizione alla linea 56 del file m_cap.c.

Riferimenti mod_add_cmd().

static int cap_ack ( struct Client sptr,
const char *  caplist 
) [static]

Definizione alla linea 296 del file m_cap.c.

Riferimenti capabilities::cap, LocalUser::cap_active, find_cap(), e Client::localClient.

static int cap_clear ( struct Client sptr,
const char *  caplist 
) [static]

static int cap_end ( struct Client sptr,
const char *  caplist 
) [static]

static int cap_list ( struct Client sptr,
const char *  caplist 
) [static]

Definizione alla linea 372 del file m_cap.c.

Riferimenti LocalUser::cap_client, Client::localClient, e send_caplist().

static int cap_ls ( struct Client sptr,
const char *  caplist 
) [static]

Definizione alla linea 235 del file m_cap.c.

Riferimenti IsUnknown, Client::localClient, REG_NEED_CAP, LocalUser::registration, e send_caplist().

static int cap_req ( struct Client sptr,
const char *  caplist 
) [static]

static int capab_search ( const char *  key,
const struct capabilities cap 
) [static]

Definizione alla linea 99 del file m_cap.c.

Riferimenti IsSpace, capabilities::name, e ToLower.

Referenziato da find_cap().

static int capab_sort ( const struct capabilities cap1,
const struct capabilities cap2 
) [static]

Definizione alla linea 93 del file m_cap.c.

Riferimenti capabilities::name.

Referenziato da find_cap().

static struct capabilities* find_cap ( const char **  caplist_p,
int *  neg_p 
) [static, read]

Definizione alla linea 117 del file m_cap.c.

Riferimenti capabilities::cap, capab_list, CAPAB_LIST_LEN, capab_search(), capab_sort(), IsSpace, e capabilities::namelen.

Referenziato da cap_ack(), e cap_req().

static void m_cap ( struct Client cptr,
struct Client sptr,
int  parc,
char *  parv[] 
) [static]

Handle a capability request or response from a client.

Parametri:
cptr Client that sent us the message.
sptr Original source of message.
parc Number of arguments.
parv Argument vector.

Definizione alla linea 405 del file m_cap.c.

Riferimenti subcmd::cmd, cmdlist, ERR_INVALIDCAPCMD, form_str(), me, Client::name, subcmd::proc, sendto_one(), e subcmd_search().

static int send_caplist ( struct Client sptr,
unsigned int  set,
unsigned int  rem,
const char *  subcmd 
) [static]

Send a CAP subcmd list of capability changes to sptr. If more than one line is necessary, each line before the last has an added "*" parameter before that line's capability list.

Parametri:
[in] sptr Client receiving capability list.
[in] set Capabilities to show as set (with ack and sticky modifiers).
[in] rem Capabalities to show as removed (with no other modifier).
[in] subcmd Name of capability subcommand.

Definizione alla linea 173 del file m_cap.c.

Riferimenti capabilities::cap, capab_list, CAPAB_LIST_LEN, CAPFL_HIDDEN, CAPFL_PROTO, CAPFL_STICKY, capabilities::flags, flags, IRCD_BUFSIZE, me, capabilities::name, Client::name, capabilities::namelen, sendto_one(), e snprintf().

Referenziato da cap_clear(), cap_list(), cap_ls(), e cap_req().

static int subcmd_search ( const char *  cmd,
const struct subcmd elem 
) [static]

Definizione alla linea 393 del file m_cap.c.

Riferimenti subcmd::cmd.

Referenziato da m_cap().


Documentazione delle variabili

const char* _version = "$Revision: 33 $"

Definizione alla linea 67 del file m_cap.c.

Valore iniziale:

 {
  "CAP", 0, 0, 2, 0, MFLG_SLOW, 0,
  { m_cap, m_cap, m_ignore, m_ignore, m_cap, m_ignore }
}

Definizione alla linea 49 del file m_cap.c.

struct capabilities capab_list[] [static]

Referenziato da cap_clear(), find_cap(), e send_caplist().

struct subcmd cmdlist[] [static]

Referenziato da m_cap().


Generato il Wed Apr 15 00:19:21 2009 per ircd-hybrid da  doxygen 1.5.6