<!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_processed_result.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_processed_result.h</h1><a href="rampart__sec__processed__result_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"> * Licensed to the Apache Software Foundation (ASF) under one or more</span>
<a name="l00003"></a>00003 <span class="comment"> * contributor license agreements.  See the NOTICE file distributed with</span>
<a name="l00004"></a>00004 <span class="comment"> * this work for additional information regarding copyright ownership.</span>
<a name="l00005"></a>00005 <span class="comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</span>
<a name="l00006"></a>00006 <span class="comment"> * (the "License"); you may not use this file except in compliance with</span>
<a name="l00007"></a>00007 <span class="comment"> * the License.  You may obtain a copy of the License at</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> *      http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00010"></a>00010 <span class="comment"> *</span>
<a name="l00011"></a>00011 <span class="comment"> * Unless required by applicable law or agreed to in writing, software</span>
<a name="l00012"></a>00012 <span class="comment"> * distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00013"></a>00013 <span class="comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00014"></a>00014 <span class="comment"> * See the License for the specific language governing permissions and</span>
<a name="l00015"></a>00015 <span class="comment"> * limitations under the License.</span>
<a name="l00016"></a>00016 <span class="comment"> */</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#include &lt;axutil_utils_defines.h&gt;</span>
<a name="l00019"></a>00019 <span class="preprocessor">#include &lt;axis2_defines.h&gt;</span>
<a name="l00020"></a>00020 <span class="preprocessor">#include &lt;axutil_env.h&gt;</span>
<a name="l00021"></a>00021 <span class="preprocessor">#include &lt;axis2_msg_ctx.h&gt;</span>
<a name="l00022"></a>00022 
<a name="l00027"></a>00027 <span class="preprocessor">#ifndef RAMPART_SEC_PROCESSED_RESULT</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span><span class="preprocessor">#define RAMPART_SEC_PROCESSED_RESULT</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a>00030 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00031"></a>00031 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00032"></a>00032 <span class="preprocessor">#endif</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00047"></a>00047     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00048"></a>00048     <a class="code" href="rampart__sec__processed__result_8h.html#fc665f7c0de2715344a9df226b31f7f9">rampart_set_security_processed_result</a>(
<a name="l00049"></a>00049         <span class="keyword">const</span> axutil_env_t *env,
<a name="l00050"></a>00050         axis2_msg_ctx_t *msg_ctx,
<a name="l00051"></a>00051         axis2_char_t *key,
<a name="l00052"></a>00052         <span class="keywordtype">void</span> *value);
<a name="l00053"></a>00053 
<a name="l00062"></a>00062     AXIS2_EXTERN <span class="keywordtype">void</span> *AXIS2_CALL
<a name="l00063"></a>00063     <a class="code" href="rampart__sec__processed__result_8h.html#564138dbbb3d83f35f7c6b5011dcc8c7">rampart_get_security_processed_result</a>(
<a name="l00064"></a>00064         <span class="keyword">const</span> axutil_env_t *env,
<a name="l00065"></a>00065         axis2_msg_ctx_t *msg_ctx,
<a name="l00066"></a>00066         axis2_char_t *key);
<a name="l00067"></a>00067 
<a name="l00074"></a>00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
<a name="l00075"></a>00075     <a class="code" href="rampart__sec__processed__result_8h.html#79754e88212bbe49c59cf9adefcf278f">rampart_set_security_processed_results_property</a>(
<a name="l00076"></a>00076         <span class="keyword">const</span> axutil_env_t *env,
<a name="l00077"></a>00077         axis2_msg_ctx_t *msg_ctx);
<a name="l00078"></a>00078 
<a name="l00085"></a>00085     AXIS2_EXTERN axutil_hash_t* AXIS2_CALL
<a name="l00086"></a>00086     <a class="code" href="rampart__sec__processed__result_8h.html#a06192310e0dfcec29629023b5016236">rampart_get_all_security_processed_results</a>(
<a name="l00087"></a>00087         <span class="keyword">const</span> axutil_env_t *env,
<a name="l00088"></a>00088         axis2_msg_ctx_t *msg_ctx);
<a name="l00089"></a>00089 
<a name="l00096"></a>00096     AXIS2_EXTERN <span class="keywordtype">void</span> AXIS2_CALL
<a name="l00097"></a>00097     <a class="code" href="rampart__sec__processed__result_8h.html#6e4f20821ff06c66f43921d5592c29cb">rampart_print_security_processed_results_set</a>(
<a name="l00098"></a>00098         <span class="keyword">const</span> axutil_env_t *env,
<a name="l00099"></a>00099         axis2_msg_ctx_t *msg_ctx);
<a name="l00100"></a>00100 
<a name="l00101"></a>00101 
<a name="l00102"></a>00102     <span class="comment">/* @} */</span>
<a name="l00103"></a>00103 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00104"></a>00104 <span class="preprocessor"></span>}
<a name="l00105"></a>00105 <span class="preprocessor">#endif</span>
<a name="l00106"></a>00106 <span class="preprocessor"></span>
<a name="l00107"></a>00107 <span class="preprocessor">#endif    </span><span class="comment">/* !RAMPART_SEC_PROCESSED_RESULT */</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>
