Sophie

Sophie

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

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

\hypertarget{structoval__component}{
\section{oval\_\-component Struct Reference}
\label{structoval__component}\index{oval\_\-component@{oval\_\-component}}
}


OVAL variable component Oval\_\-component instances specify evaluation constraints on local variables (see oval\_\-variable\_\-get\_\-type).  


{\ttfamily \#include $<$oval\_\-definitions.h$>$}\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structoval__component}{oval\_\-component} $\ast$ \hyperlink{group__OVALDEF_gaa96aefc959878666fcae52b5fa8e55a6}{oval\_\-component\_\-new} (struct \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model} $\ast$, \hyperlink{group__OVALDEF_gab6ed49a929aed7027c01b143ced8ba2d}{oval\_\-component\_\-type\_\-t} type)
\begin{DoxyCompactList}\small\item\em Construct new intance of Oval\_\-component. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_gaf0b49cf939284308b61954c83db94971}{
struct \hyperlink{structoval__component}{oval\_\-component} $\ast$ \hyperlink{group__OVALDEF_gaf0b49cf939284308b61954c83db94971}{oval\_\-component\_\-clone} (struct \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model} $\ast$new\_\-model, struct \hyperlink{structoval__component}{oval\_\-component} $\ast$old\_\-component)}
\label{group__OVALDEF_gaf0b49cf939284308b61954c83db94971}

\begin{DoxyCompactList}\small\item\em Clone instance of Oval\_\-component. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_ga828edd910a6e940f6d3832c3a2ba69da}{
void \hyperlink{group__OVALDEF_ga828edd910a6e940f6d3832c3a2ba69da}{oval\_\-component\_\-free} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)}
\label{group__OVALDEF_ga828edd910a6e940f6d3832c3a2ba69da}

\begin{DoxyCompactList}\small\item\em Free instance of Oval\_\-component. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{Indent}{\bf Setters}\par
{\em \label{_amgrp6e47466b75bb957a603aa54c079ac8bf}
 }\begin{DoxyCompactItemize}
\item 
\hypertarget{group__OVALDEF_gaf67af5d96085df7991854edeb04463b5}{
void \hyperlink{group__OVALDEF_gaf67af5d96085df7991854edeb04463b5}{oval\_\-component\_\-set\_\-type} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$component, \hyperlink{group__OVALDEF_gab6ed49a929aed7027c01b143ced8ba2d}{oval\_\-component\_\-type\_\-t} type)}
\label{group__OVALDEF_gaf67af5d96085df7991854edeb04463b5}

\begin{DoxyCompactList}\small\item\em Set type of component Oval\_\-component-\/$>$type. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga616450ba90f74f9d3625ad5677c19f3f}{oval\_\-component\_\-set\_\-object} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, struct \hyperlink{structoval__object}{oval\_\-object} $\ast$object)
\begin{DoxyCompactList}\small\item\em set attribute Oval\_\-component\_\-object-\/$>$object. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_gadceadc82edf7cd6729482df5d8b20352}{oval\_\-component\_\-set\_\-object\_\-field} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, char $\ast$field)
\begin{DoxyCompactList}\small\item\em set attribute Oval\_\-component\_\-object-\/$>$object\_\-field. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga01c134ccc83dabf51c3f5f13adc254fd}{oval\_\-component\_\-set\_\-variable} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$variable)
\begin{DoxyCompactList}\small\item\em set attribute Oval\_\-component\_\-object-\/$>$variable. \item\end{DoxyCompactList}\item 
void \hyperlink{group__OVALDEF_ga9779998c267be7fd628ee44f6be12403}{oval\_\-component\_\-add\_\-function\_\-component} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em set attribute Oval\_\-component\_\-object-\/$>$object\_\-field. \item\end{DoxyCompactList}\item 
\hypertarget{group__OVALDEF_gac0fa4d930d0f4aa58f47b817981cf8a4}{
void {\bfseries oval\_\-component\_\-set\_\-arithmetic\_\-operation} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, \hyperlink{group__OVALDEF_gadca2ff0881da30f974d92a549dc76c4c}{oval\_\-arithmetic\_\-operation\_\-t})}
\label{group__OVALDEF_gac0fa4d930d0f4aa58f47b817981cf8a4}

\item 
\hypertarget{group__OVALDEF_ga622425949a0c57794f1eb340746b041d}{
void {\bfseries oval\_\-component\_\-set\_\-prefix} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, char $\ast$)}
\label{group__OVALDEF_ga622425949a0c57794f1eb340746b041d}

\item 
\hypertarget{group__OVALDEF_gabe96e05c2af580da13019f61b4d2437a}{
void {\bfseries oval\_\-component\_\-set\_\-suffix} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, char $\ast$)}
\label{group__OVALDEF_gabe96e05c2af580da13019f61b4d2437a}

\item 
\hypertarget{group__OVALDEF_gaf7c8a9ef0119ea4de2ea9d914fc62e12}{
void {\bfseries oval\_\-component\_\-set\_\-split\_\-delimiter} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, char $\ast$)}
\label{group__OVALDEF_gaf7c8a9ef0119ea4de2ea9d914fc62e12}

\item 
\hypertarget{group__OVALDEF_ga8096e3718d2c9c5e44fa045bba92b8cd}{
void {\bfseries oval\_\-component\_\-set\_\-substring\_\-start} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, int)}
\label{group__OVALDEF_ga8096e3718d2c9c5e44fa045bba92b8cd}

\item 
\hypertarget{group__OVALDEF_ga42ad82b6c60fd8e618f2d08df331425d}{
void {\bfseries oval\_\-component\_\-set\_\-substring\_\-length} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, int)}
\label{group__OVALDEF_ga42ad82b6c60fd8e618f2d08df331425d}

\item 
\hypertarget{group__OVALDEF_ga1d0d9dfc579682af8265c620a205b718}{
void {\bfseries oval\_\-component\_\-set\_\-timedif\_\-format\_\-1} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, \hyperlink{group__OVALDEF_gaea41231bb5ff1482100866e5a0c5f7f7}{oval\_\-datetime\_\-format\_\-t})}
\label{group__OVALDEF_ga1d0d9dfc579682af8265c620a205b718}

\item 
\hypertarget{group__OVALDEF_gad7505a4f526116ca0e8b8027ab4880ed}{
void {\bfseries oval\_\-component\_\-set\_\-timedif\_\-format\_\-2} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, \hyperlink{group__OVALDEF_gaea41231bb5ff1482100866e5a0c5f7f7}{oval\_\-datetime\_\-format\_\-t})}
\label{group__OVALDEF_gad7505a4f526116ca0e8b8027ab4880ed}

\item 
\hypertarget{group__OVALDEF_ga955452823f0322eb9fa3f24e7374ede0}{
void {\bfseries oval\_\-component\_\-set\_\-regex\_\-pattern} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, char $\ast$)}
\label{group__OVALDEF_ga955452823f0322eb9fa3f24e7374ede0}

\item 
\hypertarget{group__OVALDEF_gad7149cee28c74dc18a82b604728a370c}{
void {\bfseries oval\_\-component\_\-set\_\-literal\_\-value} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$, struct \hyperlink{structoval__value}{oval\_\-value} $\ast$)}
\label{group__OVALDEF_gad7149cee28c74dc18a82b604728a370c}

\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Getters}\par
{\em \label{_amgrpc9fd0bcb5385a65354c37f1bb504399d}
 }\begin{DoxyCompactItemize}
\item 
\hypertarget{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{
\hyperlink{group__OVALDEF_gab6ed49a929aed7027c01b143ced8ba2d}{oval\_\-component\_\-type\_\-t} \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)}
\label{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}

\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-component-\/$>$type. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__object}{oval\_\-object} $\ast$ \hyperlink{group__OVALDEF_ga94e7aa9c65ea008025fe9910dd0e5d65}{oval\_\-component\_\-get\_\-object} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-component\_\-object-\/$>$object. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__OVALDEF_ga09f7e8535a8d70b7ed3eff156b87503a}{oval\_\-component\_\-get\_\-object\_\-field} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-component\_\-object-\/$>$object\_\-field. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__variable}{oval\_\-variable} $\ast$ \hyperlink{group__OVALDEF_ga8fc4993e588d1a9fd961c3241ea3cc67}{oval\_\-component\_\-get\_\-variable} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-component\_\-variable-\/$>$variable. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__component__iterator}{oval\_\-component\_\-iterator} $\ast$ \hyperlink{group__OVALDEF_ga4a19b6533a293b7bfefbfe5c925f2516}{oval\_\-component\_\-get\_\-function\_\-components} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function-\/$>$components. \item\end{DoxyCompactList}\item 
\hyperlink{group__OVALDEF_gadca2ff0881da30f974d92a549dc76c4c}{oval\_\-arithmetic\_\-operation\_\-t} \hyperlink{group__OVALDEF_gaff496f0048251b388637fa56b1b112bb}{oval\_\-component\_\-get\_\-arithmetic\_\-operation} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-ARITHMETIC-\/$>$arithmetic\_\-operation. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__OVALDEF_gaa176e54037f1d6ead096af966fa1f4ee}{oval\_\-component\_\-get\_\-prefix} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-BEGIN-\/$>$prefix. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__OVALDEF_ga0931d436babb3e8bfa9ad3774bdbc46e}{oval\_\-component\_\-get\_\-suffix} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-END-\/$>$suffix. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__OVALDEF_gaf3dd22312275e9bb44633593777aceeb}{oval\_\-component\_\-get\_\-split\_\-delimiter} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-SPLIT-\/$>$delimiter. \item\end{DoxyCompactList}\item 
int \hyperlink{group__OVALDEF_gae29db7df204a6de04460d4d833dc0e06}{oval\_\-component\_\-get\_\-substring\_\-start} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-SUBSTRING-\/$>$start. \item\end{DoxyCompactList}\item 
int \hyperlink{group__OVALDEF_gabd9665d12c9395e71769d532b6d61499}{oval\_\-component\_\-get\_\-substring\_\-length} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-SUBSTRING-\/$>$length. \item\end{DoxyCompactList}\item 
\hyperlink{group__OVALDEF_gaea41231bb5ff1482100866e5a0c5f7f7}{oval\_\-datetime\_\-format\_\-t} \hyperlink{group__OVALDEF_gaed40687ef2d737c3a94eca3d2f034d41}{oval\_\-component\_\-get\_\-timedif\_\-format\_\-1} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-TIMEDIF-\/$>$timedif\_\-format\_\-1. \item\end{DoxyCompactList}\item 
\hyperlink{group__OVALDEF_gaea41231bb5ff1482100866e5a0c5f7f7}{oval\_\-datetime\_\-format\_\-t} \hyperlink{group__OVALDEF_ga7783a012f5f1d13abcdc271e65462d23}{oval\_\-component\_\-get\_\-timedif\_\-format\_\-2} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-TIMEDIF-\/$>$timedif\_\-format\_\-2. \item\end{DoxyCompactList}\item 
char $\ast$ \hyperlink{group__OVALDEF_ga46e56abea7bd752b9008b0273be9d79e}{oval\_\-component\_\-get\_\-regex\_\-pattern} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-function\_\-REGEX\_\-CAPTURE-\/$>$pattern. \item\end{DoxyCompactList}\item 
struct \hyperlink{structoval__value}{oval\_\-value} $\ast$ \hyperlink{group__OVALDEF_ga6ab610166643dd32305be91e9fd586b6}{oval\_\-component\_\-get\_\-literal\_\-value} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns attribute Oval\_\-literal-\/$>$literal. \item\end{DoxyCompactList}\item 
bool \hyperlink{group__OVALDEF_gadef5db901295a3016c5c22e850942541}{oval\_\-component\_\-is\_\-locked} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$component)
\begin{DoxyCompactList}\small\item\em return {\bfseries true} if the component instance is locked. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\begin{Indent}{\bf Evaluators}\par
{\em \label{_amgrp1fdbbbb8aba6580be2c9cb4b12e86ca2}
 }\begin{DoxyCompactItemize}
\item 
bool \hyperlink{group__OVALDEF_gacd23975b902a026714fcdcfdc5e321e3}{oval\_\-component\_\-is\_\-valid} (struct \hyperlink{structoval__component}{oval\_\-component} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns {\bfseries true} if the Oval\_\-component is valid. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\end{Indent}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hypertarget{structoval__component_a77692b8e0d4e264cb2f39e7f1156f001}{
struct \hyperlink{structoval__definition__model}{oval\_\-definition\_\-model} $\ast$ {\bfseries model}}
\label{structoval__component_a77692b8e0d4e264cb2f39e7f1156f001}

\item 
\hypertarget{structoval__component_a72dee183ca6bc0d630cbce2627e964be}{
\hyperlink{group__OVALDEF_gab6ed49a929aed7027c01b143ced8ba2d}{oval\_\-component\_\-type\_\-t} {\bfseries type}}
\label{structoval__component_a72dee183ca6bc0d630cbce2627e964be}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
OVAL variable component Oval\_\-component instances specify evaluation constraints on local variables (see oval\_\-variable\_\-get\_\-type). 
\begin{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-CONCAT -\/ Concatenation function
\begin{DoxyItemize}
\item Oval\_\-function\_\-CONCAT takes two or more components and sub-\/concatenates them together to form a single string. The first component makes up the begining of the resulting string and any following components are added to the end it. If one of the components returns multiple values then the concat function would be performed multiple times and the end result would be an array of values for the local variable. For example assume a local variable has two sub-\/components: a basic component element returns the values \char`\"{}abc\char`\"{} and \char`\"{}def\char`\"{}, and a literal component element that has a value of \char`\"{}xyz\char`\"{}. The local\_\-variable element would be evaluated to have two values, \char`\"{}abcxyz\char`\"{} and \char`\"{}defxyz\char`\"{}. If one of the components does not exist, then the result of the concat operation should be does not exist.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-ARITHMETIC -\/ Arithmetic function.
\begin{DoxyItemize}
\item The arithmetic function takes two or more integer or float components and performs a basic mathmetical function on them. The result of this function in a single integer or float unless one of the components returns multiple values. In this case the specified arithmetic function would be performed multiple times and the end result would be an array of values for the local variable. For example assume a local\_\-variable specifies the arithmetic function with an arithmetic\_\-operation of \char`\"{}add\char`\"{} and has two sub-\/components under this function: the first component returns multiple values \char`\"{}1\char`\"{} and \char`\"{}2\char`\"{}, and the second component returns multiple values \char`\"{}3\char`\"{} and \char`\"{}4\char`\"{} and \char`\"{}5\char`\"{}. The local\_\-variable element would be evaluated to have six values: 1+3, 1+4, 1+5, 2+3, 2+4, and 2+5.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-REGEX\_\-CAPTURE -\/ Regex\_\-capture function.
\begin{DoxyItemize}
\item The regex\_\-capture function captures a single substring from a string component. The 'pattern' attribute provides a regular expression that must contain a single subexpression (using parentheses). The first match of the subexpression is considered the captured substring. For example, the pattern $^\wedge$abc(.$\ast$)xyz\$ would capture a substring from each of the string component's values if the value starts with abc and ends with xyz. In this case the subexpression would be all the characters that exist in between the abc and the xyz. If more than one subexpression is supplied only the first match is considered. If more than one match is identified by a single subexpression only the first match is considered. If no matches are found or a subexpression is not supplied the function will evaluate to an empty string. Note that subexpressions match the longest possible substrings.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-BEGIN -\/ Begin function
\begin{DoxyItemize}
\item The begin function takes a single string component and defines a character (or string) that the component string should start with. The character attribute defines the specific character (or string). The character (or string) is only added to the component string if the component string doesn't already start with the specified character (or string).
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-END -\/ End function
\begin{DoxyItemize}
\item The end function takes a single string component and defines a character (or string) that the component string should end with. The character attribute defines the specific character (or string). The character (or string) is only added to the component string if the component string doesn't already end with the specified character (or string). If the desired end character is a string, then the entire end string must exist at the end if the component string. If the entire end string is not present then the entire end string is appended to the component string.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-SPLIT -\/ Split function
\begin{DoxyItemize}
\item The split function takes a single string component and turns it into multiple values based on a delimiter string. For example, assume that a basic component element returns the value \char`\"{}a-\/b-\/c-\/d\char`\"{} to the split function with the delimiter set to \char`\"{}-\/\char`\"{}. The local\_\-variable element would be evaluated to have four values \char`\"{}a\char`\"{}, \char`\"{}b\char`\"{}, \char`\"{}c\char`\"{}, and \char`\"{}d\char`\"{}. If the basic component returns a value that begins, or ends, with a delimiter, the local\_\-variable element would contain empty string values at the beginning, or end, of the set of values returned for that string component. For example, if the delimiter is \char`\"{}-\/\char`\"{}, and the basic component element returns the value \char`\"{}-\/a-\/a-\/\char`\"{}, the local\_\-variable element would be evaluated to have four values \char`\"{}\char`\"{}, \char`\"{}a\char`\"{}, \char`\"{}a\char`\"{}, and \char`\"{}\char`\"{}. Likewise, if the basic component element returns a value that contains adjacent delimiters such as \char`\"{}-\/-\/-\/\char`\"{}, the local\_\-variable element would be evaluated to have four values \char`\"{}\char`\"{}, \char`\"{}\char`\"{}, \char`\"{}\char`\"{}, and \char`\"{}\char`\"{}. Lastly, if the basic component element used by the split function returns multiple values, then the split function is performed multiple times, and all of the results, from each of the split functions, are returned.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-SUBSTRING -\/ Substring function
\begin{DoxyItemize}
\item The substring function takes a single string component and produces a single value that contains a portion of the original string. The substring\_\-start attribute defines the starting position in the original string. Note, to include the first character of the string, the start position would be 1. Also note that a value less than one also means starting at the first character of the string. The substring\_\-length attribute defines how many character after and including the starting character to include. Note that a substring\_\-length value greater than the actual length of the string or a negative value means to include all the characters after the starting character. For example assume a basic component element that returns the value \char`\"{}abcdefg\char`\"{} with a substring\_\-start value of 3 and a substring\_\-length value of 2. The local\_\-variable element would be evaluate to have a single value of \char`\"{}cd\char`\"{}. If the string component used by the substring function returns multiple values, then the substring operation is performed multiple times and results in multiple values for the component.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-TIMEDIF -\/ Time difference function
\begin{DoxyItemize}
\item Oval\_\-function\_\-TIMEDIF calculates the difference in seconds between date-\/time values. If one component is specified, the values of that component are subtracted from the current time (UTC). If two components are specified, the value of the second component is subtracted from the value of the first component. If the component(s) contain multiple values, the operation is performed multiple times on the Cartesian product of the component(s) and the result is an array of time difference values. For example, assume a local\_\-variable specifies the time\_\-difference function and has two sub-\/components under this function: the first component returns multiple values \char`\"{}04/02/2009\char`\"{} and \char`\"{}04/03/2009\char`\"{}, and the second component returns multiple values \char`\"{}02/02/2005\char`\"{} and \char`\"{}02/03/2005\char`\"{} and \char`\"{}02/04/2005\char`\"{}. The local\_\-variable element would be evaluated to have six values: (ToSeconds(\char`\"{}04/02/2009\char`\"{}) -\/ ToSeconds(\char`\"{}02/02/2005\char`\"{})), (ToSeconds(\char`\"{}04/02/2009\char`\"{}) -\/ ToSeconds(\char`\"{}02/03/2005\char`\"{})), (ToSeconds(\char`\"{}04/02/2009\char`\"{}) -\/ ToSeconds(\char`\"{}02/04/2005\char`\"{})), (ToSeconds(\char`\"{}04/03/2009\char`\"{}) -\/ ToSeconds(\char`\"{}02/02/2005\char`\"{})), (ToSeconds(\char`\"{}04/03/2009\char`\"{}) -\/ ToSeconds(\char`\"{}02/03/2005\char`\"{})), and (ToSeconds(\char`\"{}04/03/2009\char`\"{}) -\/ ToSeconds(\char`\"{}02/04/2005\char`\"{}))..
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-FUNCTION\_\-ESCAPE\_\-REGEX -\/ Escape Regular Expression function
\begin{DoxyItemize}
\item Oval\_\-function\_\-ESCAPE\_\-REGEX takes a single string component and escapes all the regular expression characters. The purpose for this is that many times, a component used in pattern match needs to be treated as a literal string and not a regular expression. For example, assume a basic component element that identifies a file path that is held in the Windows registry. This path is a string that might contain regular expression characters. These characters are likely not intended to be treated as regular expression characters and need to be escaped. This function allows a definition writer to mark convert the values of components to regular expression format. Note that when using regular expressions, OVAL supports a common subset of the regular expression character classes, operations, expressions and other lexical tokens defined within Perl 5's regular expression specification. For more information on the supported regular expression syntax in OVAL see: \href{http://oval.mitre.org/language/about/re_support_5.6.html.}{\tt http://oval.mitre.org/language/about/re\_\-support\_\-5.6.html.}
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-COMPONENT\_\-LITERAL -\/ Literal component
\begin{DoxyItemize}
\item Oval\_\-literal evaluates to a literal value.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-COMPONENT\_\-OBJECTREF -\/ Object component
\begin{DoxyItemize}
\item Oval\_\-component\_\-object binds an Oval\_\-object. During evaluation of the component, the object is queried and the resultant item stream is transformed to provide the Oval\_\-value stream that constitutes the evaluation result of this component. The item stream transformation consists of using the component object\_\-field attribute to identify the name of a specific item field whose value is appended to the component value stream.
\end{DoxyItemize}
\item If \hyperlink{group__OVALDEF_ga64787d54cceb698983d096ff7574817f}{oval\_\-component\_\-get\_\-type} == OVAL\_\-COMPONENT\_\-VARREF -\/ Variable component
\begin{DoxyItemize}
\item Oval\_\-variable\_\-component binds an Oval\_\-variable. The component evaluation is the result of the evaluation of the bound Oval\_\-variable. 
\end{DoxyItemize}
\end{DoxyItemize}

The documentation for this struct was generated from the following files:\begin{DoxyCompactItemize}
\item 
/home/pvrabec/openscap/openscap-\/0.5.7/src/OVAL/\hyperlink{oval__component_8c}{oval\_\-component.c}\item 
/home/pvrabec/openscap/openscap-\/0.5.7/src/OVAL/public/\hyperlink{oval__definitions_8h}{oval\_\-definitions.h}\end{DoxyCompactItemize}