Quellcode durchsuchen

Doxygen for the parser directory

There's still a lot of files untouched. Feel free to jump in and help!
oej vor 16 Jahren
Ursprung
Commit
8c4ed5f0d2

+ 9 - 8
parser/case_acce.h

@@ -5,19 +5,14 @@
  *
  *
  * Copyright (C) 2001-2003 FhG Fokus
  * Copyright (C) 2001-2003 FhG Fokus
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -27,6 +22,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Accept, Accept-Language, Accept-Contact, Accept-Disposition Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 #ifndef CASE_ACCE_H
 #ifndef CASE_ACCE_H
 #define CASE_ACCE_H
 #define CASE_ACCE_H
 
 

+ 9 - 8
parser/case_allo.h

@@ -5,19 +5,14 @@
  *
  *
  * Copyright (C) 2001-2003 FhG Fokus
  * Copyright (C) 2001-2003 FhG Fokus
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -27,6 +22,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Allow, Allow-Events Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 #ifndef CASE_ALLO_H
 #ifndef CASE_ALLO_H
 #define CASE_ALLO_H
 #define CASE_ALLO_H
 
 

+ 8 - 8
parser/case_auth.h

@@ -5,19 +5,14 @@
  *
  *
  * Copyright (C) 2001-2003 FhG Fokus
  * Copyright (C) 2001-2003 FhG Fokus
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -26,6 +21,11 @@
  * along with this program; if not, write to the Free Software 
  * along with this program; if not, write to the Free Software 
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
+/*! \file 
+ * \brief Parser :: Authorization Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
 
 
 #ifndef CASE_AUTH_H
 #ifndef CASE_AUTH_H
 #define CASE_AUTH_H
 #define CASE_AUTH_H

+ 9 - 8
parser/case_call.h

@@ -5,19 +5,14 @@
  *
  *
  * Copyright (C) 2001-2003 FhG Fokus
  * Copyright (C) 2001-2003 FhG Fokus
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -32,6 +27,12 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Call-ID Header Name Parsing Macros
+ *
+ * \ingroup parser
+ *
+ */
 
 
 #ifndef CASE_CALL_H
 #ifndef CASE_CALL_H
 #define CASE_CALL_H
 #define CASE_CALL_H

+ 11 - 8
parser/case_cont.h

@@ -6,19 +6,14 @@
  *
  *
  * Copyright (C) 2001-2003 FhG Fokus
  * Copyright (C) 2001-2003 FhG Fokus
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -33,6 +28,14 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Contact, Content-Type, Content-Length, Content-Disposition, Content-Encoding
+ * Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_CONT_H
 #ifndef CASE_CONT_H
 #define CASE_CONT_H
 #define CASE_CONT_H

+ 11 - 8
parser/case_cseq.h

@@ -5,19 +5,14 @@
  *
  *
  * Copyright (C) 2001-2003 FhG Fokus
  * Copyright (C) 2001-2003 FhG Fokus
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -27,6 +22,14 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: CSeq Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
+
 
 
 #ifndef CASE_CSEQ_H
 #ifndef CASE_CSEQ_H
 #define CASE_CSEQ_H
 #define CASE_CSEQ_H

+ 10 - 8
parser/case_date.h

@@ -5,19 +5,14 @@
  *
  *
  * Copyright (c) 2007 iptelorg GmbH
  * Copyright (c) 2007 iptelorg GmbH
  *
  *
- * This file is part of ser, a free SIP server.
+ * This file is part of SIP-router, a free SIP server.
  *
  *
- * ser is free software; you can redistribute it and/or modify
+ * SIP-router is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
  * it under the terms of the GNU General Public License as published by
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
- * ser is distributed in the hope that it will be useful,
+ * SIP-router is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * GNU General Public License for more details.
  * GNU General Public License for more details.
@@ -27,6 +22,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Date Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_DATE_H
 #ifndef CASE_DATE_H
 #define CASE_DATE_H
 #define CASE_DATE_H

+ 7 - 0
parser/case_dive.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Diversion Header Field Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_DIVE_H
 #ifndef CASE_DIVE_H
 #define CASE_DIVE_H
 #define CASE_DIVE_H

+ 7 - 0
parser/case_even.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser ::  Event Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_EVEN_H
 #ifndef CASE_EVEN_H
 #define CASE_EVEN_H
 #define CASE_EVEN_H

+ 7 - 0
parser/case_expi.h

@@ -32,6 +32,13 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser ::  Expires Header Field Name Parsing Macros 
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_EXPI_H
 #ifndef CASE_EXPI_H
 #define CASE_EXPI_H
 #define CASE_EXPI_H

+ 7 - 0
parser/case_from.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: From Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_FROM_H
 #ifndef CASE_FROM_H
 #define CASE_FROM_H
 #define CASE_FROM_H

+ 6 - 0
parser/case_iden.h

@@ -30,6 +30,12 @@
  * --------
  * --------
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Identity, Identity-info Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_IDEN_H
 #ifndef CASE_IDEN_H
 #define CASE_IDEN_H
 #define CASE_IDEN_H

+ 6 - 0
parser/case_max.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Max-Forwards Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_MAX_H
 #ifndef CASE_MAX_H
 #define CASE_MAX_H
 #define CASE_MAX_H

+ 6 - 0
parser/case_min.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Min-SE Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_MIN_H
 #ifndef CASE_MIN_H
 #define CASE_MIN_H
 #define CASE_MIN_H

+ 7 - 0
parser/case_orga.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Organization Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_ORGA_H
 #ifndef CASE_ORGA_H
 #define CASE_ORGA_H
 #define CASE_ORGA_H

+ 7 - 0
parser/case_path.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Path Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_PATH_H
 #ifndef CASE_PATH_H
 #define CASE_PATH_H
 #define CASE_PATH_H

+ 7 - 0
parser/case_prio.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Priority Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_PRIO_H
 #ifndef CASE_PRIO_H
 #define CASE_PRIO_H
 #define CASE_PRIO_H

+ 7 - 0
parser/case_priv.h

@@ -22,6 +22,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Call-ID Header Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 #ifndef _CASE_PRIV_H
 #ifndef _CASE_PRIV_H
 #define _CASE_PRIV_H
 #define _CASE_PRIV_H
 
 

+ 6 - 0
parser/case_prox.h

@@ -32,6 +32,12 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Proxy-Require, Proxy-Authorization Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_PROX_H
 #ifndef CASE_PROX_H
 #define CASE_PROX_H
 #define CASE_PROX_H

+ 6 - 0
parser/case_reco.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Record-Route Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_RECO_H
 #ifndef CASE_RECO_H
 #define CASE_RECO_H
 #define CASE_RECO_H

+ 7 - 2
parser/case_refe.h

@@ -1,6 +1,4 @@
 /*
 /*
- * Refer-To Header Field Name Parsing Macros
- *
  * Refer-To, Referred-By Header Field Name Parsing Macros
  * Refer-To, Referred-By Header Field Name Parsing Macros
  *
  *
  * Copyright (C) 2005 Juha Heinanen
  * Copyright (C) 2005 Juha Heinanen
@@ -27,6 +25,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Refer-To, Referred-By Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 #ifndef CASE_REFE_H
 #ifndef CASE_REFE_H
 #define CASE_REFE_H
 #define CASE_REFE_H
 
 

+ 7 - 0
parser/case_reje.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Reject-Contact Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 #ifndef CASE_REJE_H
 #ifndef CASE_REJE_H
 #define CASE_REJE_H
 #define CASE_REJE_H
 
 

+ 7 - 0
parser/case_remo.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Remote-Party-ID Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 #ifndef CASE_REMO_H
 #ifndef CASE_REMO_H
 #define CASE_REMO_H
 #define CASE_REMO_H
 
 

+ 7 - 0
parser/case_requ.h

@@ -32,6 +32,13 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser ::  Require, Request-Disposition Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_REQU_H
 #ifndef CASE_REQU_H
 #define CASE_REQU_H
 #define CASE_REQU_H

+ 6 - 0
parser/case_retr.h

@@ -31,6 +31,12 @@
  *  2007-07-27  created by andrei
  *  2007-07-27  created by andrei
  */
  */
 
 
+/*! \file 
+ * \brief Parser ::  Expires Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_RETR_H
 #ifndef CASE_RETR_H
 #define CASE_RETR_H
 #define CASE_RETR_H

+ 7 - 0
parser/case_rout.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser ::  Route Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_ROUT_H
 #ifndef CASE_ROUT_H
 #define CASE_ROUT_H
 #define CASE_ROUT_H

+ 6 - 0
parser/case_serv.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser ::  Subject Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_SERV_H
 #ifndef CASE_SERV_H
 #define CASE_SERV_H
 #define CASE_SERV_H

+ 8 - 0
parser/case_sess.h

@@ -27,6 +27,14 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Session-Expires Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
+
 #ifndef CASE_SESS_H
 #ifndef CASE_SESS_H
 #define CASE_SESS_H
 #define CASE_SESS_H
 
 

+ 7 - 0
parser/case_sip.h

@@ -1,3 +1,10 @@
+/*! \file 
+ * \brief Parser :: Handle case for headers
+ *
+ * \ingroup parser
+ */
+
+
 #ifndef CASE_SIP_H
 #ifndef CASE_SIP_H
 #define CASE_SIP_H
 #define CASE_SIP_H
 
 

+ 7 - 0
parser/case_subj.h

@@ -27,6 +27,13 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Subject Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_SUBJ_H
 #ifndef CASE_SUBJ_H
 #define CASE_SUBJ_H
 #define CASE_SUBJ_H

+ 6 - 0
parser/case_subs.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Subject Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_SUBS_H
 #ifndef CASE_SUBS_H
 #define CASE_SUBS_H
 #define CASE_SUBS_H

+ 5 - 0
parser/case_supp.h

@@ -27,6 +27,11 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Supported Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
 
 
 #ifndef CASE_SUPP_H
 #ifndef CASE_SUPP_H
 #define CASE_SUPP_H
 #define CASE_SUPP_H

+ 6 - 0
parser/case_to.h

@@ -32,6 +32,12 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: To Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_TO_H
 #ifndef CASE_TO_H
 #define CASE_TO_H
 #define CASE_TO_H

+ 6 - 0
parser/case_unsu.h

@@ -32,6 +32,12 @@
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  * 2003-01-27 next baby-step to removing ZT - PRESERVE_ZT (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Unspoorted Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_UNSU_H
 #ifndef CASE_UNSU_H
 #define CASE_UNSU_H
 #define CASE_UNSU_H

+ 6 - 0
parser/case_user.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: User-Agent Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 #ifndef CASE_USER_H
 #ifndef CASE_USER_H
 #define CASE_USER_H
 #define CASE_USER_H
 
 

+ 7 - 0
parser/case_via.h

@@ -31,6 +31,13 @@
  * 2003-02-28 scratchpad compatibility abandoned (jiri)
  * 2003-02-28 scratchpad compatibility abandoned (jiri)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Via Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef CASE_VIA_H
 #ifndef CASE_VIA_H
 #define CASE_VIA_H
 #define CASE_VIA_H

+ 6 - 0
parser/case_www.h

@@ -27,6 +27,12 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: WWW-Authenticate Header Field Name Parsing Macros
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef CASE_WWW_H
 #ifndef CASE_WWW_H
 #define CASE_WWW_H
 #define CASE_WWW_H

+ 8 - 3
parser/hf.c

@@ -33,6 +33,12 @@
  * 2007-07-27 added HDR_RETRY_AFTER_T (andrei)
  * 2007-07-27 added HDR_RETRY_AFTER_T (andrei)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: 
+ *
+ * \ingroup parser
+ */
+
 
 
 #include "hf.h"
 #include "hf.h"
 #include "parse_via.h"
 #include "parse_via.h"
@@ -55,8 +61,7 @@
 #include "parse_allow.h"
 #include "parse_allow.h"
 #include "../ut.h"
 #include "../ut.h"
 
 
-
-/*
+/*! \brief
  * Frees a hdr_field structure,
  * Frees a hdr_field structure,
  * WARNING: it frees only parsed (and not name.s, body.s)
  * WARNING: it frees only parsed (and not name.s, body.s)
  */
  */
@@ -225,7 +230,7 @@ void clean_hdr_field(struct hdr_field* hf)
 }
 }
 
 
 
 
-/*
+/*! \brief
  * Frees a hdr_field list,
  * Frees a hdr_field list,
  * WARNING: frees only ->parsed and ->next*/
  * WARNING: frees only ->parsed and ->next*/
 void free_hdr_field_lst(struct hdr_field* hf)
 void free_hdr_field_lst(struct hdr_field* hf)

+ 83 - 71
parser/hf.h

@@ -35,6 +35,13 @@
  * 2007-07-27 HDR_RETRY_AFTER_[TF] added (andrei)
  * 2007-07-27 HDR_RETRY_AFTER_[TF] added (andrei)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: ???
+ *
+ * \ingroup parser
+ */
+
+
 
 
 #ifndef HF_H
 #ifndef HF_H
 #define HF_H
 #define HF_H
@@ -44,7 +51,9 @@
 
 
 
 
 
 
-/* header type enum
+/*! \brief header type enum
+ * 
+ * \note
  * if you add a new type:
  * if you add a new type:
  *  - make sure it's not greater than 63
  *  - make sure it's not greater than 63
  *  - make sure you add the corresponding flag to the hdr_flags_t defs below
  *  - make sure you add the corresponding flag to the hdr_flags_t defs below
@@ -55,78 +64,79 @@
  */
  */
 
 
 enum _hdr_types_t {
 enum _hdr_types_t {
-	HDR_ERROR_T					= -1   /* Error while parsing */,
-	HDR_OTHER_T					=  0   /* Some other header field */,
-	HDR_VIA_T					=  1   /* Via header field */,
-	HDR_VIA1_T					=  1   /* First Via header field */,
-	HDR_VIA2_T					=  2   /* only used as flag */,
-	HDR_TO_T					       /* To header field */,
-	HDR_FROM_T					       /* From header field */,
-	HDR_CSEQ_T					       /* CSeq header field */,
-	HDR_CALLID_T				       /* Call-Id header field */,
-	HDR_CONTACT_T				       /* Contact header field */,
-	HDR_MAXFORWARDS_T			       /* MaxForwards header field */,
-	HDR_ROUTE_T					       /* Route header field */,
-	HDR_RECORDROUTE_T			       /* Record-Route header field */,
-	HDR_CONTENTTYPE_T			       /* Content-Type header field */,
-	HDR_CONTENTLENGTH_T			       /* Content-Length header field */,
-	HDR_AUTHORIZATION_T			       /* Authorization header field */,
-	HDR_EXPIRES_T				       /* Expires header field */,
-	HDR_PROXYAUTH_T				       /* Proxy-Authorization hdr field */,
-	HDR_SUPPORTED_T				       /* Supported  header field */,
-	HDR_REQUIRE_T				       /* Require header */,
-	HDR_PROXYREQUIRE_T			       /* Proxy-Require header field */,
-	HDR_UNSUPPORTED_T			       /* Unsupported header field */,
-	HDR_ALLOW_T					       /* Allow header field */,
-	HDR_EVENT_T					       /* Event header field */,
-	HDR_ACCEPT_T				       /* Accept header field */,
-	HDR_ACCEPTLANGUAGE_T		       /* Accept-Language header field */,
-	HDR_ORGANIZATION_T			       /* Organization header field */,
-	HDR_PRIORITY_T				       /* Priority header field */,
-	HDR_SUBJECT_T				       /* Subject header field */,
-	HDR_USERAGENT_T				       /* User-Agent header field */,
-	HDR_SERVER_T				       /* Server header field */,
-	HDR_ACCEPTDISPOSITION_T		       /* Accept-Disposition hdr field */,
-	HDR_CONTENTDISPOSITION_T	       /* Content-Disposition hdr field */,
-	HDR_DIVERSION_T				       /* Diversion header field */,
-	HDR_RPID_T					       /* Remote-Party-ID header field */,
-	HDR_REFER_TO_T				       /* Refer-To header fiels */,
-	HDR_SIPIFMATCH_T			       /* SIP-If-Match header field */,
-	HDR_SESSIONEXPIRES_T		       /* Session-Expires header */,
-	HDR_MIN_SE_T				       /* Min-SE */,
-	HDR_SUBSCRIPTION_STATE_T	       /* Subscription-State */,
-	HDR_ACCEPTCONTACT_T			       /* Accept-Contact header */,
-	HDR_ALLOWEVENTS_T			       /* Allow-Events header */,
-	HDR_CONTENTENCODING_T		       /* Content-Encoding header */,
-	HDR_REFERREDBY_T			       /* Referred-By header */,
-	HDR_REJECTCONTACT_T			       /* Reject-Contact header */,
-	HDR_REQUESTDISPOSITION_T	       /* Request-Disposition header */,
-	HDR_WWW_AUTHENTICATE_T		       /* WWW-Authenticate header field */,
-	HDR_PROXY_AUTHENTICATE_T	       /* Proxy-Authenticate header field */,
-	HDR_DATE_T			       /* Date header field */,
-	HDR_IDENTITY_T			       /* Identity header field */,
-	HDR_IDENTITY_INFO_T		       /* Identity-info header field */,
-	HDR_RETRY_AFTER_T		           /* Retry-After header field */,
-	HDR_PPI_T                          /**< P-Preferred-Identity header field */,
-	HDR_PAI_T                          /**< P-Asserted-Identity header field */,
-	HDR_PATH_T                         /**< Path header field */,
-	HDR_PRIVACY_T				       /**< Privacy header field */,
-	HDR_EOH_T					       /* End of message header */
+	HDR_ERROR_T					= -1   /*!< Error while parsing */,
+	HDR_OTHER_T					=  0   /*!< Some other header field */,
+	HDR_VIA_T					=  1   /*!< Via header field */,
+	HDR_VIA1_T					=  1   /*!< First Via header field */,
+	HDR_VIA2_T					=  2   /*!< only used as flag */,
+	HDR_TO_T					       /*!< To header field */,
+	HDR_FROM_T					       /*!< From header field */,
+	HDR_CSEQ_T					       /*!< CSeq header field */,
+	HDR_CALLID_T				       /*!< Call-Id header field */,
+	HDR_CONTACT_T				       /*!< Contact header field */,
+	HDR_MAXFORWARDS_T			       /*!< MaxForwards header field */,
+	HDR_ROUTE_T					       /*!< Route header field */,
+	HDR_RECORDROUTE_T			       /*!< Record-Route header field */,
+	HDR_CONTENTTYPE_T			       /*!< Content-Type header field */,
+	HDR_CONTENTLENGTH_T			       /*!< Content-Length header field */,
+	HDR_AUTHORIZATION_T			       /*!< Authorization header field */,
+	HDR_EXPIRES_T				       /*!< Expires header field */,
+	HDR_PROXYAUTH_T				       /*!< Proxy-Authorization hdr field */,
+	HDR_SUPPORTED_T				       /*!< Supported  header field */,
+	HDR_REQUIRE_T				       /*!< Require header */,
+	HDR_PROXYREQUIRE_T			       /*!< Proxy-Require header field */,
+	HDR_UNSUPPORTED_T			       /*!< Unsupported header field */,
+	HDR_ALLOW_T					       /*!< Allow header field */,
+	HDR_EVENT_T					       /*!< Event header field */,
+	HDR_ACCEPT_T				       /*!< Accept header field */,
+	HDR_ACCEPTLANGUAGE_T		       /*!< Accept-Language header field */,
+	HDR_ORGANIZATION_T			       /*!< Organization header field */,
+	HDR_PRIORITY_T				       /*!< Priority header field */,
+	HDR_SUBJECT_T				       /*!< Subject header field */,
+	HDR_USERAGENT_T				       /*!< User-Agent header field */,
+	HDR_SERVER_T				       /*!< Server header field */,
+	HDR_ACCEPTDISPOSITION_T		       /*!< Accept-Disposition hdr field */,
+	HDR_CONTENTDISPOSITION_T	       /*!< Content-Disposition hdr field */,
+	HDR_DIVERSION_T				       /*!< Diversion header field */,
+	HDR_RPID_T					       /*!< Remote-Party-ID header field */,
+	HDR_REFER_TO_T				       /*!< Refer-To header fiels */,
+	HDR_SIPIFMATCH_T			       /*!< SIP-If-Match header field */,
+	HDR_SESSIONEXPIRES_T		       /*!< Session-Expires header */,
+	HDR_MIN_SE_T				       /*!< Min-SE */,
+	HDR_SUBSCRIPTION_STATE_T	       /*!< Subscription-State */,
+	HDR_ACCEPTCONTACT_T			       /*!< Accept-Contact header */,
+	HDR_ALLOWEVENTS_T			       /*!< Allow-Events header */,
+	HDR_CONTENTENCODING_T		       /*!< Content-Encoding header */,
+	HDR_REFERREDBY_T			       /*!< Referred-By header */,
+	HDR_REJECTCONTACT_T			       /*!< Reject-Contact header */,
+	HDR_REQUESTDISPOSITION_T	       /*!< Request-Disposition header */,
+	HDR_WWW_AUTHENTICATE_T		       /*!< WWW-Authenticate header field */,
+	HDR_PROXY_AUTHENTICATE_T	       /*!< Proxy-Authenticate header field */,
+	HDR_DATE_T			       /*!< Date header field */,
+	HDR_IDENTITY_T			       /*!< Identity header field */,
+	HDR_IDENTITY_INFO_T		       /*!< Identity-info header field */,
+	HDR_RETRY_AFTER_T		           /*!< Retry-After header field */,
+	HDR_PPI_T                          /*!< P-Preferred-Identity header field */,
+	HDR_PAI_T                          /*!< P-Asserted-Identity header field */,
+	HDR_PATH_T                         /*!< Path header field */,
+	HDR_PRIVACY_T				       /*!< Privacy header field */,
+	HDR_EOH_T					       /*!< End of message header */
 };
 };
 
 
 
 
 typedef unsigned long long hdr_flags_t;
 typedef unsigned long long hdr_flags_t;
 
 
-/* type to flag conversion
+/*! \brief type to flag conversion
  * WARNING: HDR_ERROR_T has no corresponding FLAG ! */
  * WARNING: HDR_ERROR_T has no corresponding FLAG ! */
 #define HDR_T2F(type)	\
 #define HDR_T2F(type)	\
 		(((type)!=HDR_EOH_T)?((hdr_flags_t)1<<(type)):(~(hdr_flags_t)0))
 		(((type)!=HDR_EOH_T)?((hdr_flags_t)1<<(type)):(~(hdr_flags_t)0))
 
 
-/* helper macro for easy defining and keeping in sync. the flags enum */
+/*! \brief helper macro for easy defining and keeping in sync. the flags enum */
 #define HDR_F_DEF(name)		HDR_T2F(HDR_##name##_T)
 #define HDR_F_DEF(name)		HDR_T2F(HDR_##name##_T)
 
 
-/* flags definitions
+/*! \name flags definitions
  * (enum won't work with all the compiler (e.g. icc) due to the 64bit size) */
  * (enum won't work with all the compiler (e.g. icc) due to the 64bit size) */
+/*!{ */
 #define HDR_EOH_F					HDR_F_DEF(EOH)
 #define HDR_EOH_F					HDR_F_DEF(EOH)
 #define HDR_VIA_F					HDR_F_DEF(VIA)
 #define HDR_VIA_F					HDR_F_DEF(VIA)
 #define HDR_VIA1_F					HDR_F_DEF(VIA1)
 #define HDR_VIA1_F					HDR_F_DEF(VIA1)
@@ -185,23 +195,25 @@ typedef unsigned long long hdr_flags_t;
 
 
 #define HDR_OTHER_F					HDR_F_DEF(OTHER)
 #define HDR_OTHER_F					HDR_F_DEF(OTHER)
 
 
+/*!} */ /* Doxygen end marker*/
+
 typedef enum _hdr_types_t hdr_types_t;
 typedef enum _hdr_types_t hdr_types_t;
 
 
-/*
+/*! \brief
  * Format: name':' body
  * Format: name':' body
  */
  */
 typedef struct hdr_field {
 typedef struct hdr_field {
-	hdr_types_t type;       /* Header field type */
-	str name;               /* Header field name */
-	str body;               /* Header field body (may not include CRLF) */
-	int len;		/* length from hdr start until EoHF (incl.CRLF) */
-	void* parsed;           /* Parsed data structures */
-	struct hdr_field* next; /* Next header field in the list */
+	hdr_types_t type;       /*!< Header field type */
+	str name;               /*!< Header field name */
+	str body;               /*!< Header field body (may not include CRLF) */
+	int len;		/*!< length from hdr start until EoHF (incl.CRLF) */
+	void* parsed;           /*!< Parsed data structures */
+	struct hdr_field* next; /*!< Next header field in the list */
 } hdr_field_t;
 } hdr_field_t;
 
 
 
 
 
 
-/* returns true if the header links allocated memory on parse field */
+/*! \brief returns true if the header links allocated memory on parse field */
 static inline int hdr_allocs_parse(struct hdr_field* hdr)
 static inline int hdr_allocs_parse(struct hdr_field* hdr)
 {
 {
 	switch(hdr->type){
 	switch(hdr->type){
@@ -227,13 +239,13 @@ static inline int hdr_allocs_parse(struct hdr_field* hdr)
 	}
 	}
 }
 }
 
 
-/* frees a hdr_field structure,
+/*! \brief frees a hdr_field structure,
  * WARNING: it frees only parsed (and not name.s, body.s)
  * WARNING: it frees only parsed (and not name.s, body.s)
  */
  */
 void clean_hdr_field(struct hdr_field* hf);
 void clean_hdr_field(struct hdr_field* hf);
 
 
 
 
-/* frees a hdr_field list,
+/*! \brief frees a hdr_field list,
  * WARNING: frees only ->parsed and ->next
  * WARNING: frees only ->parsed and ->next
  */
  */
 void free_hdr_field_lst(struct hdr_field* hf);
 void free_hdr_field_lst(struct hdr_field* hf);

+ 13 - 6
parser/keys.h

@@ -12,11 +12,6 @@
  * the Free Software Foundation; either version 2 of the License, or
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version
  * (at your option) any later version
  *
  *
- * For a license to use the ser software under conditions
- * other than those described here, or to purchase support for this
- * software, please contact iptel.org by e-mail at the following addresses:
- *    [email protected]
- *
  * ser is distributed in the hope that it will be useful,
  * ser is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@@ -34,18 +29,28 @@
  * 2007-01-26 Macros for Identity, Identity-info, Date added (gergo)
  * 2007-01-26 Macros for Identity, Identity-info, Date added (gergo)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: Fast 32-bit Header Field Name Parser -- keys
+ *
+ * \ingroup parser
+ */
+
 #ifndef KEYS_H
 #ifndef KEYS_H
 #define KEYS_H
 #define KEYS_H
 
 
-/*
+/*! \name Parser definitions
+\verbatim
  * a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  :  ' ' -
  * a  b  c  d  e  f  g  h  i  j  k  l  m  n  o  p  q  r  s  t  u  v  w  x  y  z  :  ' ' -
  * 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 3a 20  2d
  * 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 3a 20  2d
+\endverbatim
  *
  *
  * Test manually/visually if dword is intended string using:
  * Test manually/visually if dword is intended string using:
  * awk '/^#define/ {printf("%s \"%c%c%c%c\" ... %s \n",  $3,strtonum("0x" substr($3,9,2)),strtonum("0x" substr($3,7,2)),strtonum("0x" substr($3,5,2)),strtonum("0x" substr($3,3,2)),$5)}' keys.h
  * awk '/^#define/ {printf("%s \"%c%c%c%c\" ... %s \n",  $3,strtonum("0x" substr($3,9,2)),strtonum("0x" substr($3,7,2)),strtonum("0x" substr($3,5,2)),strtonum("0x" substr($3,3,2)),$5)}' keys.h
  *
  *
  */
  */
 
 
+/*!{ */
+
 #define _acce_ 0x65636361   /* "acce" */
 #define _acce_ 0x65636361   /* "acce" */
 #define _allo_ 0x6f6c6c61   /* "allo" */
 #define _allo_ 0x6f6c6c61   /* "allo" */
 #define _auth_ 0x68747561   /* "auth" */
 #define _auth_ 0x68747561   /* "auth" */
@@ -185,4 +190,6 @@
 #define _acy2_ 0x20796361   /* "acy " */
 #define _acy2_ 0x20796361   /* "acy " */
 #define _acy1_ 0x3a796361   /* "acy:" */
 #define _acy1_ 0x3a796361   /* "acy:" */
 
 
+/*!} */
+
 #endif /* KEYS_H */
 #endif /* KEYS_H */

+ 12 - 0
parser/msg_parser.c

@@ -41,6 +41,18 @@
  *		header fields (gergo)
  *		header fields (gergo)
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: SIP Message header proxy parser
+ *
+ * \ingroup parser
+ */
+
+/*! \defgroup parser
+ * 
+ * The SIP message parser
+ *
+ */
+
 
 
 #include <string.h>
 #include <string.h>
 #include <stdlib.h>
 #include <stdlib.h>

+ 93 - 88
parser/msg_parser.h

@@ -45,6 +45,12 @@
  *  2007-03-14  added SIP_MSG_START(msg) macro
  *  2007-03-14  added SIP_MSG_START(msg) macro
  */
  */
 
 
+/*! \file 
+ * \brief Parser :: ???
+ *
+ * \ingroup parser
+ */
+
 
 
 #ifndef msg_parser_h
 #ifndef msg_parser_h
 #define msg_parser_h
 #define msg_parser_h
@@ -66,50 +72,52 @@
 #include "../error.h"
 #include "../error.h"
 
 
 
 
-/* convenience short-cut macros */
+/*! \name convenience short-cut macros */
+/*! { */
 #define REQ_LINE(_msg) ((_msg)->first_line.u.request)
 #define REQ_LINE(_msg) ((_msg)->first_line.u.request)
 #define REQ_METHOD first_line.u.request.method_value
 #define REQ_METHOD first_line.u.request.method_value
 #define REPLY_STATUS first_line.u.reply.statuscode
 #define REPLY_STATUS first_line.u.reply.statuscode
 #define REPLY_CLASS(_reply) ((_reply)->REPLY_STATUS/100)
 #define REPLY_CLASS(_reply) ((_reply)->REPLY_STATUS/100)
+/*! } */
 
 
-/* start of "actual" sip msg (start of first line) */
+/*! \brief start of "actual" sip msg (start of first line) */
 #define SIP_MSG_START(m)	((m)->first_line.u.request.method.s)
 #define SIP_MSG_START(m)	((m)->first_line.u.request.method.s)
 
 
-/* number methods as power of two to allow bitmap matching */
+/*! \brief number methods as power of two to allow bitmap matching */
 enum request_method {
 enum request_method {
-	METHOD_UNDEF=0,           /* 0 - --- */
-	METHOD_INVITE=1,          /* 1 - 2^0 */
-	METHOD_CANCEL=2,          /* 2 - 2^1 */
-	METHOD_ACK=4,             /* 3 - 2^2 */
-	METHOD_BYE=8,             /* 4 - 2^3 */
-	METHOD_INFO=16,           /* 5 - 2^4 */
-	METHOD_REGISTER=32,       /* 6 - 2^5 */
-	METHOD_SUBSCRIBE=64,      /* 7 - 2^6 */
-	METHOD_NOTIFY=128,        /* 8 - 2^7 */
-	METHOD_MESSAGE=256,       /* 9 - 2^8 */
-	METHOD_OPTIONS=512,       /* 10 - 2^9 */
-	METHOD_PRACK=1024,        /* 11 - 2^10 */
-	METHOD_UPDATE=2048,       /* 12 - 2^11 */
-	METHOD_REFER=4096,        /* 13 - 2^12 */
-	METHOD_PUBLISH=8192,      /* 14 - 2^13 */
-	METHOD_OTHER=16384        /* 15 - 2^14 */
+	METHOD_UNDEF=0,           /*!< 0 - --- */
+	METHOD_INVITE=1,          /*!< 1 - 2^0 */
+	METHOD_CANCEL=2,          /*!< 2 - 2^1 */
+	METHOD_ACK=4,             /*!< 3 - 2^2 */
+	METHOD_BYE=8,             /*!< 4 - 2^3 */
+	METHOD_INFO=16,           /*!< 5 - 2^4 */
+	METHOD_REGISTER=32,       /*!< 6 - 2^5 */
+	METHOD_SUBSCRIBE=64,      /*!< 7 - 2^6 */
+	METHOD_NOTIFY=128,        /*!< 8 - 2^7 */
+	METHOD_MESSAGE=256,       /*!< 9 - 2^8 */
+	METHOD_OPTIONS=512,       /*!< 10 - 2^9 */
+	METHOD_PRACK=1024,        /*!< 11 - 2^10 */
+	METHOD_UPDATE=2048,       /*!< 12 - 2^11 */
+	METHOD_REFER=4096,        /*!< 13 - 2^12 */
+	METHOD_PUBLISH=8192,      /*!< 14 - 2^13 */
+	METHOD_OTHER=16384        /*!< 15 - 2^14 */
 };
 };
 
 
-#define FL_FORCE_RPORT  (1 << 0)  /* force rport */
-#define FL_FORCE_ACTIVE (1 << 1)  /* force active SDP */
-#define FL_SDP_IP_AFS   (1 << 2)  /* SDP IP rewritten */
-#define FL_SDP_PORT_AFS (1 << 3)  /* SDP port rewritten */
-#define FL_SHM_CLONE    (1 << 4)  /* msg cloned in SHM as a single chunk */
-#define FL_TIMEOUT      (1 << 5)  /* message belongs to an "expired" branch
+#define FL_FORCE_RPORT  (1 << 0)  /*!< force rport */
+#define FL_FORCE_ACTIVE (1 << 1)  /*!< force active SDP */
+#define FL_SDP_IP_AFS   (1 << 2)  /*!< SDP IP rewritten */
+#define FL_SDP_PORT_AFS (1 << 3)  /*!< SDP port rewritten */
+#define FL_SHM_CLONE    (1 << 4)  /*!< msg cloned in SHM as a single chunk */
+#define FL_TIMEOUT      (1 << 5)  /*!< message belongs to an "expired" branch
 									 (for failure route use) */
 									 (for failure route use) */
-#define FL_REPLIED      (1 << 6)  /* message branch received at least one reply
+#define FL_REPLIED      (1 << 6)  /*!< message branch received at least one reply
 									 (for failure route use) */
 									 (for failure route use) */
-#define FL_HASH_INDEX   (1 << 7)  /* msg->hash_index contains a valid value (tm use)*/
+#define FL_HASH_INDEX   (1 << 7)  /*!< msg->hash_index contains a valid value (tm use)*/
 
 
 #define FL_MTU_TCP_FB   (1 << 8)
 #define FL_MTU_TCP_FB   (1 << 8)
 #define FL_MTU_TLS_FB   (1 << 9)
 #define FL_MTU_TLS_FB   (1 << 9)
 #define FL_MTU_SCTP_FB  (1 << 10)
 #define FL_MTU_SCTP_FB  (1 << 10)
-#define FL_ADD_LOCAL_RPORT  (1 << 11) /* add 'rport' to local via hdr */
+#define FL_ADD_LOCAL_RPORT  (1 << 11) /*!< add 'rport' to local via hdr */
 
 
 /* WARNING: Value (1 << 29) is temporarily reserved for use in kamailio acc
 /* WARNING: Value (1 << 29) is temporarily reserved for use in kamailio acc
  * module (flag FL_REQ_UPSTREAM)! */
  * module (flag FL_REQ_UPSTREAM)! */
@@ -143,7 +151,7 @@ if (  (*tmp==(firstchar) || *tmp==((firstchar) | 32)) &&                  \
     !strncasecmp((req)->first_line.u.request.version.s,             \
     !strncasecmp((req)->first_line.u.request.version.s,             \
 		SIP_VERSION, SIP_VERSION_LEN))
 		SIP_VERSION, SIP_VERSION_LEN))
 
 
-/*
+/*! \brief
  * Return a URI to which the message should be really sent (not what should
  * Return a URI to which the message should be really sent (not what should
  * be in the Request URI. The following fields are tried in this order:
  * be in the Request URI. The following fields are tried in this order:
  * 1) dst_uri
  * 1) dst_uri
@@ -155,7 +163,7 @@ if (  (*tmp==(firstchar) || *tmp==((firstchar) | 32)) &&                  \
 (((m)->new_uri.s && (m)->new_uri.len) ? (&(m)->new_uri) : (&(m)->first_line.u.request.uri)))
 (((m)->new_uri.s && (m)->new_uri.len) ? (&(m)->new_uri) : (&(m)->first_line.u.request.uri)))
 
 
 
 
-/*
+/*! \brief
  * Return the Reqeust URI of a message.
  * Return the Reqeust URI of a message.
  * The following fields are tried in this order:
  * The following fields are tried in this order:
  * 1) new_uri
  * 1) new_uri
@@ -186,37 +194,37 @@ enum _uri_flags{
 }; /* bit fields */
 }; /* bit fields */
 typedef enum _uri_flags uri_flags;
 typedef enum _uri_flags uri_flags;
 
 
+/*! \brief The SIP uri object */
 struct sip_uri {
 struct sip_uri {
-	str user;     /* Username */
-	str passwd;   /* Password */
-	str host;     /* Host name */
-	str port;     /* Port number */
-	str params;   /* Parameters */
-	str sip_params; /* Parameters of the sip: URI.
+	str user;     /*!< Username */
+	str passwd;   /*!< Password */
+	str host;     /*!< Host name */
+	str port;     /*!< Port number */
+	str params;   /*!< Parameters */
+	str sip_params; /*!< Parameters of the sip: URI.
 			  * (If a tel: URI is embedded in a sip: URI, then
 			  * (If a tel: URI is embedded in a sip: URI, then
 			  * params points to the parameters of the tel: URI,
 			  * params points to the parameters of the tel: URI,
 			  * and sip_params to the parameters of the sip: URI. 
 			  * and sip_params to the parameters of the sip: URI. 
 			  */
 			  */
 	str headers;
 	str headers;
 	unsigned short port_no;
 	unsigned short port_no;
-	unsigned short proto; /* from transport */
-	uri_type type; /* uri scheme */
+	unsigned short proto; /*!< from transport */
+	uri_type type; /*!< uri scheme */
 	uri_flags flags;
 	uri_flags flags;
-	/* parameters */
+	/*!< parameters */
 	str transport;
 	str transport;
 	str ttl;
 	str ttl;
 	str user_param;
 	str user_param;
 	str maddr;
 	str maddr;
 	str method;
 	str method;
 	str lr;
 	str lr;
-	str r2; /* ser specific rr parameter */
-	/* values */
-	str transport_val;
-	str ttl_val;
-	str user_param_val;
-	str maddr_val;
-	str method_val;
-	str lr_val; /* lr value placeholder for lr=on a.s.o*/
+	str r2; /*!< ser specific rr parameter */
+	str transport_val; /*!< transport value */
+	str ttl_val;	 /*!< TTL value */
+	str user_param_val; /*!< User= param value */
+	str maddr_val; /*!< Maddr= param value */
+	str method_val; /*!< Method value */
+	str lr_val; /*!< lr value placeholder for lr=on a.s.o*/
 	str r2_val;
 	str r2_val;
 #ifdef USE_COMP
 #ifdef USE_COMP
 	unsigned short comp;
 	unsigned short comp;
@@ -232,8 +240,10 @@ typedef enum msg_body_type {
 	MSG_BODY_SDP
 	MSG_BODY_SDP
 } msg_body_type_t;
 } msg_body_type_t;
 
 
-/* This structure represents a generic SIP message body, regardless of the
- * body type. Body parsers are supposed to cast this structure to some other
+/*! \brief This structure represents a generic SIP message body, regardless of the
+ * body type.
+ * 
+ * Body parsers are supposed to cast this structure to some other
  * body-type specific structure, but the body type specific structure must
  * body-type specific structure, but the body type specific structure must
  * retain msg_body_type variable and a pointer to the free function as the 
  * retain msg_body_type variable and a pointer to the free function as the 
  * first two variables within the structure.
  * first two variables within the structure.
@@ -244,16 +254,17 @@ typedef struct msg_body {
 } msg_body_t;
 } msg_body_t;
 
 
 
 
+/*! \brief The SIP message */
 typedef struct sip_msg {
 typedef struct sip_msg {
-	unsigned int id;               /* message id, unique/process*/
-	snd_flags_t fwd_send_flags;    /* send flags for forwarding */
-	snd_flags_t rpl_send_flags;    /* send flags for replies */
-	struct msg_start first_line;   /* Message first line */
-	struct via_body* via1;         /* The first via */
-	struct via_body* via2;         /* The second via */
-	struct hdr_field* headers;     /* All the parsed headers*/
-	struct hdr_field* last_header; /* Pointer to the last parsed header*/
-	hdr_flags_t parsed_flag;    /* Already parsed header field types */
+	unsigned int id;               /*!< message id, unique/process*/
+	snd_flags_t fwd_send_flags;    /*!< send flags for forwarding */
+	snd_flags_t rpl_send_flags;    /*!< send flags for replies */
+	struct msg_start first_line;   /*!< Message first line */
+	struct via_body* via1;         /*!< The first via */
+	struct via_body* via2;         /*!< The second via */
+	struct hdr_field* headers;     /*!< All the parsed headers*/
+	struct hdr_field* last_header; /*!< Pointer to the last parsed header*/
+	hdr_flags_t parsed_flag;    /*!< Already parsed header field types */
 
 
 	     /* Via, To, CSeq, Call-Id, From, end of header*/
 	     /* Via, To, CSeq, Call-Id, From, end of header*/
 	     /* pointers to the first occurrences of these headers;
 	     /* pointers to the first occurrences of these headers;
@@ -307,43 +318,42 @@ typedef struct sip_msg {
 
 
 	struct msg_body* body;
 	struct msg_body* body;
 
 
-	char* eoh;        /* pointer to the end of header (if found) or null */
-	char* unparsed;   /* here we stopped parsing*/
+	char* eoh;        /*!< pointer to the end of header (if found) or null */
+	char* unparsed;   /*!< here we stopped parsing*/
 
 
-	struct receive_info rcv; /* source & dest ip, ports, proto a.s.o*/
+	struct receive_info rcv; /*!< source & dest ip, ports, proto a.s.o*/
 
 
-	char* buf;        /* scratch pad, holds a modified message,
+	char* buf;        /*!< scratch pad, holds a modified message,
 					   *  via, etc. point into it */
 					   *  via, etc. point into it */
-	unsigned int len; /* message len (orig) */
+	unsigned int len; /*!< message len (orig) */
 
 
 	     /* modifications */
 	     /* modifications */
 
 
-	str new_uri; /* changed first line uri, when you change this
+	str new_uri; /*!< changed first line uri, when you change this
 	                don't forget to set parsed_uri_ok to 0*/
 	                don't forget to set parsed_uri_ok to 0*/
 
 
-	str dst_uri; /* Destination URI, must be forwarded to this URI if len != 0 */
+	str dst_uri; /*!< Destination URI, must be forwarded to this URI if len != 0 */
 
 
 	/* current uri */
 	/* current uri */
-	int parsed_uri_ok; /* 1 if parsed_uri is valid, 0 if not, set if to 0
+	int parsed_uri_ok; /*!< 1 if parsed_uri is valid, 0 if not, set if to 0
 	                      if you modify the uri (e.g change new_uri)*/
 	                      if you modify the uri (e.g change new_uri)*/
-	struct sip_uri parsed_uri; /* speed-up > keep here the parsed uri*/
-	/* the same for original uri */
-	int parsed_orig_ruri_ok;
-	struct sip_uri parsed_orig_ruri;
+	struct sip_uri parsed_uri; /*!< speed-up > keep here the parsed uri*/
+	int parsed_orig_ruri_ok; /*!< 1 if parsed_orig_uri is valid, 0 if not, set if to 0
+                              if you modify the uri (e.g change new_uri)*/
+	struct sip_uri parsed_orig_ruri; /*!< speed-up > keep here the parsed orig uri*/
 
 
-	struct lump* add_rm;       /* used for all the forwarded requests/replies */
-	struct lump* body_lumps;     /* Lumps that update Content-Length */
-	struct lump_rpl *reply_lump; /* only for localy generated replies !!!*/
+	struct lump* add_rm;       /*!< used for all the forwarded requests/replies */
+	struct lump* body_lumps;     /*!< Lumps that update Content-Length */
+	struct lump_rpl *reply_lump; /*!< only for localy generated replies !!!*/
 
 
-	/* str add_to_branch;
+	/*! \brief str add_to_branch;
 	   whatever whoever want to append to branch comes here
 	   whatever whoever want to append to branch comes here
 	*/
 	*/
 	char add_to_branch_s[MAX_BRANCH_PARAM_LEN];
 	char add_to_branch_s[MAX_BRANCH_PARAM_LEN];
 	int add_to_branch_len;
 	int add_to_branch_len;
 
 
-	     /* index to TM hash table; stored in core to avoid unnecessary calculations */
-	unsigned int  hash_index;
-	unsigned int msg_flags; /* flags used by core */
+	unsigned int  hash_index; /*!< index to TM hash table; stored in core to avoid unnecessary calculations */
+	unsigned int msg_flags; /*!< flags used by core */
 	     /* allows to set various flags on the message; may be used for
 	     /* allows to set various flags on the message; may be used for
 	      *	simple inter-module communication or remembering processing state
 	      *	simple inter-module communication or remembering processing state
 	      * reached
 	      * reached
@@ -356,7 +366,7 @@ typedef struct sip_msg {
 	str path_vec;
 	str path_vec;
 } sip_msg_t;
 } sip_msg_t;
 
 
-/* pointer to a fakes message which was never received ;
+/*! \brief pointer to a fakes message which was never received ;
    (when this message is "relayed", it is generated out
    (when this message is "relayed", it is generated out
     of the original request)
     of the original request)
 */
 */
@@ -372,12 +382,7 @@ char* get_hdr_field(char* buf, char* end, struct hdr_field* hdr);
 
 
 void free_sip_msg(struct sip_msg* msg);
 void free_sip_msg(struct sip_msg* msg);
 
 
-/* make sure all HFs needed for transaction identification have been
-   parsed; return 0 if those HFs can't be found
- */
-
-
-/* make sure all HFs needed for transaction identification have been
+/*! \brief make sure all HFs needed for transaction identification have been
    parsed; return 0 if those HFs can't be found
    parsed; return 0 if those HFs can't be found
 */
 */
 inline static int check_transaction_quadruple( struct sip_msg* msg )
 inline static int check_transaction_quadruple( struct sip_msg* msg )
@@ -393,7 +398,7 @@ inline static int check_transaction_quadruple( struct sip_msg* msg )
 
 
 
 
 
 
-/* calculate characteristic value of a message -- this value
+/*! \brief calculate characteristic value of a message -- this value
    is used to identify a transaction during the process of
    is used to identify a transaction during the process of
    reply matching
    reply matching
  */
  */
@@ -427,7 +432,7 @@ inline static int char_msg_val( struct sip_msg *msg, char *cv )
 }
 }
 
 
 
 
-/* returns a pointer to the begining of the msg's body
+/*! \brief returns a pointer to the begining of the msg's body
  */
  */
 inline static char* get_body(struct sip_msg *msg)
 inline static char* get_body(struct sip_msg *msg)
 {
 {
@@ -452,12 +457,12 @@ inline static char* get_body(struct sip_msg *msg)
 }
 }
 
 
 
 
-/*
+/*! \brief
  * Make a private copy of the string and assign it to dst_uri
  * Make a private copy of the string and assign it to dst_uri
  */
  */
 int set_dst_uri(struct sip_msg* msg, str* uri);
 int set_dst_uri(struct sip_msg* msg, str* uri);
 
 
-/* If the dst_uri is set to an URI then reset it */
+/*! \brief If the dst_uri is set to an URI then reset it */
 void reset_dst_uri(struct sip_msg* msg);
 void reset_dst_uri(struct sip_msg* msg);
 
 
 struct hdr_field* get_hdr(struct sip_msg *msg, enum _hdr_types_t ht);
 struct hdr_field* get_hdr(struct sip_msg *msg, enum _hdr_types_t ht);