This file is indexed.

/usr/include/ortp/str_utils.h is in libortp-dev 3.6.1-2.4+b1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/*
  The oRTP library is an RTP (Realtime Transport Protocol - rfc3550) stack.
  Copyright (C) 2001  Simon MORLAT simon.morlat@linphone.org

  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
  License as published by the Free Software Foundation; either
  version 2.1 of the License, or (at your option) any later version.

  This library 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
  Lesser General Public License for more details.

  You should have received a copy of the GNU Lesser General Public
  License along with this library; if not, write to the Free Software
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

#ifndef STR_UTILS_H
#define STR_UTILS_H


#include <ortp/port.h>
#if defined(ORTP_TIMESTAMP)
#include <time.h>
#endif


#ifndef MIN
#define MIN(a,b) (((a)>(b)) ? (b) : (a))
#endif
#ifndef MAX
#define MAX(a,b) (((a)>(b)) ? (a) : (b))
#endif

#define return_if_fail(expr) if (!(expr)) {printf("%s:%i- assertion"#expr "failed\n",__FILE__,__LINE__); return;}
#define return_val_if_fail(expr,ret) if (!(expr)) {printf("%s:%i- assertion" #expr "failed\n",__FILE__,__LINE__); return (ret);}


typedef struct ortp_recv_addr {
	int family;
	union {
		struct in_addr ipi_addr;
		struct in6_addr ipi6_addr;
	} addr;
} ortp_recv_addr_t;

typedef struct msgb
{
	struct msgb *b_prev;
	struct msgb *b_next;
	struct msgb *b_cont;
	struct datab *b_datap;
	unsigned char *b_rptr;
	unsigned char *b_wptr;
	uint32_t reserved1;
	uint32_t reserved2;
#if defined(ORTP_TIMESTAMP)
	struct timeval timestamp;
#endif
	ortp_recv_addr_t recv_addr;
} mblk_t;



typedef struct datab
{
	unsigned char *db_base;
	unsigned char *db_lim;
	void (*db_freefn)(void*);
	int db_ref;
} dblk_t;

typedef struct _queue
{
	mblk_t _q_stopper;
	int q_mcount;	/*number of packet in the q */
} queue_t;

#ifdef __cplusplus
extern "C" {
#endif

ORTP_PUBLIC void qinit(queue_t *q);
	
ORTP_PUBLIC void putq(queue_t *q, mblk_t *m);

ORTP_PUBLIC mblk_t * getq(queue_t *q);

ORTP_PUBLIC void insq(queue_t *q,mblk_t *emp, mblk_t *mp);
	
ORTP_PUBLIC void remq(queue_t *q, mblk_t *mp);

ORTP_PUBLIC mblk_t * peekq(queue_t *q);

/* remove and free all messages in the q */
#define FLUSHALL 0
ORTP_PUBLIC void flushq(queue_t *q, int how);

ORTP_PUBLIC void mblk_init(mblk_t *mp);

ORTP_PUBLIC void mblk_meta_copy(const mblk_t *source, mblk_t *dest);
	
/* allocates a mblk_t, that points to a datab_t, that points to a buffer of size size. */
ORTP_PUBLIC mblk_t *allocb(int size, int unused);
#define BPRI_MED 0

/* allocates a mblk_t, that points to a datab_t, that points to buf; buf will be freed using freefn */
ORTP_PUBLIC mblk_t *esballoc(uint8_t *buf, int size, int pri, void (*freefn)(void*) );

/* frees a mblk_t, and if the datab ref_count is 0, frees it and the buffer too */
ORTP_PUBLIC void freeb(mblk_t *m);

/* frees recursively (follow b_cont) a mblk_t, and if the datab
ref_count is 0, frees it and the buffer too */
ORTP_PUBLIC void freemsg(mblk_t *mp);

/* duplicates a mblk_t , buffer is not duplicated*/
ORTP_PUBLIC mblk_t *dupb(mblk_t *m);

/* duplicates a complex mblk_t, buffer is not duplicated */
ORTP_PUBLIC mblk_t	*dupmsg(mblk_t* m);

/* returns the size of data of a message */
ORTP_PUBLIC int msgdsize(const mblk_t *mp);

/* concatenates all fragment of a complex message*/
ORTP_PUBLIC void msgpullup(mblk_t *mp,int len);

/* duplicates a single message, but with buffer included */
ORTP_PUBLIC mblk_t *copyb(mblk_t *mp);

/* duplicates a complex message with buffer included */
ORTP_PUBLIC mblk_t *copymsg(mblk_t *mp);

ORTP_PUBLIC mblk_t * appendb(mblk_t *mp, const char *data, int size, bool_t pad);
ORTP_PUBLIC void msgappend(mblk_t *mp, const char *data, int size, bool_t pad);

ORTP_PUBLIC mblk_t *concatb(mblk_t *mp, mblk_t *newm);

#define qempty(q) (&(q)->_q_stopper==(q)->_q_stopper.b_next)
#define qfirst(q) ((q)->_q_stopper.b_next!=&(q)->_q_stopper ? (q)->_q_stopper.b_next : NULL)
#define qbegin(q) ((q)->_q_stopper.b_next)
#define qlast(q) ((q)->_q_stopper.b_prev!=&(q)->_q_stopper ? (q)->_q_stopper.b_prev : NULL)
#define qend(q,mp)	((mp)==&(q)->_q_stopper)
#define qnext(q,mp) ((mp)->b_next)

typedef struct _msgb_allocator{
	queue_t q;
}msgb_allocator_t;

ORTP_PUBLIC void msgb_allocator_init(msgb_allocator_t *pa);
ORTP_PUBLIC mblk_t *msgb_allocator_alloc(msgb_allocator_t *pa, int size);
ORTP_PUBLIC void msgb_allocator_uninit(msgb_allocator_t *pa);

#ifdef __cplusplus
}
#endif

#endif