lump_struct.h File Reference

Data structures for adding or removing data chunks from messages. More...

#include "./parser/hf.h"

Include dependency graph for lump_struct.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  lump
 Main lump structure. More...

Enumerations

enum  lump_conditions {
  COND_FALSE, COND_TRUE, COND_IF_DIFF_REALMS, COND_IF_DIFF_AF,
  COND_IF_DIFF_PROTO, COND_IF_DIFF_PORT, COND_IF_DIFF_IP
}
 Conditions for lumps. Where: REALM= ip_addr:port:proto af = address family (ipv4 or ipv6) proto = protocol (tcp, udp, tls). More...
enum  lump_flag {
  LUMPFLAG_NONE = 0, LUMPFLAG_DUPED = 1, LUMPFLAG_SHMEM = 2, LUMPFLAG_BRANCH = 4,
  LUMPFLAG_COND_TRUE = 8
}
 Flags for lumps, mainly used from the tm module. More...
enum  lump_op {
  LUMP_NOP = 0, LUMP_DEL, LUMP_ADD, LUMP_ADD_SUBST,
  LUMP_ADD_OPT
}
 Operations on lumps. More...
enum  lump_subst {
  SUBST_NOP = 0, SUBST_RCV_IP, SUBST_SND_IP, SUBST_RCV_PORT,
  SUBST_SND_PORT, SUBST_RCV_PROTO, SUBST_SND_PROTO, SUBST_RCV_ALL,
  SUBST_SND_ALL
}
 Substitutions for lumps. Where: SND = sending, e.g the src ip of the outgoing message RCV = received e.g the dst ip of the original incoming msg, or the ip of the socket on which the msg was received. For SUBST_{RCV,SND}_ALL, :port is added only if port!=5060 and transport=proto only if proto!=udp is specified. More...

Functions

void free_lump (struct lump *l)
 frees the content of a lump struct
void free_lump_list (struct lump *lump_list)
 frees an entire lump list, recursively


Detailed Description

Data structures for adding or removing data chunks from messages.

Definition in file lump_struct.h.


Enumeration Type Documentation

Conditions for lumps. Where: REALM= ip_addr:port:proto af = address family (ipv4 or ipv6) proto = protocol (tcp, udp, tls).

Enumerator:
COND_FALSE  always false
COND_TRUE  always true
COND_IF_DIFF_REALMS  true if RCV realm != SND realm
COND_IF_DIFF_AF  true if RCV af != SND af
COND_IF_DIFF_PROTO  true if RCV proto != SND proto
COND_IF_DIFF_PORT  true if RCV port != SND port
COND_IF_DIFF_IP  true if RCV ip != SND ip

Definition at line 62 of file lump_struct.h.

enum lump_flag

Flags for lumps, mainly used from the tm module.

Enumerator:
LUMPFLAG_NONE 
LUMPFLAG_DUPED 
LUMPFLAG_SHMEM 
LUMPFLAG_BRANCH 
LUMPFLAG_COND_TRUE 

Definition at line 74 of file lump_struct.h.

enum lump_op

Operations on lumps.

Enumerator:
LUMP_NOP 
LUMP_DEL 
LUMP_ADD 
LUMP_ADD_SUBST 
LUMP_ADD_OPT 

Definition at line 37 of file lump_struct.h.

enum lump_subst

Substitutions for lumps. Where: SND = sending, e.g the src ip of the outgoing message RCV = received e.g the dst ip of the original incoming msg, or the ip of the socket on which the msg was received. For SUBST_{RCV,SND}_ALL, :port is added only if port!=5060 and transport=proto only if proto!=udp is specified.

Enumerator:
SUBST_NOP  do nothing
SUBST_RCV_IP 
SUBST_SND_IP  add ip address
SUBST_RCV_PORT 
SUBST_SND_PORT  add port no
SUBST_RCV_PROTO 
SUBST_SND_PROTO  add protocol(udp,tcp,tls)
SUBST_RCV_ALL 
SUBST_SND_ALL  ip:port;transport=proto

Definition at line 48 of file lump_struct.h.


Function Documentation

void free_lump ( struct lump l  ) 

void free_lump_list ( struct lump lump_list  ) 

frees an entire lump list, recursively

Definition at line 406 of file data_lump.c.

References lump::after, lump::before, free_lump(), lump::next, and pkg_free.

Referenced by del_flaged_lumps_helper(), free_sip_msg(), free_sip_msg_lite(), and set_body_f().


Generated on Wed May 23 18:00:41 2012 for Kamailio - The Open Source SIP Server by  doxygen 1.5.6