<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Rampart/C: rampart_sec_header_builder.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div class="navpath"><a class="el" href="dir_2ab6243317ac98a7842daf660931c511.html">include</a>
  </div>
</div>
</div>
<h1>rampart_sec_header_builder.h</h1><a href="rampart__sec__header__builder_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment"> *   Copyright 2003-2004 The Apache Software Foundation.</span>
<a name="l00003"></a>00003 <span class="comment"> *</span>
<a name="l00004"></a>00004 <span class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</span>
<a name="l00005"></a>00005 <span class="comment"> *   you may not use this file except in compliance with the License.</span>
<a name="l00006"></a>00006 <span class="comment"> *   You may obtain a copy of the License at</span>
<a name="l00007"></a>00007 <span class="comment"> *</span>
<a name="l00008"></a>00008 <span class="comment"> *       http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00009"></a>00009 <span class="comment"> *</span>
<a name="l00010"></a>00010 <span class="comment"> *   Unless required by applicable law or agreed to in writing, software</span>
<a name="l00011"></a>00011 <span class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00012"></a>00012 <span class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00013"></a>00013 <span class="comment"> *   See the License for the specific language governing permissions and</span>
<a name="l00014"></a>00014 <span class="comment"> *   limitations under the License.</span>
<a name="l00015"></a>00015 <span class="comment"> */</span>
<a name="l00016"></a>00016 
<a name="l00017"></a>00017 <span class="preprocessor">#include &lt;axutil_utils_defines.h&gt;</span>
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;axis2_defines.h&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;axutil_env.h&gt;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;axiom_soap.h&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;axis2_msg_ctx.h&gt;</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include &lt;<a class="code" href="rampart__context_8h.html" title="The Rampart Context, in which configurations are stored.">rampart_context.h</a>&gt;</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include &lt;<a class="code" href="oxs__asym__ctx_8h.html" title="Keeps information relavent for asymmetric encryption.">oxs_asym_ctx.h</a>&gt;</span>
<a name="l00024"></a>00024 <span class="preprocessor">#include &lt;<a class="code" href="oxs__xml__encryption_8h.html" title="Does the XML encryption for OMXMLSecurity.">oxs_xml_encryption.h</a>&gt;</span>
<a name="l00036"></a>00036 <span class="preprocessor">#ifndef RAMPART_SEC_HEADER_BUILDER_H</span>
<a name="l00037"></a>00037 <span class="preprocessor"></span><span class="preprocessor">#define RAMPART_SEC_HEADER_BUILDER_H</span>
<a name="l00038"></a>00038 <span class="preprocessor"></span>
<a name="l00039"></a>00039 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00040"></a>00040 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00041"></a>00041 <span class="preprocessor">#endif</span>
<a name="l00042"></a>00042 <span class="preprocessor"></span>
<a name="l00050"></a>00050     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00051"></a>00051     <a class="code" href="group__rampart__sec__header__builder.html#g470160c53b3c8d641b2710ed36f39663">rampart_shb_build_message</a>(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00052"></a>00052                               axis2_msg_ctx_t *msg_ctx,
<a name="l00053"></a>00053                               rampart_context_t *context,
<a name="l00054"></a>00054                               axiom_soap_envelope_t *soap_envelope);
<a name="l00064"></a>00064     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00065"></a>00065     <a class="code" href="group__rampart__sec__header__builder.html#g07fb821c4f8f548da72f496053827977">rampart_shb_ensure_sec_header_order</a>(<span class="keyword">const</span> axutil_env_t *env,
<a name="l00066"></a>00066         axis2_msg_ctx_t *msg_ctx,
<a name="l00067"></a>00067         rampart_context_t *rampart_context,
<a name="l00068"></a>00068         axiom_node_t* sec_node);
<a name="l00069"></a>00069 
<a name="l00070"></a>00070     <span class="comment">/* @} */</span>
<a name="l00071"></a>00071 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00072"></a>00072 <span class="preprocessor"></span>}
<a name="l00073"></a>00073 <span class="preprocessor">#endif</span>
<a name="l00074"></a>00074 <span class="preprocessor"></span>
<a name="l00075"></a>00075 <span class="preprocessor">#endif    </span><span class="comment">/* !RAMPART_SEC_HEADER_BUILDER_H */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Wed May 13 10:52:53 2009 for Rampart/C by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
</body>
</html>
