diff options
Diffstat (limited to 'docs/api/xmlsec-transforms.html')
-rw-r--r-- | docs/api/xmlsec-transforms.html | 3059 |
1 files changed, 3059 insertions, 0 deletions
diff --git a/docs/api/xmlsec-transforms.html b/docs/api/xmlsec-transforms.html new file mode 100644 index 00000000..5e68dc02 --- /dev/null +++ b/docs/api/xmlsec-transforms.html @@ -0,0 +1,3059 @@ +<html> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> +<title>transforms</title> +<meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.79"> +<link rel="HOME" title="XML Security Library Reference Manual" href="index.html"> +<link rel="UP" title="XML Security Core Library API Reference." href="xmlsec-ref.html"> +<link rel="PREVIOUS" title="templates" href="xmlsec-templates.html"> +<link rel="NEXT" title="version" href="xmlsec-version.html"> +<style type="text/css">.synopsis, .classsynopsis { + background: #eeeeee; + border: solid 1px #aaaaaa; + padding: 0.5em; +} +.programlisting { + background: #eeeeff; + border: solid 1px #aaaaff; + padding: 0.5em; +} +.variablelist { + padding: 4px; + margin-left: 3em; +} +.navigation { + background: #ffeeee; + border: solid 1px #ffaaaa; + margin-top: 0.5em; + margin-bottom: 0.5em; +} +.navigation a { + color: #770000; +} +.navigation a:visited { + color: #550000; +} +.navigation .title { + font-size: 200%; +}</style> +</head> +<body><table witdh="100%" valign="top"><tr valign="top"> +<td valign="top" align="left" width="210"> +<img src="../images/logo.gif" alt="XML Security Library" border="0"><p></p> +<ul> +<li><a href="../index.html">Home</a></li> +<li><a href="../download.html">Download</a></li> +<li><a href="../news.html">News</a></li> +<li><a href="../documentation.html">Documentation</a></li> +<ul> +<li><a href="../faq.html">FAQ</a></li> +<li><a href="../api/xmlsec-notes.html">Tutorial</a></li> +<li><a href="../api/xmlsec-reference.html">API reference</a></li> +<li><a href="../api/xmlsec-examples.html">Examples</a></li> +</ul> +<li><a href="../xmldsig.html">XML Digital Signature</a></li> +<ul><li><a href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html">Online Verifier</a></li></ul> +<li><a href="../xmlenc.html">XML Encryption</a></li> +<li><a href="../c14n.html">XML Canonicalization</a></li> +<li><a href="../bugs.html">Reporting Bugs</a></li> +<li><a href="http://www.aleksey.com/pipermail/xmlsec">Mailing list</a></li> +<li><a href="../related.html">Related</a></li> +<li><a href="../authors.html">Authors</a></li> +</ul> +<table width="100%"> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/"><img src="../images/libxml2-logo.png" alt="LibXML2" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://xmlsoft.org/XSLT"><img src="../images/libxslt-logo.png" alt="LibXSLT" border="0"></a></td> +</tr> +<tr> +<td width="15"></td> +<td><a href="http://www.openssl.org/"><img src="../images/openssl-logo.png" alt="OpenSSL" border="0"></a></td> +</tr> +<!--Links - start--><!--Links - end--> +</table> +</td> +<td valign="top"><table width="100%" valign="top"><tr><td valign="top" align="left" id="xmlsecContent"> +<table width="100%" class="navigation" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td><a accesskey="p" href="xmlsec-templates.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td> +<td><a accesskey="u" href="xmlsec-ref.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td> +<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td> +<th width="100%" align="center">XML Security Library Reference Manual</th> +<td><a accesskey="n" href="xmlsec-version.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td> +</tr></table> +<h1> +<a name="XMLSEC-TRANSFORMS"></a>transforms</h1> +<div class="REFNAMEDIV"> +<a name="AEN16788"></a><h2>Name</h2>transforms -- Transform object definition.</div> +<div class="REFSYNOPSISDIV"> +<a name="XMLSEC-TRANSFORMS.SYNOPSIS"></a><h2>Synopsis</h2> +<pre class="SYNOPSIS">#define <a href="xmlsec-transforms.html#XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS">XMLSEC_TRANSFORM_BINARY_CHUNK</a> +<a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSGET">xmlSecTransformIdsGet</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSINIT">xmlSecTransformIdsInit</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSSHUTDOWN">xmlSecTransformIdsShutdown</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTERDEFAULT">xmlSecTransformIdsRegisterDefault</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDSREGISTER">xmlSecTransformIdsRegister</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS">xmlSecTransformStatus</a>; +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE">xmlSecTransformMode</a>; +enum <a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION">xmlSecTransformOperation</a>; +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE">xmlSecTransformUriType</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPENONE">xmlSecTransformUriTypeNone</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEEMPTY">xmlSecTransformUriTypeEmpty</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPESAMEDOCUMENT">xmlSecTransformUriTypeSameDocument</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPELOCAL">xmlSecTransformUriTypeLocal</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEREMOTE">xmlSecTransformUriTypeRemote</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPEANY">xmlSecTransformUriTypeAny</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPECHECK">xmlSecTransformUriTypeCheck</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE">xmlSecTransformDataType</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEUNKNOWN">xmlSecTransformDataTypeUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEBIN">xmlSecTransformDataTypeBin</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPEXML">xmlSecTransformDataTypeXml</a> +typedef <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE">xmlSecTransformUsage</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEUNKNOWN">xmlSecTransformUsageUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDSIGTRANSFORM">xmlSecTransformUsageDSigTransform</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEC14NMETHOD">xmlSecTransformUsageC14NMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEDIGESTMETHOD">xmlSecTransformUsageDigestMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGESIGNATUREMETHOD">xmlSecTransformUsageSignatureMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD">xmlSecTransformUsageEncryptionMethod</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGEANY">xmlSecTransformUsageAny</a> +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK">*xmlSecTransformCtxPreExecuteCallback</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +#define <a href="xmlsec-transforms.html#XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS">XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</a> +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX">xmlSecTransformCtx</a>; +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE">xmlSecTransformCtxCreate</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY">xmlSecTransformCtxDestroy</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE">xmlSecTransformCtxInitialize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE">xmlSecTransformCtxFinalize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXRESET">xmlSecTransformCtxReset</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCOPYUSERPREF">xmlSecTransformCtxCopyUserPref</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXSETURI">xmlSecTransformCtxSetUri</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXAPPEND">xmlSecTransformCtxAppend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPEND">xmlSecTransformCtxPrepend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDAPPEND">xmlSecTransformCtxCreateAndAppend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATEANDPREPEND">xmlSecTransformCtxCreateAndPrepend</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODEREAD">xmlSecTransformCtxNodeRead</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXNODESLISTREAD">xmlSecTransformCtxNodesListRead</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREPARE">xmlSecTransformCtxPrepare</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXBINARYEXECUTE">xmlSecTransformCtxBinaryExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXURIEXECUTE">xmlSecTransformCtxUriExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXXMLEXECUTE">xmlSecTransformCtxXmlExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXEXECUTE">xmlSecTransformCtxExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGDUMP">xmlSecTransformCtxDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDEBUGXMLDUMP">xmlSecTransformCtxDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORM">xmlSecTransform</a>; +<a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE">xmlSecTransformCreate</a> (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY">xmlSecTransformDestroy</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREAD">xmlSecTransformNodeRead</a> (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUMP">xmlSecTransformPump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEY">xmlSecTransformSetKey</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQ">xmlSecTransformSetKeyReq</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY">xmlSecTransformVerify</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYNODECONTENT">xmlSecTransformVerifyNodeContent</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPE">xmlSecTransformGetDataType</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBIN">xmlSecTransformPushBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBIN">xmlSecTransformPopBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXML">xmlSecTransformPushXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXML">xmlSecTransformPopXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTE">xmlSecTransformExecute</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGDUMP">xmlSecTransformDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEBUGXMLDUMP">xmlSecTransformDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMGETNAME">xmlSecTransformGetName</a> (transform) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMISVALID">xmlSecTransformIsValid</a> (transform) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKID">xmlSecTransformCheckId</a> (transform, + i) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMCHECKSIZE">xmlSecTransformCheckSize</a> (transform, + size) +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT">xmlSecTransformConnect</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVE">xmlSecTransformRemove</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> <a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTGETDATATYPE">xmlSecTransformDefaultGetDataType</a> + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHBIN">xmlSecTransformDefaultPushBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPBIN">xmlSecTransformDefaultPopBin</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPUSHXML">xmlSecTransformDefaultPushXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMDEFAULTPOPXML">xmlSecTransformDefaultPopXml</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEOUTPUTBUFFER">xmlSecTransformCreateOutputBuffer</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="XMLPARSERINPUTBUFFER"><span class="RETURNVALUE">xmlParserInputBufferPtr</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATEINPUTBUFFER">xmlSecTransformCreateInputBuffer</a> + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD">*xmlSecTransformInitializeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD">*xmlSecTransformFinalizeMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>); +<a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD">*xmlSecTransformGetDataTypeMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD">*xmlSecTransformNodeReadMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD">*xmlSecTransformNodeWriteMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD">*xmlSecTransformSetKeyRequirementsMethod</a>) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD">*xmlSecTransformSetKeyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD">*xmlSecTransformVerifyMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD">*xmlSecTransformPushBinMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD">*xmlSecTransformPopBinMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD">*xmlSecTransformPushXmlMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD">*xmlSecTransformPopXmlMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (<a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD">*xmlSecTransformExecuteMethod</a>) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>); +struct <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASS">xmlSecTransformKlass</a>; +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMKLASSGETNAME">xmlSecTransformKlassGetName</a> (klass) +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTID">xmlSecTransformIdListId</a> +<gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTGETKLASS">xmlSecTransformIdListGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFIND">xmlSecTransformIdListFind</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYHREF">xmlSecTransformIdListFindByHref</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTFINDBYNAME">xmlSecTransformIdListFindByName</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGDUMP">xmlSecTransformIdListDebugDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMIDLISTDEBUGXMLDUMP">xmlSecTransformIdListDebugXmlDump</a> (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMIDUNKNOWN">xmlSecTransformIdUnknown</a> +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64ID">xmlSecTransformBase64Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64GETKLASS">xmlSecTransformBase64GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMBASE64SETLINESIZE">xmlSecTransformBase64SetLineSize</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NID">xmlSecTransformInclC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NGETKLASS">xmlSecTransformInclC14NGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSID">xmlSecTransformInclC14NWithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformInclC14NWithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11ID">xmlSecTransformInclC14N11Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11GETKLASS">xmlSecTransformInclC14N11GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID">xmlSecTransformInclC14N11WithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS">xmlSecTransformInclC14N11WithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NID">xmlSecTransformExclC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NGETKLASS">xmlSecTransformExclC14NGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID">xmlSecTransformExclC14NWithCommentsId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS">xmlSecTransformExclC14NWithCommentsGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDID">xmlSecTransformEnvelopedId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMENVELOPEDGETKLASS">xmlSecTransformEnvelopedGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHID">xmlSecTransformXPathId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATHGETKLASS">xmlSecTransformXPathGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2ID">xmlSecTransformXPath2Id</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPATH2GETKLASS">xmlSecTransformXPath2GetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERID">xmlSecTransformXPointerId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERGETKLASS">xmlSecTransformXPointerGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXPOINTERSETEXPR">xmlSecTransformXPointerSetExpr</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expr</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTID">xmlSecTransformXsltId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTGETKLASS">xmlSecTransformXsltGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS">xmlSecTransformXsltSetDefaultSecurityPrefs</a> + (<code class="PARAMETER"><gtkdoclink href="XSLTSECURITYPREFS"><span class="TYPE">xsltSecurityPrefsPtr</span></gtkdoclink> sec</code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NID">xmlSecTransformRemoveXmlTagsC14NId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS">xmlSecTransformRemoveXmlTagsC14NGetKlass</a> + (<code class="PARAMETER"><span class="TYPE">void</span></code>); +#define <a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKID">xmlSecTransformVisa3DHackId</a> +<gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKGETKLASS">xmlSecTransformVisa3DHackGetKlass</a> (<code class="PARAMETER"><span class="TYPE">void</span></code>); +<gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink><a href="xmlsec-transforms.html#XMLSECTRANSFORMVISA3DHACKSETID">xmlSecTransformVisa3DHackSetID</a> (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-TRANSFORMS.DESCRIPTION"></a><h2>Description</h2> +<p>Transform object definition.</p> +</div> +<div class="REFSECT1"> +<a name="XMLSEC-TRANSFORMS.DETAILS"></a><h2>Details</h2> +<div class="REFSECT2"> +<a name="XMLSEC-TRANSFORM-BINARY-CHUNK:CAPS"></a><h3>XMLSEC_TRANSFORM_BINARY_CHUNK</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORM_BINARY_CHUNK 64</pre> +<p>The binary data chunks size. XMLSec processes binary data one chunk +at a time. Changing this impacts xmlsec memory usage and performance.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSGET"></a><h3>xmlSecTransformIdsGet ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="RETURNVALUE">xmlSecPtrListPtr</span></a> xmlSecTransformIdsGet (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Gets global registered transform klasses list.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17690"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the pointer to list of all registered transform klasses.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSINIT"></a><h3>xmlSecTransformIdsInit ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsInit (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Initializes the transform klasses. This function is called from the +<a href="xmlsec-xmlsec.html#XMLSECINIT"><span class="TYPE">xmlSecInit</span></a> function and the application should not call it directly.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17708"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSSHUTDOWN"></a><h3>xmlSecTransformIdsShutdown ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdsShutdown (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Shuts down the keys data klasses. This function is called from the +<a href="xmlsec-xmlsec.html#XMLSECSHUTDOWN"><span class="TYPE">xmlSecShutdown</span></a> function and the application should not call it directly.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSREGISTERDEFAULT"></a><h3>xmlSecTransformIdsRegisterDefault ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsRegisterDefault (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Registers default (implemented by XML Security Library) +transform klasses: XPath transform, Base64 transform, ...</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN17736"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDSREGISTER"></a><h3>xmlSecTransformIdsRegister ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdsRegister (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Registers <code class="PARAMETER">id</code> in the global list of transform klasses.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17754"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17759"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSTATUS"></a><h3>enum xmlSecTransformStatus</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformStatusNone = 0, + xmlSecTransformStatusWorking, + xmlSecTransformStatusFinished, + xmlSecTransformStatusOk, + xmlSecTransformStatusFail +} xmlSecTransformStatus;</pre> +<p>The transform execution status.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the status unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSWORKING"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusWorking</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform is executed.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFINISHED"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFinished</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform finished</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSOK"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusOk</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform succeeded.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMSTATUSFAIL"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformStatusFail</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the transform failed (an error occur).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMMODE"></a><h3>enum xmlSecTransformMode</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformModeNone = 0, + xmlSecTransformModePush, + xmlSecTransformModePop +} xmlSecTransformMode;</pre> +<p>The transform operation mode</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODENONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModeNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the mode is unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPUSH"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePush</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>pushing data thru transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMMODEPOP"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformModePop</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>popping data from transform.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMOPERATION"></a><h3>enum xmlSecTransformOperation</h3> +<pre class="PROGRAMLISTING">typedef enum { + xmlSecTransformOperationNone = 0, + xmlSecTransformOperationEncode, + xmlSecTransformOperationDecode, + xmlSecTransformOperationSign, + xmlSecTransformOperationVerify, + xmlSecTransformOperationEncrypt, + xmlSecTransformOperationDecrypt +} xmlSecTransformOperation;</pre> +<p>The transform operation.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONNONE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationNone</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the operation is unknown.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncode</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the encode operation (for base64 transform).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONDECODE"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecode</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the decode operation (for base64 transform).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONSIGN"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationSign</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the sign or digest operation.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONVERIFY"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationVerify</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the verification of signature or digest operation.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONENCRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationEncrypt</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the encryption operation.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="XMLSECTRANSFORMOPERATIONDECRYPT"><span style="white-space: nowrap"><tt class="LITERAL">xmlSecTransformOperationDecrypt</tt></span></a></td> +<td align="LEFT" valign="TOP"><p>the decryption operation.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPE"></a><h3>xmlSecTransformUriType</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUriType;</pre> +<p>URI transform type bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPENONE"></a><h3>xmlSecTransformUriTypeNone</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeNone 0x0000</pre> +<p>The URI type is unknown or not set.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPEEMPTY"></a><h3>xmlSecTransformUriTypeEmpty</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeEmpty 0x0001</pre> +<p>The empty URI ("") type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPESAMEDOCUMENT"></a><h3>xmlSecTransformUriTypeSameDocument</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeSameDocument 0x0002</pre> +<p>The smae document ("#...") but not empty ("") URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPELOCAL"></a><h3>xmlSecTransformUriTypeLocal</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeLocal 0x0004</pre> +<p>The local URI ("file:///....") type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPEREMOTE"></a><h3>xmlSecTransformUriTypeRemote</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeRemote 0x0008</pre> +<p>The remote URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPEANY"></a><h3>xmlSecTransformUriTypeAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUriTypeAny 0xFFFF</pre> +<p>Any URI type.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMURITYPECHECK"></a><h3>xmlSecTransformUriTypeCheck ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformUriTypeCheck (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> type</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Checks if <code class="PARAMETER">uri</code> matches expected type <code class="PARAMETER">type</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17919"><span style="white-space: nowrap"><code class="PARAMETER">type</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected URI type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17924"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the uri for checking.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN17929"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">uri</code> matches <code class="PARAMETER">type</code>, 0 if not or a negative value +if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPE"></a><h3>xmlSecTransformDataType</h3> +<pre class="PROGRAMLISTING">typedef xmlSecByte xmlSecTransformDataType;</pre> +<p>Transform data type bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEUNKNOWN"></a><h3>xmlSecTransformDataTypeUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeUnknown 0x0000</pre> +<p>The transform data type is unknown or nor data expected.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEBIN"></a><h3>xmlSecTransformDataTypeBin</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeBin 0x0001</pre> +<p>The binary transform data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDATATYPEXML"></a><h3>xmlSecTransformDataTypeXml</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformDataTypeXml 0x0002</pre> +<p>The xml transform data.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGE"></a><h3>xmlSecTransformUsage</h3> +<pre class="PROGRAMLISTING">typedef unsigned int xmlSecTransformUsage;</pre> +<p>The transform usage bit mask.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEUNKNOWN"></a><h3>xmlSecTransformUsageUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageUnknown 0x0000</pre> +<p>Transforms usage is unknown or undefined.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEDSIGTRANSFORM"></a><h3>xmlSecTransformUsageDSigTransform</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDSigTransform 0x0001</pre> +<p>Transform could be used in <dsig:Transform>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEC14NMETHOD"></a><h3>xmlSecTransformUsageC14NMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageC14NMethod 0x0002</pre> +<p>Transform could be used in <dsig:CanonicalizationMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEDIGESTMETHOD"></a><h3>xmlSecTransformUsageDigestMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageDigestMethod 0x0004</pre> +<p>Transform could be used in <dsig:DigestMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGESIGNATUREMETHOD"></a><h3>xmlSecTransformUsageSignatureMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageSignatureMethod 0x0008</pre> +<p>Transform could be used in <dsig:SignatureMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEENCRYPTIONMETHOD"></a><h3>xmlSecTransformUsageEncryptionMethod</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageEncryptionMethod 0x0010</pre> +<p>Transform could be used in <enc:EncryptionMethod>.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMUSAGEANY"></a><h3>xmlSecTransformUsageAny</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformUsageAny 0xFFFF</pre> +<p>Transform could be used for operation.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXPREEXECUTECALLBACK"></a><h3>xmlSecTransformCtxPreExecuteCallback ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformCtxPreExecuteCallback) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The callback called after creating transforms chain but before +starting data processing. Application can use this callback to +do additional transforms chain verification or modification and +aborting transforms execution (if necessary).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18020"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform's context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18025"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success and a negative value otherwise (in this case, +transforms chain will not be executed and xmlsec processing stops).</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSEC-TRANSFORMCTX-FLAGS-USE-VISA3D-HACK:CAPS"></a><h3>XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK</h3> +<pre class="PROGRAMLISTING">#define XMLSEC_TRANSFORMCTX_FLAGS_USE_VISA3D_HACK 0x00000001</pre> +<p>If this flag is set then URI ID references are resolved directly +without using XPointers. This allows one to sign/verify Visa3D +documents that don't follow XML, XPointer and XML DSig specifications.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTX"></a><h3>struct xmlSecTransformCtx</h3> +<pre class="PROGRAMLISTING">struct xmlSecTransformCtx { + /* user settings */ + void* userData; + unsigned int flags; + unsigned int flags2; + xmlSecTransformUriType enabledUris; + xmlSecPtrList enabledTransforms; + xmlSecTransformCtxPreExecuteCallback preExecCallback; + + /* results */ + xmlSecBufferPtr result; + xmlSecTransformStatus status; + xmlChar* uri; + xmlChar* xptrExpr; + xmlSecTransformPtr first; + xmlSecTransformPtr last; + + /* for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The transform execution context.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18043"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">userData</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to user data (xmlsec and xmlsec-crypto never + touch this).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18050"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask flags to control transforms execution + (reserved for the future).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18057"><span style="white-space: nowrap">unsigned <gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> <code class="STRUCTFIELD">flags2</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the bit mask flags to control transforms execution + (reserved for the future).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18064"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMURITYPE"><span class="TYPE">xmlSecTransformUriType</span></a> <code class="STRUCTFIELD">enabledUris</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the allowed transform data source uri types.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18071"><span style="white-space: nowrap"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrList</span></a> <code class="STRUCTFIELD">enabledTransforms</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the list of enabled transforms; if list is empty (default) + then all registered transforms are enabled.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18078"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXPREEXECUTECALLBACK"><span class="TYPE">xmlSecTransformCtxPreExecuteCallback</span></a> <code class="STRUCTFIELD">preExecCallback</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the callback called after preparing transform chain + and right before actual data processing; application + can use this callback to change transforms parameters, + insert additional transforms in the chain or do + additional validation (and abort transform execution + if needed).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18085"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBufferPtr</span></a> <code class="STRUCTFIELD">result</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms result buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18092"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transforms chain processng status.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18099"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">uri</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the data source URI without xpointer expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18106"><span style="white-space: nowrap"><gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">xptrExpr</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the xpointer expression from data source URI (if any).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18113"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">first</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the first transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18120"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">last</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the last transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18127"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18134"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCREATE"></a><h3>xmlSecTransformCtxCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="RETURNVALUE">xmlSecTransformCtxPtr</span></a> xmlSecTransformCtxCreate (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Creates transforms chain processing context. +The caller is responsible for destroying returned object by calling +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXDESTROY"><span class="TYPE">xmlSecTransformCtxDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18154"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly allocated context object or NULL if an error +occurs.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXDESTROY"></a><h3>xmlSecTransformCtxDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Destroy context object created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXCREATE"><span class="TYPE">xmlSecTransformCtxCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18173"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXINITIALIZE"></a><h3>xmlSecTransformCtxInitialize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxInitialize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Initializes transforms chain processing context. +The caller is responsible for cleaning up returned object by calling +<a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXFINALIZE"><span class="TYPE">xmlSecTransformCtxFinalize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18192"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18197"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXFINALIZE"></a><h3>xmlSecTransformCtxFinalize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxFinalize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Cleans up <code class="PARAMETER">ctx</code> object initialized with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCTXINITIALIZE"><span class="TYPE">xmlSecTransformCtxInitialize</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18217"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXRESET"></a><h3>xmlSecTransformCtxReset ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxReset (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>);</pre> +<p>Resets transfroms context for new processing.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18234"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCOPYUSERPREF"></a><h3>xmlSecTransformCtxCopyUserPref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxCopyUserPref (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> dst</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> src</code>);</pre> +<p>Copies user settings from <code class="PARAMETER">src</code> context to <code class="PARAMETER">dst</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18256"><span style="white-space: nowrap"><code class="PARAMETER">dst</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to destination transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18261"><span style="white-space: nowrap"><code class="PARAMETER">src</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to source transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18266"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXSETURI"></a><h3>xmlSecTransformCtxSetUri ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxSetUri (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>);</pre> +<p>Parses uri and adds xpointer transforms if required.</p> +<p>The following examples demonstrate what the URI attribute identifies and +how it is dereferenced +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-REFERENCEPROCESSINGMODEL"><span class="TYPE">sec-ReferenceProcessingModel</span></gtkdoclink>):</p> +<p>- URI="http://example.com/bar.xml" +identifies the octets that represent the external resource +'http://example.com/bar.xml', that is probably an XML document given +its file extension.</p> +<p>- URI="http://example.com/bar.xml<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" +identifies the element with ID attribute value 'chapter1' of the +external XML resource 'http://example.com/bar.xml', provided as an +octet stream. Again, for the sake of interoperability, the element +identified as 'chapter1' should be obtained using an XPath transform +rather than a URI fragment (barename XPointer resolution in external +resources is not REQUIRED in this specification).</p> +<p>- URI="" +identifies the node-set (minus any comment nodes) of the XML resource +containing the signature</p> +<p>- URI="<gtkdoclink href="CHAPTER1"><span class="TYPE">chapter1</span></gtkdoclink>" +identifies a node-set containing the element with ID attribute value +'chapter1' of the XML resource containing the signature. XML Signature +(and its applications) modify this node-set to include the element plus +all descendents including namespaces and attributes -- but not comments.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18300"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18305"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18310"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to "here" node required by some + XML transforms (may be NULL).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18315"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXAPPEND"></a><h3>xmlSecTransformCtxAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Connects the <code class="PARAMETER">transform</code> to the end of the chain of transforms in the <code class="PARAMETER">ctx</code> +(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18339"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18344"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18349"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXPREPEND"></a><h3>xmlSecTransformCtxPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Connects the <code class="PARAMETER">transform</code> to the beggining of the chain of transforms in the <code class="PARAMETER">ctx</code> +(see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18373"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18378"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to new transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18383"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCREATEANDAPPEND"></a><h3>xmlSecTransformCtxCreateAndAppend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxCreateAndAppend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creaeates new transform and connects it to the end of the chain of +transforms in the <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18406"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18411"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18416"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXCREATEANDPREPEND"></a><h3>xmlSecTransformCtxCreateAndPrepend ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxCreateAndPrepend (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creaeates new transform and connects it to the end of the chain of +transforms in the <code class="PARAMETER">ctx</code> (see <a href="xmlsec-transforms.html#XMLSECTRANSFORMCONNECT"><span class="TYPE">xmlSecTransformConnect</span></a> function for details).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18439"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18444"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18449"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXNODEREAD"></a><h3>xmlSecTransformCtxNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformCtxNodeRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Reads the transform from the <code class="PARAMETER">node</code> and appends it to the current chain +of transforms in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18474"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18479"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform's node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18484"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's usage (signature, encryption, etc.).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18489"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXNODESLISTREAD"></a><h3>xmlSecTransformCtxNodesListRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxNodesListRead (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Reads transforms from the <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> children of the <code class="PARAMETER">node</code> and +appends them to the current transforms chain in <code class="PARAMETER">ctx</code> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18515"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18520"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> nodes parent node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18526"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's usage (signature, encryption, etc.).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18531"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXPREPARE"></a><h3>xmlSecTransformCtxPrepare ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxPrepare (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="TYPE">xmlSecTransformDataType</span></a> inputDataType</code>);</pre> +<p>Prepares the transform context for processing data of <code class="PARAMETER">inputDataType</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18552"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18557"><span style="white-space: nowrap"><code class="PARAMETER">inputDataType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the expected input type.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18562"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXBINARYEXECUTE"></a><h3>xmlSecTransformCtxBinaryExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxBinaryExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>);</pre> +<p>Processes binary data using transforms chain in the <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18586"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18591"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18596"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18601"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXURIEXECUTE"></a><h3>xmlSecTransformCtxUriExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxUriExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *uri</code>);</pre> +<p>Process binary data from the URI using transforms chain in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18622"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18627"><span style="white-space: nowrap"><code class="PARAMETER">uri</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the URI.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18632"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXXMLEXECUTE"></a><h3>xmlSecTransformCtxXmlExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxXmlExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>);</pre> +<p>Process <code class="PARAMETER">nodes</code> using transforms in the transforms chain in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18654"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18659"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input node set.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18664"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXEXECUTE"></a><h3>xmlSecTransformCtxExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformCtxExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="XMLDOC"><span class="TYPE">xmlDocPtr</span></gtkdoclink> doc</code>);</pre> +<p>Executes transforms chain in <code class="PARAMETER">ctx</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18685"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18690"><span style="white-space: nowrap"><code class="PARAMETER">doc</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to input document.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18695"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXDEBUGDUMP"></a><h3>xmlSecTransformCtxDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transforms context debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18716"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18721"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCTXDEBUGXMLDUMP"></a><h3>xmlSecTransformCtxDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformCtxDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> ctx</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transforms context debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18742"><span style="white-space: nowrap"><code class="PARAMETER">ctx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transforms chain processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18747"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORM"></a><h3>struct xmlSecTransform</h3> +<pre class="PROGRAMLISTING">struct xmlSecTransform { + xmlSecTransformId id; + xmlSecTransformOperation operation; + xmlSecTransformStatus status; + xmlNodePtr hereNode; + + /* transforms chain */ + xmlSecTransformPtr next; + xmlSecTransformPtr prev; + + /* binary data */ + xmlSecBuffer inBuf; + xmlSecBuffer outBuf; + + /* xml data */ + xmlSecNodeSetPtr inNodes; + xmlSecNodeSetPtr outNodes; + + /* reserved for the future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The transform structure.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18759"><span style="white-space: nowrap"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> <code class="STRUCTFIELD">id</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id (pointer to <gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink>).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18768"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMOPERATION"><span class="TYPE">xmlSecTransformOperation</span></a> <code class="STRUCTFIELD">operation</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's opertaion.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18775"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUS"><span class="TYPE">xmlSecTransformStatus</span></a> <code class="STRUCTFIELD">status</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the current status.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18782"><span style="white-space: nowrap"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> <code class="STRUCTFIELD">hereNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform's <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform%20" target="_top"><dsig:Transform /></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18790"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">next</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to next transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18797"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> <code class="STRUCTFIELD">prev</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to previous transform in the chain.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18804"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> <code class="STRUCTFIELD">inBuf</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18811"><span style="white-space: nowrap"><a href="xmlsec-buffer.html#XMLSECBUFFER"><span class="TYPE">xmlSecBuffer</span></a> <code class="STRUCTFIELD">outBuf</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the output binary data buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18818"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">inNodes</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the input XML nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18825"><span style="white-space: nowrap"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> <code class="STRUCTFIELD">outNodes</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the output XML nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18832"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18839"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCREATE"></a><h3>xmlSecTransformCreate ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="RETURNVALUE">xmlSecTransformPtr</span></a> xmlSecTransformCreate (<code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> id</code>);</pre> +<p>Creates new transform of the <code class="PARAMETER">id</code> klass. The caller is responsible for +destroying returned tansform using <a href="xmlsec-transforms.html#XMLSECTRANSFORMDESTROY"><span class="TYPE">xmlSecTransformDestroy</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18861"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id to create.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18866"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDESTROY"></a><h3>xmlSecTransformDestroy ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDestroy (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Destroys transform created with <a href="xmlsec-transforms.html#XMLSECTRANSFORMCREATE"><span class="TYPE">xmlSecTransformCreate</span></a> function.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN18885"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMNODEREAD"></a><h3>xmlSecTransformNodeRead ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMPTR"><span class="RETURNVALUE">xmlSecTransformPtr</span></gtkdoclink> xmlSecTransformNodeRead (<code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Reads transform from the <code class="PARAMETER">node</code> as follows:</p> +<p> 1) reads "Algorithm" attribute;</p> +<p> 2) checks the lists of known and allowed transforms;</p> +<p> 3) calls transform's create method;</p> +<p> 4) calls transform's read transform node method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18913"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to the transform's node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18918"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform usage (signature, encryption, ...).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18923"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18928"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to newly created transform or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUMP"></a><h3>xmlSecTransformPump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from <code class="PARAMETER">left</code> transform and pushes to <code class="PARAMETER">right</code> transform until +no more data is available.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18953"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the source pumping transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18958"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the destination pumping transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18963"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18968"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEY"></a><h3>xmlSecTransformSetKey ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformSetKey (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>Sets the transform's key.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18988"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18993"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN18998"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEYREQ"></a><h3>xmlSecTransformSetKeyReq ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformSetKeyReq (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Sets the key requirements for <code class="PARAMETER">transform</code> in the <code class="PARAMETER">keyReq</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19020"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19025"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to keys requirements object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19030"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFY"></a><h3>xmlSecTransformVerify ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVerify (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Verifies the data with transform's processing results +(for digest, HMAC and signature transforms). The verification +result is stored in the <gtkdoclink href="STATUS"><span class="TYPE">status</span></gtkdoclink> member of <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> object.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19060"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19065"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary data for verification.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19070"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19075"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19080"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFYNODECONTENT"></a><h3>xmlSecTransformVerifyNodeContent ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVerifyNodeContent (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets the <code class="PARAMETER">node</code> content, base64 decodes it and calls <a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFY"><span class="TYPE">xmlSecTransformVerify</span></a> +function to verify binary results.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19106"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19111"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19116"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19121"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGETDATATYPE"></a><h3>xmlSecTransformGetDataType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> xmlSecTransformGetDataType (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets transform input (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data +type (binary or XML).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19146"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19151"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data mode (push or pop).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19156"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19161"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the transform's data type for the <code class="PARAMETER">mode</code> operation.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHBIN"></a><h3>xmlSecTransformPushBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Process binary <code class="PARAMETER">data</code> and pushes results to next transform.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19192"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19197"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19202"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19207"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last + data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19212"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19217"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPBIN"></a><h3>xmlSecTransformPopBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes data and +returns result in the <code class="PARAMETER">data</code> buffer. The size of returned data is +placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19248"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19253"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer to store result data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19258"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19265"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to returned data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19270"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19275"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHXML"></a><h3>xmlSecTransformPushXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Processes <code class="PARAMETER">nodes</code> and pushes result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19299"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19304"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19309"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19314"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPXML"></a><h3>xmlSecTransformPopXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes the data and +returns result in <code class="PARAMETER">nodes</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19338"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19343"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store popinter to result nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19348"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19353"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXECUTE"></a><h3>xmlSecTransformExecute ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformExecute (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Executes transform (used by default popBin/pushBin/popXml/pushXml methods).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19376"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19381"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19386"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19391"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEBUGDUMP"></a><h3>xmlSecTransformDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDebugDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transform's debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19412"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19417"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEBUGXMLDUMP"></a><h3>xmlSecTransformDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints transform's debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19438"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19443"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGETNAME"></a><h3>xmlSecTransformGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformGetName(transform)</pre> +<p>Macro. Returns transform name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19455"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMISVALID"></a><h3>xmlSecTransformIsValid()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIsValid(transform)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19468"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCHECKID"></a><h3>xmlSecTransformCheckId()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformCheckId(transform, i)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has specified id <code class="PARAMETER">i</code> +or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19482"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19487"><span style="white-space: nowrap"><code class="PARAMETER">i</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform id.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCHECKSIZE"></a><h3>xmlSecTransformCheckSize()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformCheckSize(transform, size)</pre> +<p>Macro. Returns 1 if the <code class="PARAMETER">transform</code> is valid and has at least <code class="PARAMETER">size</code> +bytes or 0 otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19501"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19506"><span style="white-space: nowrap"><code class="PARAMETER">size</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform object size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCONNECT"></a><h3>xmlSecTransformConnect ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformConnect (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> left</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> right</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>If the data object is a node-set and the next transform requires octets, +the signature application MUST attempt to convert the node-set to an octet +stream using Canonical XML [XML-C14N].</p> +<p>The story is different if the right transform is base64 decode +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>):</p> +<p>This transform requires an octet stream for input. If an XPath node-set +(or sufficiently functional alternative) is given as input, then it is +converted to an octet stream by performing operations logically equivalent +to 1) applying an XPath transform with expression self::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, then 2) +taking the string-value of the node-set. Thus, if an XML element is +identified by a barename XPointer in the Reference URI, and its content +consists solely of base64 encoded character data, then this transform +automatically strips away the start and end tags of the identified element +and any of its descendant elements as well as any descendant comments and +processing instructions. The output of this transform is an octet stream.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19535"><span style="white-space: nowrap"><code class="PARAMETER">left</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to left (prev) transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19540"><span style="white-space: nowrap"><code class="PARAMETER">right</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to right (next) transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19545"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19550"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMREMOVE"></a><h3>xmlSecTransformRemove ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformRemove (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>Removes <code class="PARAMETER">transform</code> from the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19568"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTGETDATATYPE"></a><h3>xmlSecTransformDefaultGetDataType ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> xmlSecTransformDefaultGetDataType + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Gets transform input (<code class="PARAMETER">mode</code> is "push") or output (<code class="PARAMETER">mode</code> is "pop") data +type (binary or XML) by analyzing available pushBin/popBin/pushXml/popXml +methods.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19595"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19600"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the data mode (push or pop).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19605"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's chaing processing context.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19610"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> the transform's data type for the <code class="PARAMETER">mode</code> operation.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPUSHBIN"></a><h3>xmlSecTransformDefaultPushBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPushBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Process binary <code class="PARAMETER">data</code> by calling transform's execute method and pushes +results to next transform.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19641"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19646"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19651"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19656"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last + data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19661"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19666"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPOPBIN"></a><h3>xmlSecTransformDefaultPopBin ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPopBin (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes data by calling +transform's execute method and returns result in the <code class="PARAMETER">data</code> buffer. The +size of returned data is placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19697"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19702"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer to store result data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19707"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <gtkdoclink href="DATA"><span class="TYPE">data</span></gtkdoclink>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19714"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to returned data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19719"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19724"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPUSHXML"></a><h3>xmlSecTransformDefaultPushXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPushXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Processes <code class="PARAMETER">nodes</code> by calling transform's execute method and pushes +result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19748"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19753"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19758"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19763"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMDEFAULTPOPXML"></a><h3>xmlSecTransformDefaultPopXml ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformDefaultPopXml (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Pops data from previous transform in the chain, processes the data +by calling transform's execute method and returns result in <code class="PARAMETER">nodes</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19787"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19792"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store popinter to result nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19797"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19802"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCREATEOUTPUTBUFFER"></a><h3>xmlSecTransformCreateOutputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLOUTPUTBUFFERPTR"><span class="RETURNVALUE">xmlOutputBufferPtr</span></gtkdoclink> xmlSecTransformCreateOutputBuffer (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Creates output buffer to write data to <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19823"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19828"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19833"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to new output buffer or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMCREATEINPUTBUFFER"></a><h3>xmlSecTransformCreateInputBuffer ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLPARSERINPUTBUFFER"><span class="RETURNVALUE">xmlParserInputBufferPtr</span></gtkdoclink> xmlSecTransformCreateInputBuffer + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Creates input buffer to read data from <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19854"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19859"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19864"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to new input buffer or NULL if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINITIALIZEMETHOD"></a><h3>xmlSecTransformInitializeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformInitializeMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>The transform specific initialization method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19881"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19886"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMFINALIZEMETHOD"></a><h3>xmlSecTransformFinalizeMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> (*xmlSecTransformFinalizeMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>);</pre> +<p>The transform specific destroy method.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN19903"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMGETDATATYPEMETHOD"></a><h3>xmlSecTransformGetDataTypeMethod ()</h3> +<pre class="PROGRAMLISTING"><a href="xmlsec-transforms.html#XMLSECTRANSFORMDATATYPE"><span class="RETURNVALUE">xmlSecTransformDataType</span></a> (*xmlSecTransformGetDataTypeMethod) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMMODE"><span class="TYPE">xmlSecTransformMode</span></a> mode</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to query information about transform +data type in specified mode <code class="PARAMETER">mode</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19927"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19932"><span style="white-space: nowrap"><code class="PARAMETER">mode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the mode.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19937"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19942"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> transform data type.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMNODEREADMETHOD"></a><h3>xmlSecTransformNodeReadMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformNodeReadMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to read the transform data from +the <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19966"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19971"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19977"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN19982"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMNODEWRITEMETHOD"></a><h3>xmlSecTransformNodeWriteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformNodeWriteMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> node</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to write transform information to an XML node <code class="PARAMETER">node</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20006"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20011"><span style="white-space: nowrap"><code class="PARAMETER">node</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to <a href="http://www.w3.org/TR/xmldsig-core/#sec-Transform" target="_top"><dsig:Transform/></a> node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20017"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20022"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"></a><h3>xmlSecTransformSetKeyRequirementsMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformSetKeyRequirementsMethod) + (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEYREQ"><span class="TYPE">xmlSecKeyReqPtr</span></a> keyReq</code>);</pre> +<p>Transform specific method to set transform's key requirements.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20042"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20047"><span style="white-space: nowrap"><code class="PARAMETER">keyReq</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key requirements structure.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20052"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMSETKEYMETHOD"></a><h3>xmlSecTransformSetKeyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformSetKeyMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-keys.html#XMLSECKEY"><span class="TYPE">xmlSecKeyPtr</span></a> key</code>);</pre> +<p>The transform specific method to set the key for use.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20072"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20077"><span style="white-space: nowrap"><code class="PARAMETER">key</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to key.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20082"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVERIFYMETHOD"></a><h3>xmlSecTransformVerifyMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformVerifyMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to verify transform processing results +(used by digest and signature transforms). This method sets <code class="PARAMETER">status</code> +member of the <a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransform</span></a> structure to either <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSOK"><span class="TYPE">xmlSecTransformStatusOk</span></a> +if verification succeeded or <a href="xmlsec-transforms.html#XMLSECTRANSFORMSTATUSFAIL"><span class="TYPE">xmlSecTransformStatusFail</span></a> otherwise.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20115"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20120"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input buffer.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20125"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of input buffer <code class="PARAMETER">data</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20131"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20136"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHBINMETHOD"></a><h3>xmlSecTransformPushBinMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPushBinMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> dataSize</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> final</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to process data from <code class="PARAMETER">data</code> and push +result to the next transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20166"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20171"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input binary data,</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20176"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20181"><span style="white-space: nowrap"><code class="PARAMETER">final</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last + data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20186"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20191"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPBINMETHOD"></a><h3>xmlSecTransformPopBinMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPopBinMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECBYTE"><span class="TYPE">xmlSecByte</span></a> *data</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> maxDataSize</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> *dataSize</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to pop data from previous transform +in the chain and return result in the <code class="PARAMETER">data</code> buffer. The size of returned +data is placed in the <code class="PARAMETER">dataSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20222"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20227"><span style="white-space: nowrap"><code class="PARAMETER">data</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the buffer to store result data.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20232"><span style="white-space: nowrap"><code class="PARAMETER">maxDataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the size of the buffer <code class="PARAMETER">data</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20238"><span style="white-space: nowrap"><code class="PARAMETER">dataSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to returned data size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20243"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20248"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPUSHXMLMETHOD"></a><h3>xmlSecTransformPushXmlMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPushXmlMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to process <code class="PARAMETER">nodes</code> and push result to the next +transform in the chain.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20272"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20277"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the input nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20282"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20287"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMPOPXMLMETHOD"></a><h3>xmlSecTransformPopXmlMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformPopXmlMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESET"><span class="TYPE">xmlSecNodeSetPtr</span></a> *nodes</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>The transform specific method to pop data from previous transform in the chain, +process the data and return result in <code class="PARAMETER">nodes</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20311"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20316"><span style="white-space: nowrap"><code class="PARAMETER">nodes</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to store popinter to result nodes.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20321"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20326"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXECUTEMETHOD"></a><h3>xmlSecTransformExecuteMethod ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> (*xmlSecTransformExecuteMethod) (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><gtkdoclink href="INT"><span class="TYPE">int</span></gtkdoclink> last</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMCTX"><span class="TYPE">xmlSecTransformCtxPtr</span></a> transformCtx</code>);</pre> +<p>Transform specific method to process a chunk of data.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20349"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20354"><span style="white-space: nowrap"><code class="PARAMETER">last</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the flag: if set to 1 then it's the last data chunk.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20359"><span style="white-space: nowrap"><code class="PARAMETER">transformCtx</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform context object.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20364"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKLASS"></a><h3>struct xmlSecTransformKlass</h3> +<pre class="PROGRAMLISTING">struct xmlSecTransformKlass { + /* data */ + xmlSecSize klassSize; + xmlSecSize objSize; + const xmlChar* name; + const xmlChar* href; + xmlSecTransformUsage usage; + + /* methods */ + xmlSecTransformInitializeMethod initialize; + xmlSecTransformFinalizeMethod finalize; + + xmlSecTransformNodeReadMethod readNode; + xmlSecTransformNodeWriteMethod writeNode; + + xmlSecTransformSetKeyRequirementsMethod setKeyReq; + xmlSecTransformSetKeyMethod setKey; + xmlSecTransformVerifyMethod verify; + xmlSecTransformGetDataTypeMethod getDataType; + + xmlSecTransformPushBinMethod pushBin; + xmlSecTransformPopBinMethod popBin; + xmlSecTransformPushXmlMethod pushXml; + xmlSecTransformPopXmlMethod popXml; + + /* low level method */ + xmlSecTransformExecuteMethod execute; + + /* reserved for future */ + void* reserved0; + void* reserved1; +};</pre> +<p>The transform klass desccription structure.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20376"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">klassSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass structure size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20383"><span style="white-space: nowrap"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> <code class="STRUCTFIELD">objSize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform object size.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20390"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">name</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20397"><span style="white-space: nowrap">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *<code class="STRUCTFIELD">href</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform's identification string (href).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20404"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> <code class="STRUCTFIELD">usage</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the allowed transforms usages.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20411"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMINITIALIZEMETHOD"><span class="TYPE">xmlSecTransformInitializeMethod</span></a> <code class="STRUCTFIELD">initialize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the initialization method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20418"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMFINALIZEMETHOD"><span class="TYPE">xmlSecTransformFinalizeMethod</span></a> <code class="STRUCTFIELD">finalize</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the finmalization (destroy) function.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20425"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEREADMETHOD"><span class="TYPE">xmlSecTransformNodeReadMethod</span></a> <code class="STRUCTFIELD">readNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML node read method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20432"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMNODEWRITEMETHOD"><span class="TYPE">xmlSecTransformNodeWriteMethod</span></a> <code class="STRUCTFIELD">writeNode</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML node write method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20439"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYREQUIREMENTSMETHOD"><span class="TYPE">xmlSecTransformSetKeyRequirementsMethod</span></a> <code class="STRUCTFIELD">setKeyReq</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the set key requirements method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20446"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMSETKEYMETHOD"><span class="TYPE">xmlSecTransformSetKeyMethod</span></a> <code class="STRUCTFIELD">setKey</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the set key method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20453"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMVERIFYMETHOD"><span class="TYPE">xmlSecTransformVerifyMethod</span></a> <code class="STRUCTFIELD">verify</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the verify method (for digest and signature transforms).</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20460"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMGETDATATYPEMETHOD"><span class="TYPE">xmlSecTransformGetDataTypeMethod</span></a> <code class="STRUCTFIELD">getDataType</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the input/output data type query method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20467"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHBINMETHOD"><span class="TYPE">xmlSecTransformPushBinMethod</span></a> <code class="STRUCTFIELD">pushBin</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary data "push thru chain" processing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20474"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPBINMETHOD"><span class="TYPE">xmlSecTransformPopBinMethod</span></a> <code class="STRUCTFIELD">popBin</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the binary data "pop from chain" procesing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20481"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPUSHXMLMETHOD"><span class="TYPE">xmlSecTransformPushXmlMethod</span></a> <code class="STRUCTFIELD">pushXml</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data "push thru chain" processing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20488"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMPOPXMLMETHOD"><span class="TYPE">xmlSecTransformPopXmlMethod</span></a> <code class="STRUCTFIELD">popXml</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the XML data "pop from chain" procesing method.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20495"><span style="white-space: nowrap"><a href="xmlsec-transforms.html#XMLSECTRANSFORMEXECUTEMETHOD"><span class="TYPE">xmlSecTransformExecuteMethod</span></a> <code class="STRUCTFIELD">execute</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>the low level data processing method used by default + implementations of <code class="PARAMETER">pushBin</code>, <code class="PARAMETER">popBin</code>, <code class="PARAMETER">pushXml</code> and <code class="PARAMETER">popXml</code>.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20506"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved0</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20513"><span style="white-space: nowrap"><gtkdoclink href="VOID"><span class="TYPE">void</span></gtkdoclink> *<code class="STRUCTFIELD">reserved1</code>;</span></a></td> +<td align="LEFT" valign="TOP"><p>reserved for the future.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMKLASSGETNAME"></a><h3>xmlSecTransformKlassGetName()</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformKlassGetName(klass)</pre> +<p>Macro. Returns transform klass name.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20527"><span style="white-space: nowrap"><code class="PARAMETER">klass</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transofrm's klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTID"></a><h3>xmlSecTransformIdListId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIdListId xmlSecTransformIdListGetKlass()</pre> +<p>Transform klasses list klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTGETKLASS"></a><h3>xmlSecTransformIdListGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECPTRLISTID"><span class="RETURNVALUE">xmlSecPtrListId</span></gtkdoclink> xmlSecTransformIdListGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The transform id list klass.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20549"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to the transform id list klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTFIND"></a><h3>xmlSecTransformIdListFind ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformIdListFind (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="XMLSECTRANSFORMID"><span class="TYPE">xmlSecTransformId</span></gtkdoclink> transformId</code>);</pre> +<p>Lookups <code class="PARAMETER">dataId</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20571"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20576"><span style="white-space: nowrap"><code class="PARAMETER">transformId</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the transform klass.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20581"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 1 if <code class="PARAMETER">dataId</code> is found in the <code class="PARAMETER">list</code>, 0 if not and a negative +value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTFINDBYHREF"></a><h3>xmlSecTransformIdListFindByHref ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformIdListFindByHref (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *href</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">href</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20609"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20614"><span style="white-space: nowrap"><code class="PARAMETER">href</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform klass href.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20619"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20624"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> transform klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTFINDBYNAME"></a><h3>xmlSecTransformIdListFindByName ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformIdListFindByName (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *name</code>, + <code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORMUSAGE"><span class="TYPE">xmlSecTransformUsage</span></a> usage</code>);</pre> +<p>Lookups data klass in the list with given <code class="PARAMETER">name</code> and <code class="PARAMETER">usage</code> in <code class="PARAMETER">list</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20650"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20655"><span style="white-space: nowrap"><code class="PARAMETER">name</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform klass name.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20660"><span style="white-space: nowrap"><code class="PARAMETER">usage</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the desired transform usage.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20665"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> transform klass is found and NULL otherwise.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTDEBUGDUMP"></a><h3>xmlSecTransformIdListDebugDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdListDebugDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary transform debug information to <code class="PARAMETER">output</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20686"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20691"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDLISTDEBUGXMLDUMP"></a><h3>xmlSecTransformIdListDebugXmlDump ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformIdListDebugXmlDump (<code class="PARAMETER"><a href="xmlsec-list.html#XMLSECPTRLIST"><span class="TYPE">xmlSecPtrListPtr</span></a> list</code>, + <code class="PARAMETER"><gtkdoclink href="FILE:CAPS"><span class="TYPE">FILE</span></gtkdoclink> *output</code>);</pre> +<p>Prints binary transform debug information to <code class="PARAMETER">output</code> in XML format.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20712"><span style="white-space: nowrap"><code class="PARAMETER">list</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to transform ids list.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20717"><span style="white-space: nowrap"><code class="PARAMETER">output</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to output FILE.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMIDUNKNOWN"></a><h3>xmlSecTransformIdUnknown</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformIdUnknown ((xmlSecTransformId)NULL)</pre> +<p>The "unknown" transform id (NULL).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMBASE64ID"></a><h3>xmlSecTransformBase64Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformBase64Id</pre> +<p>The base64 encode transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMBASE64GETKLASS"></a><h3>xmlSecTransformBase64GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformBase64GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Base64 transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>). +The normative specification for base64 decoding transforms is RFC 2045 +(http://www.ietf.org/rfc/rfc2045.txt). The base64 Transform element has +no content. The input is decoded by the algorithms. This transform is +useful if an application needs to sign the raw data associated with +the encoded content of an element.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20747"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> base64 transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMBASE64SETLINESIZE"></a><h3>xmlSecTransformBase64SetLineSize ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformBase64SetLineSize (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER"><a href="xmlsec-xmlsec.html#XMLSECSIZE"><span class="TYPE">xmlSecSize</span></a> lineSize</code>);</pre> +<p>Sets the max line size to <code class="PARAMETER">lineSize</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20768"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to BASE64 encode transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN20773"><span style="white-space: nowrap"><code class="PARAMETER">lineSize</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new max line size.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NID"></a><h3>xmlSecTransformInclC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NId</pre> +<p>The regular (inclusive) C14N without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NGETKLASS"></a><h3>xmlSecTransformInclC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Inclusive (regular) canonicalization that omits comments transform klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> and +http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20797"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformInclC14NWithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14NWithCommentsId</pre> +<p>The regular (inclusive) C14N with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14NWithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14NWithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Inclusive (regular) canonicalization that includes comments transform klass +(http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-C14NALG"><span class="TYPE">sec-c14nAlg</span></gtkdoclink> and +http://www.w3.org/TR/2001/REC-xml-c14n-20010315).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20821"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n with comments transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11ID"></a><h3>xmlSecTransformInclC14N11Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11Id</pre> +<p>The regular (inclusive) C14N 1.1 without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11GETKLASS"></a><h3>xmlSecTransformInclC14N11GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14N11GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11)</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20843"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n v1.1 transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSID"></a><h3>xmlSecTransformInclC14N11WithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformInclC14N11WithCommentsId</pre> +<p>The regular (inclusive) C14N 1.1 with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMINCLC14N11WITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformInclC14N11WithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformInclC14N11WithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>C14N version 1.1 (http://www.w3.org/TR/xml-c14n11) with comments</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20865"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> c14n v1.1 with comments transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NID"></a><h3>xmlSecTransformExclC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NId</pre> +<p>The exclusive C14N without comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NGETKLASS"></a><h3>xmlSecTransformExclC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformExclC14NGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Exclusive canoncicalization that ommits comments transform klass +(http://www.w3.org/TR/xml-exc-c14n/).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20887"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> exclusive c14n transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSID"></a><h3>xmlSecTransformExclC14NWithCommentsId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformExclC14NWithCommentsId</pre> +<p>The exclusive C14N with comments transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMEXCLC14NWITHCOMMENTSGETKLASS"></a><h3>xmlSecTransformExclC14NWithCommentsGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformExclC14NWithCommentsGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>Exclusive canoncicalization that includes comments transform klass +(http://www.w3.org/TR/xml-exc-c14n/).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20909"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> exclusive c14n with comments transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMENVELOPEDID"></a><h3>xmlSecTransformEnvelopedId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformEnvelopedId</pre> +<p>The "enveloped" transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMENVELOPEDGETKLASS"></a><h3>xmlSecTransformEnvelopedGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformEnvelopedGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The enveloped transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-ENVELOPEDSIGNATURE"><span class="TYPE">sec-EnvelopedSignature</span></gtkdoclink>):</p> +<p>An enveloped signature transform T removes the whole Signature element +containing T from the digest calculation of the Reference element +containing T. The entire string of characters used by an XML processor +to match the Signature with the XML production element is removed. +The output of the transform is equivalent to the output that would +result from replacing T with an XPath transform containing the following +XPath parameter element:</p> +<p><XPath xmlns:dsig="&dsig;"> + count(ancestor-or-self::dsig:Signature | + <gtkdoclink href="HERE"><code class="FUNCTION">here()</code></gtkdoclink>/ancestor::dsig:Signature[1]) > + count(ancestor-or-self::dsig:Signature)</XPath></p> +<p>The input and output requirements of this transform are identical to +those of the XPath transform, but may only be applied to a node-set from +its parent XML document. Note that it is not necessary to use an XPath +expression evaluator to create this transform. However, this transform +MUST produce output in exactly the same manner as the XPath transform +parameterized by the XPath expression above.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20938"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> enveloped transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATHID"></a><h3>xmlSecTransformXPathId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPathId</pre> +<p>The XPath transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATHGETKLASS"></a><h3>xmlSecTransformXPathGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPathGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPath transform evaluates given XPath expression and +intersects the result with the previous nodes set. See +http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-XPATH"><span class="TYPE">sec-XPath</span></gtkdoclink> for more details.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20962"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XPath transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATH2ID"></a><h3>xmlSecTransformXPath2Id</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPath2Id</pre> +<p>The XPath2 transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPATH2GETKLASS"></a><h3>xmlSecTransformXPath2GetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPath2GetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPath2 transform (http://www.w3.org/TR/xmldsig-filter2/).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN20984"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XPath2 transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPOINTERID"></a><h3>xmlSecTransformXPointerId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXPointerId</pre> +<p>The XPointer transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPOINTERGETKLASS"></a><h3>xmlSecTransformXPointerGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXPointerGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The XPointer transform klass +(http://www.ietf.org/internet-drafts/draft-eastlake-xmldsig-uri-02.txt).</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21006"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> XPointer transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXPOINTERSETEXPR"></a><h3>xmlSecTransformXPointerSetExpr ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformXPointerSetExpr (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *expr</code>, + <code class="PARAMETER"><a href="xmlsec-nodeset.html#XMLSECNODESETTYPE"><span class="TYPE">xmlSecNodeSetType</span></a> nodeSetType</code>, + <code class="PARAMETER"><gtkdoclink href="XMLNODE"><span class="TYPE">xmlNodePtr</span></gtkdoclink> hereNode</code>);</pre> +<p>Sets the XPointer expression for an XPointer <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21033"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to XPointer transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21038"><span style="white-space: nowrap"><code class="PARAMETER">expr</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the XPointer expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21043"><span style="white-space: nowrap"><code class="PARAMETER">nodeSetType</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the type of evaluated XPointer expression.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21048"><span style="white-space: nowrap"><code class="PARAMETER">hereNode</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to "here" node.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21053"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXSLTID"></a><h3>xmlSecTransformXsltId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformXsltId</pre> +<p>The XSLT transform klass.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXSLTGETKLASS"></a><h3>xmlSecTransformXsltGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformXsltGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>XSLT transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-XSLT"><span class="TYPE">sec-XSLT</span></gtkdoclink>):</p> +<p>The normative specification for XSL Transformations is [XSLT]. +Specification of a namespace-qualified stylesheet element, which MUST be +the sole child of the Transform element, indicates that the specified style +sheet should be used. Whether this instantiates in-line processing of local +XSLT declarations within the resource is determined by the XSLT processing +model; the ordered application of multiple stylesheet may require multiple +Transforms. No special provision is made for the identification of a remote +stylesheet at a given URI because it can be communicated via an xsl:include +or xsl:import within the stylesheet child of the Transform.</p> +<p>This transform requires an octet stream as input. If the actual input is an +XPath node-set, then the signature application should attempt to convert it +to octets (apply Canonical XML]) as described in the Reference Processing +Model (section 4.3.3.2).]</p> +<p>The output of this transform is an octet stream. The processing rules for +the XSL style sheet or transform element are stated in the XSLT specification +[XSLT]. We RECOMMEND that XSLT transform authors use an output method of xml +for XML and HTML. As XSLT implementations do not produce consistent +serializations of their output, we further RECOMMEND inserting a transform +after the XSLT transform to canonicalize the output. These steps will help +to ensure interoperability of the resulting signatures among applications +that support the XSLT transform. Note that if the output is actually HTML, +then the result of these steps is logically equivalent [XHTML].</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21080"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> pointer to XSLT transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMXSLTSETDEFAULTSECURITYPREFS"></a><h3>xmlSecTransformXsltSetDefaultSecurityPrefs ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="VOID"><span class="RETURNVALUE">void</span></gtkdoclink> xmlSecTransformXsltSetDefaultSecurityPrefs + (<code class="PARAMETER"><gtkdoclink href="XSLTSECURITYPREFS"><span class="TYPE">xsltSecurityPrefsPtr</span></gtkdoclink> sec</code>);</pre> +<p>Sets the new default security preferences. The xmlsec default security policy is +to disable everything.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21097"><span style="white-space: nowrap"><code class="PARAMETER">sec</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the new security preferences</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NID"></a><h3>xmlSecTransformRemoveXmlTagsC14NId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformRemoveXmlTagsC14NId</pre> +<p>The "remove all xml tags" transform klass (used before base64 transforms).</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMREMOVEXMLTAGSC14NGETKLASS"></a><h3>xmlSecTransformRemoveXmlTagsC14NGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformRemoveXmlTagsC14NGetKlass + (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The "remove xml tags" transform klass (http://www.w3.org/TR/xmldsig-core/<gtkdoclink href="SEC-BASE-64"><span class="TYPE">sec-Base-64</span></gtkdoclink>): +Base64 transform requires an octet stream for input. If an XPath node-set +(or sufficiently functional alternative) is given as input, then it is +converted to an octet stream by performing operations logically equivalent +to 1) applying an XPath transform with expression self::<gtkdoclink href="TEXT"><code class="FUNCTION">text()</code></gtkdoclink>, then 2) +taking the string-value of the node-set. Thus, if an XML element is +identified by a barename XPointer in the Reference URI, and its content +consists solely of base64 encoded character data, then this transform +automatically strips away the start and end tags of the identified element +and any of its descendant elements as well as any descendant comments and +processing instructions. The output of this transform is an octet stream.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21123"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> "remove xml tags" transform id.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVISA3DHACKID"></a><h3>xmlSecTransformVisa3DHackId</h3> +<pre class="PROGRAMLISTING">#define xmlSecTransformVisa3DHackId</pre> +<p>Selects node subtree by given node id string. The only reason why we need this +is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows +invalid XPointer expressions in the URI attribute. Since we couldn't evaluate +such expressions thru XPath/XPointer engine, we need to have this hack here.</p> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVISA3DHACKGETKLASS"></a><h3>xmlSecTransformVisa3DHackGetKlass ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="XMLSECTRANSFORMID"><span class="RETURNVALUE">xmlSecTransformId</span></gtkdoclink> xmlSecTransformVisa3DHackGetKlass (<code class="PARAMETER"><span class="TYPE">void</span></code>);</pre> +<p>The Visa3DHack transform klass. The only reason why we need this +is Visa3D protocol. It doesn't follow XML/XPointer/XMLDSig specs and allows +invalid XPointer expressions in the URI attribute. Since we couldn't evaluate +such expressions thru XPath/XPointer engine, we need to have this hack here.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody><tr> +<td align="LEFT" valign="TOP"><a name="AEN21145"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> Visa3DHack transform klass.</p></td> +</tr></tbody></table> +</div> +<hr> +<div class="REFSECT2"> +<a name="XMLSECTRANSFORMVISA3DHACKSETID"></a><h3>xmlSecTransformVisa3DHackSetID ()</h3> +<pre class="PROGRAMLISTING"><gtkdoclink href="INT"><span class="RETURNVALUE">int</span></gtkdoclink> xmlSecTransformVisa3DHackSetID (<code class="PARAMETER"><a href="xmlsec-transforms.html#XMLSECTRANSFORM"><span class="TYPE">xmlSecTransformPtr</span></a> transform</code>, + <code class="PARAMETER">const <gtkdoclink href="XMLCHAR"><span class="TYPE">xmlChar</span></gtkdoclink> *id</code>);</pre> +<p>Sets the ID value for an Visa3DHack <code class="PARAMETER">transform</code>.</p> +<p></p> +<table class="variablelist" border="0" cellspacing="0" cellpadding="4"><tbody> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21166"><span style="white-space: nowrap"><code class="PARAMETER">transform</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the pointer to Visa3DHack transform.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21171"><span style="white-space: nowrap"><code class="PARAMETER">id</code> :</span></a></td> +<td align="LEFT" valign="TOP"><p>the ID value.</p></td> +</tr> +<tr> +<td align="LEFT" valign="TOP"><a name="AEN21176"><span style="white-space: nowrap"><span class="emphasis"><i class="EMPHASIS">Returns</i></span> :</span></a></td> +<td align="LEFT" valign="TOP"><p> 0 on success or a negative value if an error occurs.</p></td> +</tr> +</tbody></table> +</div> +</div> +<table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="2"><tr valign="middle"> +<td align="left"><a accesskey="p" href="xmlsec-templates.html"><b><<< templates</b></a></td> +<td align="right"><a accesskey="n" href="xmlsec-version.html"><b>version >>></b></a></td> +</tr></table> +</td></tr></table></td> +</tr></table></body> +</html> |