📄 sip_msg.h
字号:
/**
* Content-Length header.
*/
typedef struct pjsip_clen_hdr
{
PJSIP_DECL_HDR_MEMBER(struct pjsip_clen_hdr);
int len; /**< Content length. */
} pjsip_clen_hdr;
/**
* Create new Content-Length header.
*
* @param pool the pool.
* @return A new Content-Length header instance.
*/
PJ_DECL(pjsip_clen_hdr*) pjsip_clen_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_clen_hdr*) pjsip_clen_hdr_init( pj_pool_t *pool,
void *mem );
/* **************************************************************************/
/**
* CSeq header.
*/
typedef struct pjsip_cseq_hdr
{
PJSIP_DECL_HDR_MEMBER(struct pjsip_cseq_hdr);
int cseq; /**< CSeq number. */
pjsip_method method; /**< CSeq method. */
} pjsip_cseq_hdr;
/** Create new CSeq header.
*
* @param pool The pool.
* @return A new CSeq header instance.
*/
PJ_DECL(pjsip_cseq_hdr*) pjsip_cseq_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_cseq_hdr*) pjsip_cseq_hdr_init( pj_pool_t *pool,
void *mem );
/* **************************************************************************/
/**
* Contact header.
* In this library, contact header only contains single URI. If a message has
* multiple URI in the Contact header, the URI will be put in separate Contact
* headers.
*/
typedef struct pjsip_contact_hdr
{
PJSIP_DECL_HDR_MEMBER(struct pjsip_contact_hdr);
int star; /**< The contact contains only a '*' character */
pjsip_uri *uri; /**< URI in the contact. */
int q1000; /**< The "q" value times 1000 (to avoid float) */
pj_int32_t expires; /**< Expires parameter, otherwise -1 if not present. */
pjsip_param other_param; /**< Other parameters, concatenated in a single string. */
} pjsip_contact_hdr;
/**
* Create a new Contact header.
*
* @param pool The pool.
* @return A new instance of Contact header.
*/
PJ_DECL(pjsip_contact_hdr*) pjsip_contact_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_contact_hdr*) pjsip_contact_hdr_init( pj_pool_t *pool,
void *mem );
/* **************************************************************************/
/**
* Content-Type.
*/
typedef struct pjsip_ctype_hdr
{
PJSIP_DECL_HDR_MEMBER(struct pjsip_ctype_hdr);
pjsip_media_type media; /**< Media type. */
} pjsip_ctype_hdr;
/**
* Create a nwe Content Type header.
*
* @param pool The pool.
* @return A new Content-Type header.
*/
PJ_DECL(pjsip_ctype_hdr*) pjsip_ctype_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_ctype_hdr*) pjsip_ctype_hdr_init( pj_pool_t *pool,
void *mem );
/* **************************************************************************/
/** Expires header. */
typedef pjsip_generic_int_hdr pjsip_expires_hdr;
/**
* Create a new Expires header.
*
* @param pool The pool.
* @param value The expiration value.
*
* @return A new Expires header.
*/
PJ_DECL(pjsip_expires_hdr*) pjsip_expires_hdr_create( pj_pool_t *pool,
int value);
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
* @param value The expiration value.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_expires_hdr*) pjsip_expires_hdr_init( pj_pool_t *pool,
void *mem,
int value );
/* **************************************************************************/
/**
* To or From header.
*/
typedef struct pjsip_fromto_hdr
{
PJSIP_DECL_HDR_MEMBER(struct pjsip_fromto_hdr);
pjsip_uri *uri; /**< URI in From/To header. */
pj_str_t tag; /**< Header "tag" parameter. */
pjsip_param other_param; /**< Other params, concatenated as a single string. */
} pjsip_fromto_hdr;
/** Alias for From header. */
typedef pjsip_fromto_hdr pjsip_from_hdr;
/** Alias for To header. */
typedef pjsip_fromto_hdr pjsip_to_hdr;
/**
* Create a From header.
*
* @param pool The pool.
* @return New instance of From header.
*/
PJ_DECL(pjsip_from_hdr*) pjsip_from_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_from_hdr*) pjsip_from_hdr_init( pj_pool_t *pool,
void *mem );
/**
* Create a To header.
*
* @param pool The pool.
* @return New instance of To header.
*/
PJ_DECL(pjsip_to_hdr*) pjsip_to_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_to_hdr*) pjsip_to_hdr_init( pj_pool_t *pool,
void *mem );
/**
* Convert the header to a From header.
*
* @param hdr The generic from/to header.
* @return "From" header.
*/
PJ_DECL(pjsip_from_hdr*) pjsip_fromto_hdr_set_from( pjsip_fromto_hdr *hdr );
/**
* Convert the header to a To header.
*
* @param hdr The generic from/to header.
* @return "To" header.
*/
PJ_DECL(pjsip_to_hdr*) pjsip_fromto_hdr_set_to( pjsip_fromto_hdr *hdr );
/* **************************************************************************/
/**
* Max-Forwards header.
*/
typedef pjsip_generic_int_hdr pjsip_max_fwd_hdr;
/**
* Create new Max-Forwards header instance.
*
* @param pool The pool.
* @param value The Max-Forwards value.
*
* @return New Max-Forwards header instance.
*/
PJ_DECL(pjsip_max_fwd_hdr*)
pjsip_max_fwd_hdr_create(pj_pool_t *pool, int value);
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
* @param value The Max-Forwards value.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_max_fwd_hdr*)
pjsip_max_fwd_hdr_init( pj_pool_t *pool, void *mem, int value );
/* **************************************************************************/
/**
* Min-Expires header.
*/
typedef pjsip_generic_int_hdr pjsip_min_expires_hdr;
/**
* Create new Min-Expires header instance.
*
* @param pool The pool.
* @param value The Min-Expires value.
*
* @return New Min-Expires header instance.
*/
PJ_DECL(pjsip_min_expires_hdr*) pjsip_min_expires_hdr_create(pj_pool_t *pool,
int value);
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
* @param value The Min-Expires value.
*
* @return The header instance, which points to the same memory
* location as the mem argument.
*/
PJ_DECL(pjsip_min_expires_hdr*) pjsip_min_expires_hdr_init( pj_pool_t *pool,
void *mem,
int value );
/* **************************************************************************/
/**
* Record-Route and Route headers.
*/
typedef struct pjsip_routing_hdr
{
PJSIP_DECL_HDR_MEMBER(struct pjsip_routing_hdr); /**< Generic header fields. */
pjsip_name_addr name_addr; /**< The URL in the Route/Record-Route header. */
pjsip_param other_param; /**< Other parameter. */
} pjsip_routing_hdr;
/** Alias for Record-Route header. */
typedef pjsip_routing_hdr pjsip_rr_hdr;
/** Alias for Route header. */
typedef pjsip_routing_hdr pjsip_route_hdr;
/**
* Create new Record-Route header from the pool.
*
* @param pool The pool.
* @return A new instance of Record-Route header.
*/
PJ_DECL(pjsip_rr_hdr*) pjsip_rr_hdr_create( pj_pool_t *pool );
/**
* Initialize a preallocated memory with the header structure. This function
* should only be called when application uses its own memory allocation to
* allocate memory block for the specified header (e.g. in C++, when the
* header is allocated with "new" operator).
* For normal applications, they should use pjsip_xxx_hdr_create() instead,
* which allocates memory and initialize it in one go.
*
* @param pool Pool for additional memory allocation if required.
* @param mem Pre-allocated memory to be initialized as the header.
*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -