<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><meta name="robots" content="noindex"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <!-- THIS FILE IS AUTOMATICALLY GENERATED FROM THE GLOBUS SOURCE CODE DO NOT MODIFY. --> <title>Globus Reference Manual</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.6.2-20100208 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="main.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> </ul> </div> </div> <div class="contents"> <h1>Security Token Transport</h1> <p>Token routines using fread and fwrite. <a href="#_details">More...</a></p> <h2>Token Get File Descriptor</h2> <p><a class="anchor" id="amgrpce5913ae59c4589bfb4ca550f5aa3966"></a> </p> <ul> <li>int <a class="el" href="group__globus__gsi__gss__assist__tokens.html#ga4fbff6540f5094be4b702d5149ce9276">globus_gss_assist_token_get_fd</a> (void *arg, void **bufp, size_t *sizep) </ul> <h2>Token Send File Descriptor</h2> <p><a class="anchor" id="amgrp18356a5e778a06f30d099520f45feb59"></a> </p> <ul> <li>int <a class="el" href="group__globus__gsi__gss__assist__tokens.html#ga505c2624fc42917bbdf17aee0234caf2">globus_gss_assist_token_send_fd</a> (void *arg, void *buf, size_t size) </ul> <h2>Token Send File Descriptor Without Length</h2> <p><a class="anchor" id="amgrp85ab7c818d69ed4278d0d21c8215f533"></a> </p> <ul> <li>int <a class="el" href="group__globus__gsi__gss__assist__tokens.html#ga8382fddaf621387f650bccba2452e691">globus_gss_assist_token_send_fd_without_length</a> (void *arg, void *buf, size_t size) </ul> <h2>Token Send File Descriptor Flag EX</h2> <p><a class="anchor" id="amgrpc307b4869cacc9700cdc9282eedc6356"></a> </p> <ul> <li>int <a class="el" href="group__globus__gsi__gss__assist__tokens.html#ga58f0c32d5b71bd3664fe15d267a8331c">globus_gss_assist_token_send_fd_ex</a> (void *exp, void *buf, size_t size) </ul> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p>Token routines using fread and fwrite. </p> <p>Additional code has been added to detect tokens which are sent without a length field. These can currently be only SSL tokens. This does require some knowledge of the underlying GSSAPI, by the application, but is within the guidelines of the GSSAPI specifications.</p> <p>The get routine will automaticly attempt this test, while a new send routine will check a flag. The old send routine will work as before, sending a 4-byte length. </p> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga4fbff6540f5094be4b702d5149ce9276"></a><!-- doxytag: member="tokens_f.c::globus_gss_assist_token_get_fd" ref="ga4fbff6540f5094be4b702d5149ce9276" args="(void *arg, void **bufp, size_t *sizep)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_gss_assist_token_get_fd </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>arg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void ** </td> <td class="paramname"> <em>bufp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"> <em>sizep</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Use a open file discriptor to get a token. </p> <p>This function provides parameter types that allow it to be passed to <a class="el" href="group__globus__gsi__gss__assist.html#gab903ee3c21ece07d455a0cc56def425f">globus_gss_assist_init_sec_context</a> and <a class="el" href="group__globus__gsi__gss__assist.html#ga01e75ed381ee5a89e6e19c4c12117d73">globus_gss_assist_accept_sec_context</a></p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>arg</em> </td><td>the FILE * stream cast to a void pointer </td></tr> <tr><td valign="top"></td><td valign="top"><em>bufp</em> </td><td>the resulting token </td></tr> <tr><td valign="top"></td><td valign="top"><em>sizep</em> </td><td>the size (number of bytes) read into bufp </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 on success > 0 is internal return < 0 is the -errno </dd></dl> </div> </div> <a class="anchor" id="ga505c2624fc42917bbdf17aee0234caf2"></a><!-- doxytag: member="tokens_f.c::globus_gss_assist_token_send_fd" ref="ga505c2624fc42917bbdf17aee0234caf2" args="(void *arg, void *buf, size_t size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_gss_assist_token_send_fd </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>arg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Write a token to the open file descriptor. </p> <p>WIll write it with a 4 byte length. This function provides parameter types that allow it to be passed to <a class="el" href="group__globus__gsi__gss__assist.html#gab903ee3c21ece07d455a0cc56def425f">globus_gss_assist_init_sec_context</a> and <a class="el" href="group__globus__gsi__gss__assist.html#ga01e75ed381ee5a89e6e19c4c12117d73">globus_gss_assist_accept_sec_context</a></p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>arg</em> </td><td>the FILE * stream to send the token on </td></tr> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>the token </td></tr> <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>the size of the token in bytes</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 on success >0 on error <0 on errno error </dd></dl> </div> </div> <a class="anchor" id="ga8382fddaf621387f650bccba2452e691"></a><!-- doxytag: member="tokens_f.c::globus_gss_assist_token_send_fd_without_length" ref="ga8382fddaf621387f650bccba2452e691" args="(void *arg, void *buf, size_t size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_gss_assist_token_send_fd_without_length </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>arg</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Write a token to the open file descripter. </p> <p>Will write it without a length. so as to </p> </div> </div> <a class="anchor" id="ga58f0c32d5b71bd3664fe15d267a8331c"></a><!-- doxytag: member="tokens_f.c::globus_gss_assist_token_send_fd_ex" ref="ga58f0c32d5b71bd3664fe15d267a8331c" args="(void *exp, void *buf, size_t size)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int globus_gss_assist_token_send_fd_ex </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"> <em>exp</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> <em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"> <em>size</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Write a token to the open file descripter. </p> <p>will look at the flag to determine if the length field need to be written.</p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>exp</em> </td><td>the globus_gss_assist_ex variable that holds the FILE * stream and flags to bet set </td></tr> <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>the token buffer to send </td></tr> <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>size of the token buffer</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>0 on success >0 on error <0 on errno error (-errno) </dd></dl> </div> </div> </div> <hr> <p align="center"> <a href="http://www.globus.org/toolkit/about.html" target="_top">about globus</a> | <a href="http://www.globus.org/toolkit/" target="_top">globus toolkit</a> | <a href="https://dev.globus.org/wiki/Welcome/" target="_top">dev.globus</a> <br> <br> Comments? <a href="mailto:webmaster@globus.org">webmaster@globus.org</a> </body> </html>