Sophie

Sophie

distrib > Mandriva > current > x86_64 > by-pkgid > 3736f276bb1ccfbcee6cb2d27b25d981 > files > 626

openscap-devel-0.5.7-1mdv2010.1.x86_64.rpm

\hypertarget{group__cpelang}{
\section{CPE Language}
\label{group__cpelang}\index{CPE Language@{CPE Language}}
}


See more details at \href{http://nvd.nist.gov/cpe.cfm.}{\tt http://nvd.nist.gov/cpe.cfm.}  
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr}
\begin{DoxyCompactList}\small\item\em CPE language boolean expression. \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model}
\begin{DoxyCompactList}\small\item\em CPE platform specification. \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__platform}{cpe\_\-platform}
\begin{DoxyCompactList}\small\item\em Single platform representation in CPE language. \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__platform__iterator}{cpe\_\-platform\_\-iterator}
\begin{DoxyCompactList}\small\item\em Iterator over CPE dictionary items. \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__testexpr__iterator}{cpe\_\-testexpr\_\-iterator}
\begin{DoxyCompactList}\small\item\em Iterator over CPE language expressions. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Modules}
\begin{DoxyCompactItemize}
\item 
\hyperlink{group__CPELangPrivate}{Private members}
\end{DoxyCompactItemize}
\subsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \hyperlink{cpelang__priv_8h}{cpelang\_\-priv.h}


\begin{DoxyCompactList}\small\item\em Interface to Common Platform Enumeration (CPE) Language. \item\end{DoxyCompactList}\item 
file \hyperlink{cpelang_8h}{cpelang.h}


\begin{DoxyCompactList}\small\item\em Interface to Common Platform Enumeration (CPE) Language. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__cpelang_gacbb2c8c91d3bb516182bb64c6d8f7d82}{cpe\_\-lang\_\-oper\_\-t} \{ \par
\hyperlink{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9}{CPE\_\-LANG\_\-OPER\_\-INVALID} =  0x00, 
\hyperlink{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac}{CPE\_\-LANG\_\-OPER\_\-AND} =  0x01, 
\hyperlink{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c}{CPE\_\-LANG\_\-OPER\_\-OR} =  0x02, 
\hyperlink{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d}{CPE\_\-LANG\_\-OPER\_\-MATCH} =  0x04, 
\par
\hyperlink{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa}{CPE\_\-LANG\_\-OPER\_\-MASK} =  0xFF, 
\hyperlink{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f}{CPE\_\-LANG\_\-OPER\_\-NOT} =  0x100, 
{\bfseries CPE\_\-LANG\_\-OPER\_\-NAND} =  CPE\_\-LANG\_\-OPER\_\-AND $|$ CPE\_\-LANG\_\-OPER\_\-NOT, 
{\bfseries CPE\_\-LANG\_\-OPER\_\-NOR} =  CPE\_\-LANG\_\-OPER\_\-OR $|$ CPE\_\-LANG\_\-OPER\_\-NOT
 \}
\begin{DoxyCompactList}\small\item\em CPE language operators. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Get functions}
\label{_amgrpc2ac1eb4de8ec5add5567cbae2f237e5}
Functions for getting attributes from CVE model structures.

Return value is pointer to structure's member. Do not free unless you null the pointer in the structure. Use remove function otherwise. \begin{DoxyCompactItemize}
\item 
\hypertarget{group__cpelang_ga310cec52c2b21a717df860d162840baa}{
struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$ {\bfseries cpe\_\-lang\_\-model\_\-get\_\-item} (const struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$item, const char $\ast$key)}
\label{group__cpelang_ga310cec52c2b21a717df860d162840baa}

\item 
\hypertarget{group__cpelang_ga4016df3687404f37811b7f94c31e26a4}{
\hyperlink{group__cpelang_gacbb2c8c91d3bb516182bb64c6d8f7d82}{cpe\_\-lang\_\-oper\_\-t} \hyperlink{group__cpelang_ga4016df3687404f37811b7f94c31e26a4}{cpe\_\-testexpr::cpe\_\-testexpr\_\-get\_\-oper} (const struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$item)}
\label{group__cpelang_ga4016df3687404f37811b7f94c31e26a4}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} functions to get variable members \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__testexpr__iterator}{cpe\_\-testexpr\_\-iterator} $\ast$ \hyperlink{group__cpelang_ga2b7e68ad301e0c45227c7fc9071be2cd}{cpe\_\-testexpr::cpe\_\-testexpr\_\-get\_\-meta\_\-expr} (const struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$item)
\begin{DoxyCompactList}\small\item\em Get CPE expression subexpression. \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__name}{cpe\_\-name} $\ast$ \hyperlink{group__cpelang_ga8b24fb99f23926f558662d6808bcb534}{cpe\_\-testexpr::cpe\_\-testexpr\_\-get\_\-meta\_\-cpe} (const struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$item)
\begin{DoxyCompactList}\small\item\em Get CPE name to match against. \item\end{DoxyCompactList}\item 
struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$ \hyperlink{group__cpelang_gab229fbb8fa2c2c0de0714ce2c9c9bc53}{cpe\_\-testexpr::cpe\_\-testexpr\_\-get\_\-next} (const struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$expr)
\begin{DoxyCompactList}\small\item\em Function to get next expr from array. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga8c3446147158e606b9d02ccd33020d8a}{
const char $\ast$ \hyperlink{group__cpelang_ga8c3446147158e606b9d02ccd33020d8a}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-get\_\-ns\_\-prefix} (const struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$item)}
\label{group__cpelang_ga8c3446147158e606b9d02ccd33020d8a}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} function to get namespace prefix \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_gaa5e9009c4b979291e110552c8e8a31b1}{
struct \hyperlink{structcpe__platform__iterator}{cpe\_\-platform\_\-iterator} $\ast$ \hyperlink{group__cpelang_gaa5e9009c4b979291e110552c8e8a31b1}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-get\_\-platforms} (const struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$item)}
\label{group__cpelang_gaa5e9009c4b979291e110552c8e8a31b1}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} function to get CPE platforms \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga90b91aecc0f9f8255a32b1fe00de1234}{
struct \hyperlink{structxml__metadata__iterator}{xml\_\-metadata\_\-iterator} $\ast$ \hyperlink{group__cpelang_ga90b91aecc0f9f8255a32b1fe00de1234}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-get\_\-xmlns} (const struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$item)}
\label{group__cpelang_ga90b91aecc0f9f8255a32b1fe00de1234}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} function to get xmlns attribute \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga8b9494431d8599fe802361433231436d}{
const char $\ast$ \hyperlink{group__cpelang_ga8b9494431d8599fe802361433231436d}{cpe\_\-platform::cpe\_\-platform\_\-get\_\-id} (const struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$item)}
\label{group__cpelang_ga8b9494431d8599fe802361433231436d}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__platform}{cpe\_\-platform} functions to get id \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga11161328967d030f8d71608b27415676}{
const char $\ast$ \hyperlink{group__cpelang_ga11161328967d030f8d71608b27415676}{cpe\_\-platform::cpe\_\-platform\_\-get\_\-remark} (const struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$item)}
\label{group__cpelang_ga11161328967d030f8d71608b27415676}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__platform}{cpe\_\-platform} functions to get remark \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_gab6a97be125225b1d698e7e6f9c0001f1}{
struct \hyperlink{structoscap__title__iterator}{oscap\_\-title\_\-iterator} $\ast$ \hyperlink{group__cpelang_gab6a97be125225b1d698e7e6f9c0001f1}{cpe\_\-platform::cpe\_\-platform\_\-get\_\-titles} (const struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$item)}
\label{group__cpelang_gab6a97be125225b1d698e7e6f9c0001f1}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__platform}{cpe\_\-platform} functions to get titles \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga66c92792dad71233eaca532a143aefac}{
struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$ \hyperlink{group__cpelang_ga66c92792dad71233eaca532a143aefac}{cpe\_\-platform::cpe\_\-platform\_\-get\_\-expr} (const struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$item)}
\label{group__cpelang_ga66c92792dad71233eaca532a143aefac}

\begin{DoxyCompactList}\small\item\em \hyperlink{structcpe__platform}{cpe\_\-platform} functions to get test expression \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Iterator functions}
\label{_amgrp5668530844eac97b0daa3354806c1edf}
Functions to iterate throught lists. \begin{DoxyCompactItemize}
\item 
struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$ \hyperlink{group__cpelang_gad18be4cfe7be42e8869a3e0e7202532f}{cpe\_\-platform\_\-iterator::cpe\_\-platform\_\-iterator\_\-next} (struct \hyperlink{structcpe__platform__iterator}{cpe\_\-platform\_\-iterator} $\ast$it)
\item 
bool \hyperlink{group__cpelang_gafe87b5c9308ad0cf4f2e55a73b008b91}{cpe\_\-platform\_\-iterator::cpe\_\-platform\_\-iterator\_\-has\_\-more} (struct \hyperlink{structcpe__platform__iterator}{cpe\_\-platform\_\-iterator} $\ast$it)
\item 
void \hyperlink{group__cpelang_gafbcede38295c3ae9cc4c2e568ce3ea26}{cpe\_\-platform\_\-iterator::cpe\_\-platform\_\-iterator\_\-free} (struct \hyperlink{structcpe__platform__iterator}{cpe\_\-platform\_\-iterator} $\ast$it)
\item 
struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$ \hyperlink{group__cpelang_gadba17c675fef806a7a97bb9976bbfa6c}{cpe\_\-testexpr\_\-iterator::cpe\_\-testexpr\_\-iterator\_\-next} (struct \hyperlink{structcpe__testexpr__iterator}{cpe\_\-testexpr\_\-iterator} $\ast$it)
\item 
bool \hyperlink{group__cpelang_ga43c36e2b99f7362081eb2f7a2130cc6f}{cpe\_\-testexpr\_\-iterator::cpe\_\-testexpr\_\-iterator\_\-has\_\-more} (struct \hyperlink{structcpe__testexpr__iterator}{cpe\_\-testexpr\_\-iterator} $\ast$it)
\item 
void \hyperlink{group__cpelang_ga7578274b57a93aebd0f462c779ec20be}{cpe\_\-testexpr\_\-iterator::cpe\_\-testexpr\_\-iterator\_\-free} (struct \hyperlink{structcpe__testexpr__iterator}{cpe\_\-testexpr\_\-iterator} $\ast$it)
\end{DoxyCompactItemize}
\subsection*{Add functions}
\label{_amgrpaabced06c8a2e8c15954ce4b1e334884}
Get XML namespace from CPE lang model

Functions to add member to list. Return value is true if added succesfuly or false in case of error. \begin{DoxyCompactItemize}
\item 
\hypertarget{group__cpelang_ga563eeb9702f9c93df5a25998e9a39600}{
bool \hyperlink{group__cpelang_ga563eeb9702f9c93df5a25998e9a39600}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-add\_\-platform} (struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$lang, struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform)}
\label{group__cpelang_ga563eeb9702f9c93df5a25998e9a39600}

\begin{DoxyCompactList}\small\item\em Add platform to CPE lang model. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_gab31bfb6288d13667166acab4947db1ff}{
bool \hyperlink{group__cpelang_gab31bfb6288d13667166acab4947db1ff}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-add\_\-xml} (struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$lang, struct \hyperlink{structxml__metadata}{xml\_\-metadata} $\ast$xml)}
\label{group__cpelang_gab31bfb6288d13667166acab4947db1ff}

\begin{DoxyCompactList}\small\item\em Add xml metadata to CPE lang model. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga64da424f8bd783da762bee8b766e247d}{
bool \hyperlink{group__cpelang_ga64da424f8bd783da762bee8b766e247d}{cpe\_\-platform::cpe\_\-platform\_\-add\_\-title} (struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform, struct \hyperlink{structoscap__title}{oscap\_\-title} $\ast$title)}
\label{group__cpelang_ga64da424f8bd783da762bee8b766e247d}

\begin{DoxyCompactList}\small\item\em Add title to platform. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__cpelang_ga0f9cb4770990700bb2828faf397addb3}{cpe\_\-testexpr::cpe\_\-testexpr\_\-add\_\-subexpression} (struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$expr, struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$sub)
\begin{DoxyCompactList}\small\item\em Add XML namespace to CPE lang model. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Remove functions}
\label{_amgrp40428a142bd2c0b6ea1306c0905502ce}
Functions to remove list memebers that the given iterator is pointing to. \begin{DoxyCompactItemize}
\item 
void \hyperlink{group__cpelang_gaf7011b78669b32e52036b3923878e831}{cpe\_\-platform\_\-iterator::cpe\_\-platform\_\-iterator\_\-remove} (struct \hyperlink{structcpe__platform__iterator}{cpe\_\-platform\_\-iterator} $\ast$it, struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$parent)
\end{DoxyCompactItemize}
\subsection*{New functions}
\label{_amgrp73a4128f20867fa23ebb2e75e58922df}
Constructors of CVE model structures.

Free function returns new empty allocated structure. If returns non NULL it need to be freed by the caller. \begin{DoxyCompactItemize}
\item 
\hypertarget{group__cpelang_gab38c9e5fb94f6cbb806cb02d4d24bf51}{
struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$ \hyperlink{group__cpelang_gab38c9e5fb94f6cbb806cb02d4d24bf51}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-new} (void)}
\label{group__cpelang_gab38c9e5fb94f6cbb806cb02d4d24bf51}

\begin{DoxyCompactList}\small\item\em Constructor of CPE Language model. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga6de4dc9c0d8171bcb666da7bbae44984}{
struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$ \hyperlink{group__cpelang_ga6de4dc9c0d8171bcb666da7bbae44984}{cpe\_\-testexpr::cpe\_\-testexpr\_\-new} (void)}
\label{group__cpelang_ga6de4dc9c0d8171bcb666da7bbae44984}

\begin{DoxyCompactList}\small\item\em Constructor of CPE test expression. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_gad83641ba4fb292a923b7ff5753b4070d}{
struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$ \hyperlink{group__cpelang_gad83641ba4fb292a923b7ff5753b4070d}{cpe\_\-platform::cpe\_\-platform\_\-new} (void)}
\label{group__cpelang_gad83641ba4fb292a923b7ff5753b4070d}

\begin{DoxyCompactList}\small\item\em Constructor of CPE Platform. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Set functions}
\label{_amgrp8b7ecf2f4bd25da1aae981677901d55d}
Set functions assign values to members of structures except lists.

For lists use add functions. Parameters of set functions are duplicated in memory and need to be freed by caller. \begin{DoxyCompactItemize}
\item 
\hypertarget{group__cpelang_ga24d19a5cfb7d414053f8a5e99a4e6b5a}{
bool \hyperlink{group__cpelang_ga24d19a5cfb7d414053f8a5e99a4e6b5a}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-set\_\-ns\_\-prefix} (struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$model, const char $\ast$new\_\-prefix)}
\label{group__cpelang_ga24d19a5cfb7d414053f8a5e99a4e6b5a}

\begin{DoxyCompactList}\small\item\em Set ns\_\-prefix to CPE lang model. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_gad59b55938ebbe388218016cb67fbac50}{
bool \hyperlink{group__cpelang_gad59b55938ebbe388218016cb67fbac50}{cpe\_\-platform::cpe\_\-platform\_\-set\_\-id} (struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform, const char $\ast$new\_\-id)}
\label{group__cpelang_gad59b55938ebbe388218016cb67fbac50}

\begin{DoxyCompactList}\small\item\em Set ID of CPE platform. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga301685568659041bd2a47c958800ddbc}{
bool \hyperlink{group__cpelang_ga301685568659041bd2a47c958800ddbc}{cpe\_\-platform::cpe\_\-platform\_\-set\_\-remark} (struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform, const char $\ast$new\_\-remark)}
\label{group__cpelang_ga301685568659041bd2a47c958800ddbc}

\begin{DoxyCompactList}\small\item\em Set remark of CPE platform. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__cpelang_gaa9bc76ff30e7f9faa4def792404c1a62}{cpe\_\-platform::cpe\_\-platform\_\-set\_\-expr} (struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform, struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$expr)
\begin{DoxyCompactList}\small\item\em Set evaluation expression for this CPE platform. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__cpelang_gaf5cbbabfe39b2bbd5eebd180d0b3eb68}{cpe\_\-testexpr::cpe\_\-testexpr\_\-set\_\-oper} (struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$expr, \hyperlink{group__cpelang_gacbb2c8c91d3bb516182bb64c6d8f7d82}{cpe\_\-lang\_\-oper\_\-t} oper)
\begin{DoxyCompactList}\small\item\em Set CPE operation. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__cpelang_gaa95723258aff68c121c25c825852d5c3}{cpe\_\-testexpr::cpe\_\-testexpr\_\-set\_\-name} (struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$expr, struct \hyperlink{structcpe__name}{cpe\_\-name} $\ast$name)
\begin{DoxyCompactList}\small\item\em Set CPE name. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Free functions}
\label{_amgrp237dd65bc76b7de56066830910ced6ed}
Destructors of CVE model structures.

Functions free structures with all members recursively. For simple deletion of entity use remove functions. \begin{DoxyCompactItemize}
\item 
\hypertarget{group__cpelang_gac6135bb7df1b4c083e97dcb67f7bfccd}{
void \hyperlink{group__cpelang_gac6135bb7df1b4c083e97dcb67f7bfccd}{cpe\_\-testexpr::cpe\_\-testexpr\_\-free} (struct \hyperlink{structcpe__testexpr}{cpe\_\-testexpr} $\ast$expr)}
\label{group__cpelang_gac6135bb7df1b4c083e97dcb67f7bfccd}

\begin{DoxyCompactList}\small\item\em Free function of CPE test expression. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga6a4e8a7210b76078bb6ac8bc9f3be0a7}{
void \hyperlink{group__cpelang_ga6a4e8a7210b76078bb6ac8bc9f3be0a7}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-free} (struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$platformspec)}
\label{group__cpelang_ga6a4e8a7210b76078bb6ac8bc9f3be0a7}

\begin{DoxyCompactList}\small\item\em Free function of CPE test expression. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga1bcb12e96db31e6b57be749fd5ba3b3e}{
void \hyperlink{group__cpelang_ga1bcb12e96db31e6b57be749fd5ba3b3e}{cpe\_\-platform::cpe\_\-platform\_\-free} (struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform)}
\label{group__cpelang_ga1bcb12e96db31e6b57be749fd5ba3b3e}

\begin{DoxyCompactList}\small\item\em Free function of CPE Platform. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Other functions}
\label{_amgrpb175402ebe89f00c62233c5453c5a243}
 \begin{DoxyCompactItemize}
\item 
const char $\ast$ \hyperlink{group__cpelang_gabf469c1ab5798bb321e6c89ffb4b6e9d}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-supported} (void)
\begin{DoxyCompactList}\small\item\em Get supported version of CPE language XML. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__cpelang_ga087bb45387925a51ae6be052320327c2}{cpe\_\-lang\_\-model::cpe\_\-platform\_\-match\_\-cpe} (struct \hyperlink{structcpe__name}{cpe\_\-name} $\ast$$\ast$cpe, size\_\-t n, const struct \hyperlink{structcpe__platform}{cpe\_\-platform} $\ast$platform)
\begin{DoxyCompactList}\small\item\em Function to match cpe in platform. \item\end{DoxyCompactList}\item 
\hypertarget{group__cpelang_ga092a153b42c0b5565a2c22eebf79874d}{
struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$ \hyperlink{group__cpelang_ga092a153b42c0b5565a2c22eebf79874d}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-import} (const struct \hyperlink{structoscap__import__source}{oscap\_\-import\_\-source} $\ast$source)}
\label{group__cpelang_ga092a153b42c0b5565a2c22eebf79874d}

\begin{DoxyCompactList}\small\item\em Load CPE language model from a XML document. \item\end{DoxyCompactList}\item 
void \hyperlink{group__cpelang_gade703f4a7cf45cefa351f975a5fed5da}{cpe\_\-lang\_\-model::cpe\_\-lang\_\-model\_\-export} (const struct \hyperlink{structcpe__lang__model}{cpe\_\-lang\_\-model} $\ast$spec, struct \hyperlink{structoscap__export__target}{oscap\_\-export\_\-target} $\ast$target)
\begin{DoxyCompactList}\small\item\em Write the lang\_\-model to a file. \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
See more details at \href{http://nvd.nist.gov/cpe.cfm.}{\tt http://nvd.nist.gov/cpe.cfm.} Class diagram  

\subsection{Enumeration Type Documentation}
\hypertarget{group__cpelang_gacbb2c8c91d3bb516182bb64c6d8f7d82}{
\index{cpelang@{cpelang}!cpe\_\-lang\_\-oper\_\-t@{cpe\_\-lang\_\-oper\_\-t}}
\index{cpe\_\-lang\_\-oper\_\-t@{cpe\_\-lang\_\-oper\_\-t}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-lang\_\-oper\_\-t}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf cpe\_\-lang\_\-oper\_\-t}}}
\label{group__cpelang_gacbb2c8c91d3bb516182bb64c6d8f7d82}


CPE language operators. \begin{Desc}
\item[Enumerator: ]\par
\begin{description}
\index{CPE\_\-LANG\_\-OPER\_\-INVALID@{CPE\_\-LANG\_\-OPER\_\-INVALID}!cpelang@{cpelang}}\index{cpelang@{cpelang}!CPE\_\-LANG\_\-OPER\_\-INVALID@{CPE\_\-LANG\_\-OPER\_\-INVALID}}\item[{\em 
\hypertarget{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9}{
CPE\_\-LANG\_\-OPER\_\-INVALID}
\label{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82aff8e856890304becc49a2d20226384c9}
}]invalid or unknown operation \index{CPE\_\-LANG\_\-OPER\_\-AND@{CPE\_\-LANG\_\-OPER\_\-AND}!cpelang@{cpelang}}\index{cpelang@{cpelang}!CPE\_\-LANG\_\-OPER\_\-AND@{CPE\_\-LANG\_\-OPER\_\-AND}}\item[{\em 
\hypertarget{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac}{
CPE\_\-LANG\_\-OPER\_\-AND}
\label{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a5f771b20c70ee0e33634122b911a7aac}
}]logical AND \index{CPE\_\-LANG\_\-OPER\_\-OR@{CPE\_\-LANG\_\-OPER\_\-OR}!cpelang@{cpelang}}\index{cpelang@{cpelang}!CPE\_\-LANG\_\-OPER\_\-OR@{CPE\_\-LANG\_\-OPER\_\-OR}}\item[{\em 
\hypertarget{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c}{
CPE\_\-LANG\_\-OPER\_\-OR}
\label{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a9dd5489d930d04d6abf1764da5e45a5c}
}]logical OR \index{CPE\_\-LANG\_\-OPER\_\-MATCH@{CPE\_\-LANG\_\-OPER\_\-MATCH}!cpelang@{cpelang}}\index{cpelang@{cpelang}!CPE\_\-LANG\_\-OPER\_\-MATCH@{CPE\_\-LANG\_\-OPER\_\-MATCH}}\item[{\em 
\hypertarget{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d}{
CPE\_\-LANG\_\-OPER\_\-MATCH}
\label{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a6780963744226db651cbceb998302a6d}
}]match against specified CPE \index{CPE\_\-LANG\_\-OPER\_\-MASK@{CPE\_\-LANG\_\-OPER\_\-MASK}!cpelang@{cpelang}}\index{cpelang@{cpelang}!CPE\_\-LANG\_\-OPER\_\-MASK@{CPE\_\-LANG\_\-OPER\_\-MASK}}\item[{\em 
\hypertarget{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa}{
CPE\_\-LANG\_\-OPER\_\-MASK}
\label{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a40fe8d6616363046111b48e04aaf47fa}
}]mask to extract the operator w/o possible negation \index{CPE\_\-LANG\_\-OPER\_\-NOT@{CPE\_\-LANG\_\-OPER\_\-NOT}!cpelang@{cpelang}}\index{cpelang@{cpelang}!CPE\_\-LANG\_\-OPER\_\-NOT@{CPE\_\-LANG\_\-OPER\_\-NOT}}\item[{\em 
\hypertarget{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f}{
CPE\_\-LANG\_\-OPER\_\-NOT}
\label{group__cpelang_ggacbb2c8c91d3bb516182bb64c6d8f7d82a77cd2c7e835b07adc60002de1c041b4f}
}]negate \end{description}
\end{Desc}



\subsection{Function Documentation}
\hypertarget{group__cpelang_gade703f4a7cf45cefa351f975a5fed5da}{
\index{cpelang@{cpelang}!cpe\_\-lang\_\-model\_\-export@{cpe\_\-lang\_\-model\_\-export}}
\index{cpe\_\-lang\_\-model\_\-export@{cpe\_\-lang\_\-model\_\-export}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-lang\_\-model\_\-export}]{\setlength{\rightskip}{0pt plus 5cm}void cpe\_\-lang\_\-model\_\-export (const struct {\bf cpe\_\-lang\_\-model} $\ast$ {\em spec}, \/  struct {\bf oscap\_\-export\_\-target} $\ast$ {\em target})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gade703f4a7cf45cefa351f975a5fed5da}


Write the lang\_\-model to a file. 
\begin{DoxyParams}{Parameters}
\item[{\em spec}]CPE lang model \item[{\em target}]target structure with filename, endcoding and indent information \end{DoxyParams}
\hypertarget{group__cpelang_gabf469c1ab5798bb321e6c89ffb4b6e9d}{
\index{cpelang@{cpelang}!cpe\_\-lang\_\-model\_\-supported@{cpe\_\-lang\_\-model\_\-supported}}
\index{cpe\_\-lang\_\-model\_\-supported@{cpe\_\-lang\_\-model\_\-supported}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-lang\_\-model\_\-supported}]{\setlength{\rightskip}{0pt plus 5cm}const char $\ast$ cpe\_\-lang\_\-model\_\-supported (void)\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gabf469c1ab5798bb321e6c89ffb4b6e9d}


Get supported version of CPE language XML. \begin{DoxyReturn}{Returns}
version of XML file format 
\end{DoxyReturn}
\hypertarget{group__cpelang_gafbcede38295c3ae9cc4c2e568ce3ea26}{
\index{cpelang@{cpelang}!cpe\_\-platform\_\-iterator\_\-free@{cpe\_\-platform\_\-iterator\_\-free}}
\index{cpe\_\-platform\_\-iterator\_\-free@{cpe\_\-platform\_\-iterator\_\-free}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-platform\_\-iterator\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void cpe\_\-platform\_\-iterator\_\-free (struct {\bf cpe\_\-platform\_\-iterator} $\ast$ {\em it})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gafbcede38295c3ae9cc4c2e568ce3ea26}
\hypertarget{group__cpelang_gafe87b5c9308ad0cf4f2e55a73b008b91}{
\index{cpelang@{cpelang}!cpe\_\-platform\_\-iterator\_\-has\_\-more@{cpe\_\-platform\_\-iterator\_\-has\_\-more}}
\index{cpe\_\-platform\_\-iterator\_\-has\_\-more@{cpe\_\-platform\_\-iterator\_\-has\_\-more}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-platform\_\-iterator\_\-has\_\-more}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-platform\_\-iterator\_\-has\_\-more (struct {\bf cpe\_\-platform\_\-iterator} $\ast$ {\em it})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gafe87b5c9308ad0cf4f2e55a73b008b91}
\hypertarget{group__cpelang_gad18be4cfe7be42e8869a3e0e7202532f}{
\index{cpelang@{cpelang}!cpe\_\-platform\_\-iterator\_\-next@{cpe\_\-platform\_\-iterator\_\-next}}
\index{cpe\_\-platform\_\-iterator\_\-next@{cpe\_\-platform\_\-iterator\_\-next}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-platform\_\-iterator\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf cpe\_\-platform} $\ast$ cpe\_\-platform\_\-iterator\_\-next (struct {\bf cpe\_\-platform\_\-iterator} $\ast$ {\em it})\hspace{0.3cm}{\ttfamily  \mbox{[}read, inherited\mbox{]}}}}
\label{group__cpelang_gad18be4cfe7be42e8869a3e0e7202532f}
\hypertarget{group__cpelang_gaf7011b78669b32e52036b3923878e831}{
\index{cpelang@{cpelang}!cpe\_\-platform\_\-iterator\_\-remove@{cpe\_\-platform\_\-iterator\_\-remove}}
\index{cpe\_\-platform\_\-iterator\_\-remove@{cpe\_\-platform\_\-iterator\_\-remove}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-platform\_\-iterator\_\-remove}]{\setlength{\rightskip}{0pt plus 5cm}void cpe\_\-platform\_\-iterator\_\-remove (struct {\bf cpe\_\-platform\_\-iterator} $\ast$ {\em it}, \/  struct {\bf cpe\_\-lang\_\-model} $\ast$ {\em parent})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gaf7011b78669b32e52036b3923878e831}
\hypertarget{group__cpelang_ga087bb45387925a51ae6be052320327c2}{
\index{cpelang@{cpelang}!cpe\_\-platform\_\-match\_\-cpe@{cpe\_\-platform\_\-match\_\-cpe}}
\index{cpe\_\-platform\_\-match\_\-cpe@{cpe\_\-platform\_\-match\_\-cpe}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-platform\_\-match\_\-cpe}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-platform\_\-match\_\-cpe (struct {\bf cpe\_\-name} $\ast$$\ast$ {\em cpe}, \/  size\_\-t {\em n}, \/  const struct {\bf cpe\_\-platform} $\ast$ {\em platform})\hspace{0.3cm}{\ttfamily  \mbox{[}related, inherited\mbox{]}}}}
\label{group__cpelang_ga087bb45387925a51ae6be052320327c2}


Function to match cpe in platform. 
\begin{DoxyParams}{Parameters}
\item[{\em cpe}]to be matched with \item[{\em n}]size \item[{\em platform}]CPE platform \end{DoxyParams}
\hypertarget{group__cpelang_gaa9bc76ff30e7f9faa4def792404c1a62}{
\index{cpelang@{cpelang}!cpe\_\-platform\_\-set\_\-expr@{cpe\_\-platform\_\-set\_\-expr}}
\index{cpe\_\-platform\_\-set\_\-expr@{cpe\_\-platform\_\-set\_\-expr}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-platform\_\-set\_\-expr}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-platform\_\-set\_\-expr (struct {\bf cpe\_\-platform} $\ast$ {\em platform}, \/  struct {\bf cpe\_\-testexpr} $\ast$ {\em expr})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gaa9bc76ff30e7f9faa4def792404c1a62}


Set evaluation expression for this CPE platform. Expression has to be a logical-\/test (i.e. its operation shall be AND or OR, possibly with negation) \hypertarget{group__cpelang_ga0f9cb4770990700bb2828faf397addb3}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-add\_\-subexpression@{cpe\_\-testexpr\_\-add\_\-subexpression}}
\index{cpe\_\-testexpr\_\-add\_\-subexpression@{cpe\_\-testexpr\_\-add\_\-subexpression}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-add\_\-subexpression}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-testexpr\_\-add\_\-subexpression (struct {\bf cpe\_\-testexpr} $\ast$ {\em expr}, \/  struct {\bf cpe\_\-testexpr} $\ast$ {\em sub})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_ga0f9cb4770990700bb2828faf397addb3}


Add XML namespace to CPE lang model. Add an subexpression to a compound CPE language expression.

Expression has to be of type CPE\_\-LANG\_\-OPER\_\-AND or CPE\_\-LANG\_\-OPER\_\-OR, possibly with negation. \hypertarget{group__cpelang_ga8b24fb99f23926f558662d6808bcb534}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-get\_\-meta\_\-cpe@{cpe\_\-testexpr\_\-get\_\-meta\_\-cpe}}
\index{cpe\_\-testexpr\_\-get\_\-meta\_\-cpe@{cpe\_\-testexpr\_\-get\_\-meta\_\-cpe}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-get\_\-meta\_\-cpe}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf cpe\_\-name} $\ast$ cpe\_\-testexpr\_\-get\_\-meta\_\-cpe (const struct {\bf cpe\_\-testexpr} $\ast$ {\em item})\hspace{0.3cm}{\ttfamily  \mbox{[}read, inherited\mbox{]}}}}
\label{group__cpelang_ga8b24fb99f23926f558662d6808bcb534}


Get CPE name to match against. Only valid for CPE\_\-LANG\_\-OPER\_\-MATCH. \hypertarget{group__cpelang_ga2b7e68ad301e0c45227c7fc9071be2cd}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-get\_\-meta\_\-expr@{cpe\_\-testexpr\_\-get\_\-meta\_\-expr}}
\index{cpe\_\-testexpr\_\-get\_\-meta\_\-expr@{cpe\_\-testexpr\_\-get\_\-meta\_\-expr}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-get\_\-meta\_\-expr}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf cpe\_\-testexpr\_\-iterator} $\ast$ cpe\_\-testexpr\_\-get\_\-meta\_\-expr (const struct {\bf cpe\_\-testexpr} $\ast$ {\em item})\hspace{0.3cm}{\ttfamily  \mbox{[}read, inherited\mbox{]}}}}
\label{group__cpelang_ga2b7e68ad301e0c45227c7fc9071be2cd}


Get CPE expression subexpression. Not valid for CPE\_\-LANG\_\-OPER\_\-MATCH operation. \hypertarget{group__cpelang_gab229fbb8fa2c2c0de0714ce2c9c9bc53}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-get\_\-next@{cpe\_\-testexpr\_\-get\_\-next}}
\index{cpe\_\-testexpr\_\-get\_\-next@{cpe\_\-testexpr\_\-get\_\-next}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-get\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf cpe\_\-testexpr} $\ast$ cpe\_\-testexpr\_\-get\_\-next (const struct {\bf cpe\_\-testexpr} $\ast$ {\em expr})\hspace{0.3cm}{\ttfamily  \mbox{[}read, inherited\mbox{]}}}}
\label{group__cpelang_gab229fbb8fa2c2c0de0714ce2c9c9bc53}


Function to get next expr from array. 
\begin{DoxyParams}{Parameters}
\item[{\em expr}]CPE Test expression structure \end{DoxyParams}
\hypertarget{group__cpelang_ga7578274b57a93aebd0f462c779ec20be}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-iterator\_\-free@{cpe\_\-testexpr\_\-iterator\_\-free}}
\index{cpe\_\-testexpr\_\-iterator\_\-free@{cpe\_\-testexpr\_\-iterator\_\-free}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-iterator\_\-free}]{\setlength{\rightskip}{0pt plus 5cm}void cpe\_\-testexpr\_\-iterator\_\-free (struct {\bf cpe\_\-testexpr\_\-iterator} $\ast$ {\em it})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_ga7578274b57a93aebd0f462c779ec20be}
\hypertarget{group__cpelang_ga43c36e2b99f7362081eb2f7a2130cc6f}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-iterator\_\-has\_\-more@{cpe\_\-testexpr\_\-iterator\_\-has\_\-more}}
\index{cpe\_\-testexpr\_\-iterator\_\-has\_\-more@{cpe\_\-testexpr\_\-iterator\_\-has\_\-more}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-iterator\_\-has\_\-more}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-testexpr\_\-iterator\_\-has\_\-more (struct {\bf cpe\_\-testexpr\_\-iterator} $\ast$ {\em it})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_ga43c36e2b99f7362081eb2f7a2130cc6f}
\hypertarget{group__cpelang_gadba17c675fef806a7a97bb9976bbfa6c}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-iterator\_\-next@{cpe\_\-testexpr\_\-iterator\_\-next}}
\index{cpe\_\-testexpr\_\-iterator\_\-next@{cpe\_\-testexpr\_\-iterator\_\-next}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-iterator\_\-next}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf cpe\_\-testexpr} $\ast$ cpe\_\-testexpr\_\-iterator\_\-next (struct {\bf cpe\_\-testexpr\_\-iterator} $\ast$ {\em it})\hspace{0.3cm}{\ttfamily  \mbox{[}read, inherited\mbox{]}}}}
\label{group__cpelang_gadba17c675fef806a7a97bb9976bbfa6c}
\hypertarget{group__cpelang_gaa95723258aff68c121c25c825852d5c3}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-set\_\-name@{cpe\_\-testexpr\_\-set\_\-name}}
\index{cpe\_\-testexpr\_\-set\_\-name@{cpe\_\-testexpr\_\-set\_\-name}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-set\_\-name}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-testexpr\_\-set\_\-name (struct {\bf cpe\_\-testexpr} $\ast$ {\em expr}, \/  struct {\bf cpe\_\-name} $\ast$ {\em name})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gaa95723258aff68c121c25c825852d5c3}


Set CPE name. If the expression does not have type CPE\_\-LANG\_\-OPER\_\-MATCH, this function has no effect and returns false. \hypertarget{group__cpelang_gaf5cbbabfe39b2bbd5eebd180d0b3eb68}{
\index{cpelang@{cpelang}!cpe\_\-testexpr\_\-set\_\-oper@{cpe\_\-testexpr\_\-set\_\-oper}}
\index{cpe\_\-testexpr\_\-set\_\-oper@{cpe\_\-testexpr\_\-set\_\-oper}!cpelang@{cpelang}}
\subsubsection[{cpe\_\-testexpr\_\-set\_\-oper}]{\setlength{\rightskip}{0pt plus 5cm}bool cpe\_\-testexpr\_\-set\_\-oper (struct {\bf cpe\_\-testexpr} $\ast$ {\em expr}, \/  {\bf cpe\_\-lang\_\-oper\_\-t} {\em oper})\hspace{0.3cm}{\ttfamily  \mbox{[}inherited\mbox{]}}}}
\label{group__cpelang_gaf5cbbabfe39b2bbd5eebd180d0b3eb68}


Set CPE operation. Any subexpressions and CPE names associated with this expression will be removed.