\doxysection{comps\+\_\+objlist.\+h}
\hypertarget{comps__objlist_8h_source}{}\label{comps__objlist_8h_source}\index{comps\_objlist.h@{comps\_objlist.h}}
\mbox{\hyperlink{comps__objlist_8h}{Go to the documentation of this file.}}
\begin{DoxyCode}{0}
\DoxyCodeLine{00001\ \textcolor{comment}{/*\ libcomps\ -\/\ C\ alternative\ to\ yum.comps\ library}}
\DoxyCodeLine{00002\ \textcolor{comment}{\ *\ Copyright\ (C)\ 2013\ Jindrich\ Luza}}
\DoxyCodeLine{00003\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00004\ \textcolor{comment}{\ *\ This\ program\ is\ free\ software;\ you\ can\ redistribute\ it\ and/or\ modify}}
\DoxyCodeLine{00005\ \textcolor{comment}{\ *\ it\ under\ the\ terms\ of\ the\ GNU\ General\ Public\ License\ as\ published\ by}}
\DoxyCodeLine{00006\ \textcolor{comment}{\ *\ the\ Free\ Software\ Foundation;\ either\ version\ 2\ of\ the\ License,\ or}}
\DoxyCodeLine{00007\ \textcolor{comment}{\ *\ any\ later\ version.}}
\DoxyCodeLine{00008\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00009\ \textcolor{comment}{\ *\ This\ program\ is\ distributed\ in\ the\ hope\ that\ it\ will\ be\ useful,\ but}}
\DoxyCodeLine{00010\ \textcolor{comment}{\ *\ WITHOUT\ ANY\ WARRANTY;\ without\ even\ the\ implied\ warranty\ of}}
\DoxyCodeLine{00011\ \textcolor{comment}{\ *\ MERCHANTABILITY\ or\ FITNESS\ FOR\ A\ PARTICULAR\ PURPOSE.\ See\ the}}
\DoxyCodeLine{00012\ \textcolor{comment}{\ *\ GNU\ General\ Public\ License\ for\ more\ details.}}
\DoxyCodeLine{00013\ \textcolor{comment}{\ *}}
\DoxyCodeLine{00014\ \textcolor{comment}{\ *\ You\ should\ have\ received\ a\ copy\ of\ the\ GNU\ General\ Public\ License}}
\DoxyCodeLine{00015\ \textcolor{comment}{\ *\ along\ with\ this\ program;\ if\ not,\ write\ to\ \ Free\ Software}}
\DoxyCodeLine{00016\ \textcolor{comment}{\ *\ Foundation,\ Inc.,\ 51\ Franklin\ Street,\ Fifth\ Floor,\ Boston,\ MA\ \ 02110-\/1301,}}
\DoxyCodeLine{00017\ \textcolor{comment}{\ *\ USA}}
\DoxyCodeLine{00018\ \textcolor{comment}{\ */}}
\DoxyCodeLine{00019\ }
\DoxyCodeLine{00024\ \textcolor{preprocessor}{\#ifndef\ COMPS\_OBJLIST\_H}}
\DoxyCodeLine{00025\ \textcolor{preprocessor}{\#define\ COMPS\_OBJLIST\_H}}
\DoxyCodeLine{00026\ }
\DoxyCodeLine{00027\ \textcolor{preprocessor}{\#include\ "{}\mbox{\hyperlink{comps__obj_8h}{comps\_obj.h}}"{}}}
\DoxyCodeLine{00028\ }
\DoxyCodeLine{00029\ \textcolor{preprocessor}{\#include\ <string.h>}}
\DoxyCodeLine{00030\ \textcolor{preprocessor}{\#include\ <stdlib.h>}}
\DoxyCodeLine{00031\ }
\DoxyCodeLine{00032\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}};}
\DoxyCodeLine{00033\ }
\DoxyCodeLine{00034\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ \{}
\DoxyCodeLine{00035\ \ \ \ \ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *comps\_obj;}
\DoxyCodeLine{00036\ \ \ \ \ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *next;}
\DoxyCodeLine{00037\ \};}
\DoxyCodeLine{00038\ }
\DoxyCodeLine{00039\ }
\DoxyCodeLine{00041\ \textcolor{keyword}{typedef}\ \textcolor{keyword}{struct\ }\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ \{}
\DoxyCodeLine{00042\ \ \ \ \ \mbox{\hyperlink{comps__obj_8h_a00fd526b6bb8d3a008e65267184d457b}{COMPS\_Object\_HEAD}};}
\DoxyCodeLine{00043\ \ \ \ \ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *\mbox{\hyperlink{structCOMPS__ObjList_a8d11d924cb0674f1047ef5bd18756319}{first}};\ }
\DoxyCodeLine{00044\ \ \ \ \ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *\mbox{\hyperlink{structCOMPS__ObjList_aa88dd9bd57cc398ecb00661646c38ef6}{last}};\ }
\DoxyCodeLine{00045\ \ \ \ \ \textcolor{keywordtype}{size\_t}\ \mbox{\hyperlink{structCOMPS__ObjList_a29c72e2360d086c642c5f51305f4fa70}{len}};\ }
\DoxyCodeLine{00046\ \}\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}};}
\DoxyCodeLine{00047\ \mbox{\hyperlink{comps__obj_8h_aa3afe40a21c9580bcb8a93ef61795b03}{COMPS\_Object\_TAIL}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}});}
\DoxyCodeLine{00048\ }
\DoxyCodeLine{00049\ \textcolor{comment}{//void\ comps\_objlist\_create(COMPS\_ObjList\ *objlist,\ COMPS\_Object\ **args);}}
\DoxyCodeLine{00050\ \textcolor{comment}{//void\ comps\_objlist\_create\_u(COMPS\_Object\ *uobj,\ COMPS\_Object\ **args);}}
\DoxyCodeLine{00051\ \textcolor{comment}{//void\ comps\_objlist\_destroy(COMPS\_ObjList\ *objlist);}}
\DoxyCodeLine{00052\ \textcolor{comment}{//void\ comps\_objlist\_destroy\_u(COMPS\_Object\ *objlist);}}
\DoxyCodeLine{00053\ }
\DoxyCodeLine{00054\ }
\DoxyCodeLine{00059\ \textcolor{keywordtype}{void}\ \mbox{\hyperlink{comps__objlist_8h_a382398ac8eab81709bd9ec71b129c3a5}{comps\_objlist\_clear}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist);}
\DoxyCodeLine{00060\ }
\DoxyCodeLine{00061\ }
\DoxyCodeLine{00062\ \textcolor{keyword}{const}\ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *comps\_objlist\_it\_next(\textcolor{keyword}{const}\ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *it);}
\DoxyCodeLine{00063\ }
\DoxyCodeLine{00074\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_aee4c5ae2f1eeececa8a1c6b0ff594466}{comps\_objlist\_walk}}(\mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ **walker,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ **result);}
\DoxyCodeLine{00075\ }
\DoxyCodeLine{00086\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_aa62c32dee6a7ff577704f4c156a487b0}{comps\_objlist\_walk\_r}}(\mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *walker\_start,}
\DoxyCodeLine{00087\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *mantinel,}
\DoxyCodeLine{00088\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ **result);}
\DoxyCodeLine{00089\ }
\DoxyCodeLine{00096\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_a14013f4ea08b6d07769f861204dd566e}{comps\_objlist\_append\_x}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00097\ }
\DoxyCodeLine{00104\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_a509521d7a925c74cb47a12f7a5f77526}{comps\_objlist\_append}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00105\ }
\DoxyCodeLine{00113\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}*\ \mbox{\hyperlink{comps__objlist_8h_ad2ce5bc8327653ae386fd9509d3969a4}{comps\_objlist\_get}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ atpos);}
\DoxyCodeLine{00114\ }
\DoxyCodeLine{00126\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_aa5936b936b1893243491693426e2e1c9}{comps\_objlist\_set}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ atpos,}
\DoxyCodeLine{00127\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00128\ }
\DoxyCodeLine{00136\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}*\ \mbox{\hyperlink{comps__objlist_8h_a67b42a04e4a3172bdacfaa065297d2a6}{comps\_objlist\_get\_x}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ atpos);}
\DoxyCodeLine{00137\ }
\DoxyCodeLine{00149\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_a4168ea84a777349bafcc18a6eca0a4eb}{comps\_objlist\_insert\_at}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,}
\DoxyCodeLine{00150\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ pos,}
\DoxyCodeLine{00151\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00152\ }
\DoxyCodeLine{00153\ \textcolor{keywordtype}{int}\ comps\_objlist\_insert\_at\_x(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,}
\DoxyCodeLine{00154\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ pos,}
\DoxyCodeLine{00155\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00156\ }
\DoxyCodeLine{00166\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_a4d83af123dbf1ec7dc2dcde050493a87}{comps\_objlist\_remove\_at}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \textcolor{keywordtype}{unsigned}\ \textcolor{keywordtype}{int}\ atpos);}
\DoxyCodeLine{00167\ }
\DoxyCodeLine{00177\ \textcolor{keywordtype}{int}\ \mbox{\hyperlink{comps__objlist_8h_abd9452de9c54aa642cfc7e6b0174adea}{comps\_objlist\_remove}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00178\ }
\DoxyCodeLine{00179\ }
\DoxyCodeLine{00180\ \textcolor{keywordtype}{int}\ comps\_objlist\_index(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *objlist,\ \mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}\ *obj);}
\DoxyCodeLine{00181\ }
\DoxyCodeLine{00192\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}*\ \mbox{\hyperlink{comps__objlist_8h_a6db6778587651113e0dfe9fb4cacc9f5}{comps\_objlist\_sublist\_it}}(\mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *startit,}
\DoxyCodeLine{00193\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \mbox{\hyperlink{structCOMPS__ObjListIt}{COMPS\_ObjListIt}}\ *end);}
\DoxyCodeLine{00194\ }
\DoxyCodeLine{00203\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}*\ \mbox{\hyperlink{comps__objlist_8h_a3c461c8aa9402ea5721729c03e9b336e}{comps\_objlist\_filter}}(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *list,}
\DoxyCodeLine{00204\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \textcolor{keywordtype}{char}\ (*filter\_func)(\mbox{\hyperlink{structCOMPS__Object}{COMPS\_Object}}*));}
\DoxyCodeLine{00205\ }
\DoxyCodeLine{00206\ \textcolor{keywordtype}{void}\ comps\_objlist\_concat\_in(\mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *list1,\ \mbox{\hyperlink{structCOMPS__ObjList}{COMPS\_ObjList}}\ *list2);}
\DoxyCodeLine{00207\ }
\DoxyCodeLine{00208\ \textcolor{comment}{//extern\ COMPS\_ObjectInfo\ COMPS\_ObjList\_ObjInfo;}}
\DoxyCodeLine{00209\ }
\DoxyCodeLine{00210\ \textcolor{preprocessor}{\#endif}}

\end{DoxyCode}
