Lines Matching defs:header

173  * Common header free routine
176 sip_free_phdr(sip_parsed_header_t *header)
181 if (header == NULL)
183 value = (sip_hdr_value_t *)header->value;
190 free(header);
194 * Free Contact/From/To header
197 sip_free_cftr_header(sip_parsed_header_t *header)
202 if (header == NULL)
204 value = (sip_hdr_value_t *)header->value;
217 free(header);
221 * Return new header
235 * the message header
249 * Free the given header
269 * Return a copy of the header passed in.
293 * Copy header with extra_param, if any, to sip_msg
296 _sip_copy_header(_sip_msg_t *sip_msg, _sip_header_t *header, char *extra_param,
313 * Just take one if there are more, i.e. if this is the last header
317 if (header->sip_hdr_end - strlen(SIP_CRLF) <=
318 header->sip_hdr_start) {
321 p = header->sip_hdr_end - strlen(SIP_CRLF);
324 if (p - strlen(SIP_CRLF) < header->sip_hdr_start)
334 hdrlen = header->sip_hdr_end - header->sip_hdr_start - ncrlf;
338 if (header->sip_header_state == SIP_HEADER_DELETED_VAL) {
341 len = sip_copy_values(new_header->sip_hdr_start, header);
345 (void) memcpy(new_header->sip_hdr_start, header->sip_hdr_start,
364 new_header->sip_header_functions = header->sip_header_functions;
376 _sip_header_t *header;
386 header = sip_search_for_header(_old_msg, header_name, NULL);
387 while (header != NULL) {
388 ret = _sip_copy_header(_new_msg, header, NULL, B_TRUE);
391 header = sip_search_for_header(_old_msg, header_name, header);
405 _sip_header_t *header;
413 header = sip_search_for_header(_old_msg, header_name, NULL);
414 if (header == NULL)
418 ret = _sip_copy_header(_new_msg, header, extra_param, B_TRUE);
430 _sip_header_t *header;
442 header = sip_search_for_header(_old_msg, NULL, NULL);
443 while (header != NULL) {
444 ret = _sip_copy_header(_new_msg, header, NULL, B_FALSE);
447 header = sip_search_for_header(_old_msg, NULL, header);
502 _sip_header_t *header;
508 header = _sip_msg->sip_msg_start_line;
509 while (header != NULL) {
510 next_header = header->sip_hdr_next;
511 _sip_msg->sip_msg_len -= (header->sip_hdr_end -
512 header->sip_hdr_start);
513 sip_free_header(header);
514 header = next_header;
568 _sip_header_t *header;
574 header = _sip_msg->sip_msg_headers_start;
575 while (header != NULL) {
577 next_header = header->sip_hdr_next;
578 sip_free_header(header);
579 header = next_header;
586 * Delete and free the named header. If header_name is null
592 _sip_header_t *header;
599 header = sip_search_for_header(_sip_msg, header_name, NULL);
600 if (header == NULL)
602 while (header != NULL) {
603 if (_sip_msg->sip_msg_headers_start == header) {
604 _sip_msg->sip_msg_headers_start = header->sip_hdr_next;
606 header->sip_hdr_prev->sip_hdr_next =
607 header->sip_hdr_next;
609 if (_sip_msg->sip_msg_headers_end == header) {
610 _sip_msg->sip_msg_headers_end = header->sip_hdr_prev;
612 header->sip_hdr_next->sip_hdr_prev =
613 header->sip_hdr_prev;
615 sip_free_header(header);
619 header = sip_search_for_header(_sip_msg, NULL, NULL);
624 * Add a header to sip_msg. If header_name is provided then the new header
625 * is added before that header, if first is set, or after. If append is
626 * set, then the header is added to the end of the header list.
632 _sip_header_t *header = NULL;
643 header = sip_search_for_header(sip_msg, header_name, NULL);
644 header_tmp = header;
646 while (header != NULL) {
647 header_tmp = header;
648 header = sip_search_for_header(sip_msg,
649 header_name, header);
652 header = header_tmp;
653 if (header == NULL)
657 if (header != NULL) {
659 new_header->sip_hdr_prev = header;
660 if (sip_msg->sip_msg_headers_end == header) {
664 header->sip_hdr_next->sip_hdr_prev = new_header;
665 new_header->sip_hdr_next = header->sip_hdr_next;
667 header->sip_hdr_next = new_header;
669 new_header->sip_hdr_next = header;
670 if (sip_msg->sip_msg_headers_start == header) {
674 header->sip_hdr_prev->sip_hdr_next = new_header;
675 new_header->sip_hdr_prev = header->sip_hdr_prev;
677 header->sip_hdr_prev = new_header;
709 * Scan through the function table and return the entry for the given header
772 * Return the entry from the function table for the given header
793 * Search for the header name passed in.
802 _sip_header_t *header = NULL;
830 header = old_header->sip_hdr_next;
832 header = sip_msg->sip_msg_headers_start;
834 while (header != NULL) {
836 if (header->sip_header_state == SIP_HEADER_DELETED) {
837 header = header->sip_hdr_next;
844 header->sip_hdr_current = header->sip_hdr_start;
846 if (sip_skip_white_space(header)) {
847 header = header->sip_hdr_next;
851 len = header->sip_hdr_end - header->sip_hdr_current;
854 strncasecmp(header->sip_hdr_current, full_name,
856 header->sip_hdr_current += full_len;
857 if (sip_skip_white_space(header)) {
858 header = header->sip_hdr_next;
862 if (*header->sip_hdr_current == SIP_HCOLON) {
869 strncasecmp(header->sip_hdr_current, compact_name,
871 header->sip_hdr_current += compact_len;
872 if (sip_skip_white_space(header)) {
873 header = header->sip_hdr_next;
876 if (*header->sip_hdr_current == SIP_HCOLON) {
881 header = header->sip_hdr_next;
884 if (header != NULL) {
885 header->sip_hdr_current = header->sip_hdr_start;
888 sip_get_header_functions(header, header_name);
893 header->sip_header_functions = header_f_table;
895 return (header);
931 * Return the given header as a string. Caller frees string