jabberd2  2.2.17
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, 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,
char *  arg 
)