\doxysection{strrb.\+h}
\label{strrb_8h_source}\index{include/osmocom/core/strrb.h@{include/osmocom/core/strrb.h}}
\textbf{ Go to the documentation of this file.}
\begin{DoxyCode}{0}
\DoxyCodeLine{1 }
\DoxyCodeLine{3 \textcolor{comment}{/*}}
\DoxyCodeLine{4 \textcolor{comment}{ * (C) 2012-\/2013 by Katerina Barone-\/Adesi <kat.obsc@gmail.com>}}
\DoxyCodeLine{5 \textcolor{comment}{ * All Rights Reserved}}
\DoxyCodeLine{6 \textcolor{comment}{ *}}
\DoxyCodeLine{7 \textcolor{comment}{ * This program is free software; you can redistribute it and/or modify}}
\DoxyCodeLine{8 \textcolor{comment}{ * it under the terms of the GNU General Public License as published by}}
\DoxyCodeLine{9 \textcolor{comment}{ * the Free Software Foundation; either version 2 of the License, or}}
\DoxyCodeLine{10 \textcolor{comment}{ * (at your option) any later version.}}
\DoxyCodeLine{11 \textcolor{comment}{ *}}
\DoxyCodeLine{12 \textcolor{comment}{ * This program is distributed in the hope that it will be useful,}}
\DoxyCodeLine{13 \textcolor{comment}{ * but WITHOUT ANY WARRANTY; without even the implied warranty of}}
\DoxyCodeLine{14 \textcolor{comment}{ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the}}
\DoxyCodeLine{15 \textcolor{comment}{ * GNU General Public License for more details.}}
\DoxyCodeLine{16 \textcolor{comment}{ *}}
\DoxyCodeLine{17 \textcolor{comment}{ */}}
\DoxyCodeLine{18 }
\DoxyCodeLine{19 \textcolor{preprocessor}{\#pragma once}}
\DoxyCodeLine{20 }
\DoxyCodeLine{25 \textcolor{preprocessor}{\#include <unistd.h>}}
\DoxyCodeLine{26 \textcolor{preprocessor}{\#include <stdbool.h>}}
\DoxyCodeLine{27 \textcolor{preprocessor}{\#include <stdint.h>}}
\DoxyCodeLine{28 }
\DoxyCodeLine{31 \textcolor{preprocessor}{\#define RB\_MAX\_MESSAGE\_SIZE 240}}
\DoxyCodeLine{32 \textcolor{keyword}{struct }osmo\_strrb \{}
\DoxyCodeLine{33         uint16\_t start;            }
\DoxyCodeLine{34         uint16\_t end;                }
\DoxyCodeLine{35         uint16\_t size;              }
\DoxyCodeLine{36         \textcolor{keywordtype}{char} **buffer;            }
\DoxyCodeLine{37 \};}
\DoxyCodeLine{38 }
\DoxyCodeLine{39 \textcolor{keyword}{struct }osmo\_strrb *osmo\_strrb\_create(\textcolor{keywordtype}{void} *talloc\_ctx, \textcolor{keywordtype}{size\_t} rb\_size);}
\DoxyCodeLine{40 \textcolor{keywordtype}{bool} osmo\_strrb\_is\_empty(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_strrb *rb);}
\DoxyCodeLine{41 \textcolor{keyword}{const} \textcolor{keywordtype}{char} *osmo\_strrb\_get\_nth(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_strrb *rb,}
\DoxyCodeLine{42                                \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} string\_index);}
\DoxyCodeLine{43 \textcolor{keywordtype}{bool} \_osmo\_strrb\_is\_bufindex\_valid(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_strrb *rb,}
\DoxyCodeLine{44                                    \textcolor{keywordtype}{unsigned} \textcolor{keywordtype}{int} offset);}
\DoxyCodeLine{45 \textcolor{keywordtype}{size\_t} osmo\_strrb\_elements(\textcolor{keyword}{const} \textcolor{keyword}{struct} osmo\_strrb *rb);}
\DoxyCodeLine{46 \textcolor{keywordtype}{int} osmo\_strrb\_add(\textcolor{keyword}{struct} osmo\_strrb *rb, \textcolor{keyword}{const} \textcolor{keywordtype}{char} *data);}
\DoxyCodeLine{47 }

\end{DoxyCode}
