jabberd2  2.3.4
Data Structures | Macros | Typedefs | Functions
mod_amp.c File Reference

Advanced Message Processing (JEP-0079) module. More...

#include <string.h>
#include "sm.h"
#include "util/util.h"
#include <stringprep.h>

Go to the source code of this file.

Data Structures

struct  _mod_amp_config_st
 
struct  amp_rule_st
 

Macros

#define _GNU_SOURCE
 
#define AMP_TRIGGERED   1
 
#define AMP_INVALID_RULE   2
 
#define AMP_INVALID_CONDITION   3
 
#define AMP_INVALID_ACTION   4
 
#define AMP_INVALID_VALUE   5
 
#define AMP_NOT_ACCEPTABLE   6
 

Typedefs

typedef struct _mod_amp_config_stmod_amp_config_t
 
typedef struct amp_rule_stamp_rule_t
 

Functions

void amp_rule_free (amp_rule_t rule)
 
pkt_t amp_build_response_pkt (pkt_t pkt, amp_rule_t rule)
 
void amp_error_pkt (pkt_t pkt, amp_rule_t rule)
 
static mod_ret_t _amp_in_sess (mod_instance_t mi, sess_t sess, pkt_t pkt)
 
static mod_ret_t _amp_pkt_user (mod_instance_t mi, user_t user, pkt_t pkt)
 
static mod_ret_t _amp_pkt_sm (mod_instance_t mi, pkt_t pkt)
 
static void _amp_free (module_t mod)
 
DLLEXPORT int module_init (mod_instance_t mi, const char *arg)
 

Detailed Description

Advanced Message Processing (JEP-0079) module.

Author
Cedric Vivier
Date
2004/10/28 14:38:35

Definition in file mod_amp.c.

Macro Definition Documentation

#define _GNU_SOURCE

Definition at line 21 of file mod_amp.c.

#define AMP_TRIGGERED   1

Definition at line 45 of file mod_amp.c.

Referenced by _amp_pkt_user(), and amp_build_response_pkt().

#define AMP_INVALID_RULE   2

Definition at line 46 of file mod_amp.c.

#define AMP_INVALID_CONDITION   3

Definition at line 47 of file mod_amp.c.

Referenced by _amp_pkt_user().

#define AMP_INVALID_ACTION   4

Definition at line 48 of file mod_amp.c.

Referenced by _amp_pkt_user().

#define AMP_INVALID_VALUE   5

Definition at line 49 of file mod_amp.c.

Referenced by _amp_pkt_user().

#define AMP_NOT_ACCEPTABLE   6

Definition at line 50 of file mod_amp.c.

Typedef Documentation

typedef struct amp_rule_st * amp_rule_t

Function Documentation

void amp_rule_free ( amp_rule_t  rule)

Definition at line 61 of file mod_amp.c.

References amp_rule_st::action, amp_rule_st::condition, amp_rule_st::next, and amp_rule_st::value.

Referenced by _amp_pkt_user().

pkt_t amp_build_response_pkt ( pkt_t  pkt,
amp_rule_t  rule 
)
void amp_error_pkt ( pkt_t  pkt,
amp_rule_t  rule 
)

Definition at line 99 of file mod_amp.c.

static mod_ret_t _amp_in_sess ( mod_instance_t  mi,
sess_t  sess,
pkt_t  pkt 
)
static
static mod_ret_t _amp_pkt_user ( mod_instance_t  mi,
user_t  user,
pkt_t  pkt 
)
static
static mod_ret_t _amp_pkt_sm ( mod_instance_t  mi,
pkt_t  pkt 
)
static
static void _amp_free ( module_t  mod)
static

Definition at line 373 of file mod_amp.c.

References module_st::private.

Referenced by module_init().

DLLEXPORT int module_init ( mod_instance_t  mi,
const char *  arg 
)