data_lump_rpl.h
e1f5e142
 /*
  * $Id$
  *
7dd0b342
  *
53c7e0f1
  * Copyright (C) 2001-2003 FhG Fokus
7dd0b342
  *
  * This file is part of ser, a free SIP server.
  *
  * ser is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  *
  * ser is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License 
  * along with this program; if not, write to the Free Software 
9e1ff448
  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
6ec61efb
  *
  * History:
  * 2002-02-14 : created by bogdan
  * 2003-09-11 : lump_rpl type added - LUMP_RPL_BODY & LUMP_RPL_HDR (bogdan)
  * 2003-11-11 : build_lump_rpl merged into add_lump_rpl; type removed;
  *              flags LUMP_RPL_BODY, LUMP_RPL_NODUP and LUMP_RPL_NOFREE
  *              added (bogdan)
9dbf5e57
  * 2006-10-16   add_lump_rpl2 added: same as the old add_lump_rpl, but
  *               returns a lump_rpl**, making a specific lump removal much
  *               more easy (andrei)
e1f5e142
  */
 
3ca1a53f
 /*!
  * \file
  * \brief SIP-router core :: Data lumps
  * \ingroup core
  * Module: \ref core
  */
 
 
7dd0b342
 
e1f5e142
 #ifndef data_lump_rpl_h
 #define data_lump_rpl_h
 
3881f12c
 #include "parser/msg_parser.h"
e1f5e142
 
 
6ec61efb
 #define LUMP_RPL_HDR     (1<<1)
 #define LUMP_RPL_BODY    (1<<2)
 #define LUMP_RPL_NODUP   (1<<3)
 #define LUMP_RPL_NOFREE  (1<<4)
36a1abc0
 #define LUMP_RPL_SHMEM   (1<<5)
7e8d3f17
 
e1f5e142
 struct lump_rpl
 {
 	str text;
6ec61efb
 	int flags;
e1f5e142
 	struct lump_rpl* next;
 };
 
9dbf5e57
 struct lump_rpl** add_lump_rpl2(struct sip_msg *, char *, int , int );
 
 
3ca1a53f
 /*! \brief compatibility wrapper for the old add_lump_rpl version */
9dbf5e57
 inline static struct lump_rpl* add_lump_rpl(struct sip_msg* msg,
 												char* s, int len , int flags )
 {
 	struct lump_rpl** l;
 	
 	l=add_lump_rpl2(msg, s, len, flags);
 	return l?(*l):0;
 }
 
e1f5e142
 
e22bbdb8
 void free_lump_rpl(struct lump_rpl* );
e1f5e142
 
7e8d3f17
 void unlink_lump_rpl(struct sip_msg *, struct lump_rpl* );
 
36a1abc0
 void del_nonshm_lump_rpl(  struct lump_rpl ** );
 
e1f5e142
 #endif