Data Structures | Defines | Typedefs | Enumerations | Functions | Variables

msg_parser.h File Reference

Parser :: ??? More...

#include "../comp_defs.h"
#include "../str.h"
#include "../lump_struct.h"
#include "../flags.h"
#include "../ip_addr.h"
#include "../md5utils.h"
#include "../config.h"
#include "parse_def.h"
#include "parse_cseq.h"
#include "parse_via.h"
#include "parse_fline.h"
#include "parse_retry_after.h"
#include "hf.h"
#include "../error.h"
#include "../lump_struct.h"
#include "../flags.h"
#include "../ip_addr.h"
#include "../md5utils.h"
#include "../error.h"
Include dependency graph for msg_parser.h:

Go to the source code of this file.

Data Structures

Defines

convenience short-cut macros

Typedefs

Enumerations

Functions

Variables


Detailed Description

Definition in file msg_parser.h.


Define Documentation

#define GET_NEXT_HOP (   m  ) 
Value:
(((m)->dst_uri.s && (m)->dst_uri.len) ? (&(m)->dst_uri) : \
(((m)->new_uri.s && (m)->new_uri.len) ? (&(m)->new_uri) : (&(m)->first_line.u.request.uri)))

The following fields are tried in this order: 1) dst_uri 2) new_uri 3) first_line.u.request.uri

Definition at line 167 of file msg_parser.h.

#define GET_RURI (   m  )     (((m)->new_uri.s && (m)->new_uri.len) ? (&(m)->new_uri) : (&(m)->first_line.u.request.uri))

The following fields are tried in this order: 1) new_uri 2) first_line.u.request.uri

Definition at line 178 of file msg_parser.h.

#define reset_force_socket (   msg  )     set_force_socket(msg, 0)

Definition at line 467 of file msg_parser.h.

#define set_force_socket (   msg,
  fsocket 
)
Value:
do { \
                (msg)->force_send_socket=(fsocket); \
                if ((msg)->force_send_socket) \
                        (msg)->fwd_send_flags.f |= SND_F_FORCE_SOCKET; \
                else \
                        (msg)->fwd_send_flags.f &= ~SND_F_FORCE_SOCKET; \
        } while (0)
Parameters:
msg - sip msg.
fsocket - forced socket, pointer to struct socket_info, can be 0 (in which case it's equivalent to reset_force_socket()).

Definition at line 457 of file msg_parser.h.

Referenced by after_loose(), after_strict(), dp_apply_policy(), and lookup().


Typedef Documentation

typedef struct msg_body msg_body_t

Body parsers are supposed to cast this structure to some other 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 first two variables within the structure.


Enumeration Type Documentation

Enumerator:
METHOD_UNDEF 

0 - ---

METHOD_INVITE 

1 - 2^0

METHOD_CANCEL 

2 - 2^1

METHOD_ACK 

4 - 2^2

METHOD_BYE 

8 - 2^3

METHOD_INFO 

16 - 2^4

METHOD_REGISTER 

32 - 2^5

METHOD_SUBSCRIBE 

64 - 2^6

METHOD_NOTIFY 

128 - 2^7

METHOD_MESSAGE 

256 - 2^8

METHOD_OPTIONS 

512 - 2^9

METHOD_PRACK 

1024 - 2^10

METHOD_UPDATE 

2048 - 2^11

METHOD_REFER 

4096 - 2^12

METHOD_PUBLISH 

8192 - 2^13

METHOD_OTHER 

16384 - 2^14

Definition at line 87 of file msg_parser.h.


Variable Documentation

unsigned int global_req_flags

msg->msg_flags should be OR'ed with it before a flag value is checked, e.g.: if ((msg->msg_flags|global_req_flags) & FL_XXX) ...

Definition at line 87 of file msg_parser.c.

Referenced by build_req_buf_from_sip_req(), and fix_global_req_flags().