1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 2<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> 3<title>HeimdalKerberos5library: Heimdal Kerberos 5 storage functions</title> 4<link href="doxygen.css" rel="stylesheet" type="text/css"> 5<link href="tabs.css" rel="stylesheet" type="text/css"> 6</head><body> 7<p> 8<a href="http://www.h5l.org/"><img src="http://www.h5l.org/keyhole-heimdal.png" alt="keyhole logo"/></a> 9</p> 10<!-- end of header marker --> 11<!-- Generated by Doxygen 1.5.6 --> 12<div class="navigation" id="top"> 13 <div class="tabs"> 14 <ul> 15 <li><a href="index.html"><span>Main Page</span></a></li> 16 <li><a href="pages.html"><span>Related Pages</span></a></li> 17 <li><a href="modules.html"><span>Modules</span></a></li> 18 <li><a href="annotated.html"><span>Data Structures</span></a></li> 19 </ul> 20 </div> 21</div> 22<div class="contents"> 23<h1>Heimdal Kerberos 5 storage functions</h1><table border="0" cellpadding="0" cellspacing="0"> 24<tr><td></td></tr> 25<tr><td colspan="2"><br><h2>Functions</h2></td></tr> 26<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 27KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g99af12d663a652732293b99ecff81989">krb5_storage_set_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> 28 29<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 30KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g314501a5959ccde26989429691fded9d">krb5_storage_clear_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> 31 32<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_boolean <br> 33KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g430a3498c04aff00534c6e08330b312c">krb5_storage_is_flags</a> (krb5_storage *sp, krb5_flags flags)</td></tr> 34 35<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 36KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder</a> (krb5_storage *sp, krb5_flags byteorder)</td></tr> 37 38<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_flags <br> 39KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g9f521cbe41ed5ba522d3a2006c61201a">krb5_storage_get_byteorder</a> (krb5_storage *sp)</td></tr> 40 41<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 42KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gdaf85983fe8563a63623cd472ff6e2b0">krb5_storage_set_max_alloc</a> (krb5_storage *sp, size_t size)</td></tr> 43 44<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION off_t <br> 45KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4ecf2806cc57252af155a66fbb705773">krb5_storage_seek</a> (krb5_storage *sp, off_t offset, int whence)</td></tr> 46 47<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gac8da1cf94bd8f60c32ae41bd30abae6">krb5_storage_truncate</a> (krb5_storage *sp, off_t offset)</td></tr> 48 49<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_ssize_t <br> 50KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4b916691b096448f5b492fcd67148106">krb5_storage_read</a> (krb5_storage *sp, void *buf, size_t len)</td></tr> 51 52<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_ssize_t <br> 53KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbcc9e0d450d9a02773f4a53bf14fefac">krb5_storage_write</a> (krb5_storage *sp, const void *buf, size_t len)</td></tr> 54 55<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION void <br> 56KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbc10ced03dcf096b2f09b08568087900">krb5_storage_set_eof_code</a> (krb5_storage *sp, int code)</td></tr> 57 58<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION int KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g8f9e3f1442a4f14ac802bdb9db5f4890">krb5_storage_get_eof_code</a> (krb5_storage *sp)</td></tr> 59 60<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 61krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g110924b1d3a19859eafcfb58127adbb9">krb5_storage_free</a> (krb5_storage *sp)</td></tr> 62 63<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 64krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g7722a5408e5be17d0c258cc2e57e4f41">krb5_storage_to_data</a> (krb5_storage *sp, krb5_data *data)</td></tr> 65 66<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 67krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gf20f743f1d41879479c4a9d7c0f05339">krb5_store_int32</a> (krb5_storage *sp, int32_t value)</td></tr> 68 69<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 70krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gc844df1aadfa6d0b38ffd93413aa1fd8">krb5_store_uint32</a> (krb5_storage *sp, uint32_t value)</td></tr> 71 72<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 73krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g34771e1bed3a205479b62058b46bf118">krb5_ret_int32</a> (krb5_storage *sp, int32_t *value)</td></tr> 74 75<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 76krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbfdfdb6469374de5537cb484f84b11cc">krb5_ret_uint32</a> (krb5_storage *sp, uint32_t *value)</td></tr> 77 78<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 79krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g41fd71dc201db2872e59016a1652bf6c">krb5_store_int16</a> (krb5_storage *sp, int16_t value)</td></tr> 80 81<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 82krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g80accfb51fadeb1b19584634701a81f7">krb5_store_uint16</a> (krb5_storage *sp, uint16_t value)</td></tr> 83 84<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 85krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g22a752d61f15a4dfe2f6250b6318e9ad">krb5_ret_int16</a> (krb5_storage *sp, int16_t *value)</td></tr> 86 87<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 88krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g70b3c617f00a9705bc2c5ab841a28aab">krb5_ret_uint16</a> (krb5_storage *sp, uint16_t *value)</td></tr> 89 90<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 91krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g39925711ba540216111a8b84f4a1650a">krb5_store_int8</a> (krb5_storage *sp, int8_t value)</td></tr> 92 93<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 94krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gb9856e6211e292b4c9d4c96941c6948e">krb5_store_uint8</a> (krb5_storage *sp, uint8_t value)</td></tr> 95 96<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 97krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gbb124c12e5cee024f44cc2b7c14d39c2">krb5_ret_int8</a> (krb5_storage *sp, int8_t *value)</td></tr> 98 99<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 100krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g9a90ecc945cf95ea0cda1c6199a735b5">krb5_ret_uint8</a> (krb5_storage *sp, uint8_t *value)</td></tr> 101 102<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 103krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g49be426cc2c3e5b10d87cb7643069f04">krb5_store_data</a> (krb5_storage *sp, krb5_data data)</td></tr> 104 105<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 106krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g8c7a2d85381d67f05b5ac7f11f07317c">krb5_ret_data</a> (krb5_storage *sp, krb5_data *data)</td></tr> 107 108<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 109krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g7d0904deeaf23dd845966b954e4b5355">krb5_store_string</a> (krb5_storage *sp, const char *s)</td></tr> 110 111<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 112krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g832d820ec4510a06ee600d5658f7bb44">krb5_ret_string</a> (krb5_storage *sp, char **string)</td></tr> 113 114<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 115krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g60c3e526288efc7b8a751f43ac254aad">krb5_store_stringz</a> (krb5_storage *sp, const char *s)</td></tr> 116 117<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 118krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g49d6e513666d88682d83fe8a68cdff65">krb5_ret_stringz</a> (krb5_storage *sp, char **string)</td></tr> 119 120<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 121krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g54ca232c7ccaf71e2a26e42196dd9780">krb5_store_principal</a> (krb5_storage *sp, krb5_const_principal p)</td></tr> 122 123<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 124krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g7dc492d545194b464fd91c03f9685127">krb5_ret_principal</a> (krb5_storage *sp, krb5_principal *princ)</td></tr> 125 126<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 127krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g54b3e661a9b7b267ba5df17b2e9a59f9">krb5_store_keyblock</a> (krb5_storage *sp, krb5_keyblock p)</td></tr> 128 129<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 130krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ga187d43f213353f98b8bf7dc3ced58d5">krb5_ret_keyblock</a> (krb5_storage *sp, krb5_keyblock *p)</td></tr> 131 132<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 133krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g3a0bdbf713eea83651b6f9845ea24900">krb5_store_times</a> (krb5_storage *sp, krb5_times times)</td></tr> 134 135<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 136krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gc2821394420e954939f9eab8cb6492f5">krb5_ret_times</a> (krb5_storage *sp, krb5_times *times)</td></tr> 137 138<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 139krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g36c55f5c0c7b555a189623a49bc478cf">krb5_store_address</a> (krb5_storage *sp, krb5_address p)</td></tr> 140 141<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 142krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g6e0be2257ada5b7a37601bde612c3d0c">krb5_ret_address</a> (krb5_storage *sp, krb5_address *adr)</td></tr> 143 144<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 145krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#gd3a1994e44a47e8106334820db9e4946">krb5_store_addrs</a> (krb5_storage *sp, krb5_addresses p)</td></tr> 146 147<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 148krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4aeeeaba2f5f67031e29704132ecd9ff">krb5_ret_addrs</a> (krb5_storage *sp, krb5_addresses *adr)</td></tr> 149 150<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 151krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g51b5290d8fd6a75c0142815899e209b2">krb5_store_authdata</a> (krb5_storage *sp, krb5_authdata auth)</td></tr> 152 153<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 154krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g49b219ccbc36aed9f3979b4f5374879f">krb5_ret_authdata</a> (krb5_storage *sp, krb5_authdata *auth)</td></tr> 155 156<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 157krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g78a861ff5fb0090d6c05046ef2cff117">krb5_store_creds</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> 158 159<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 160krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g2dc654b283ff77bc4f9071f4a230948b">krb5_ret_creds</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> 161 162<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 163krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g4a3550d1bb7b7641a8c5904e2dcf1a16">krb5_store_creds_tag</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> 164 165<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION <br> 166krb5_error_code KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#ge7b1a317660a64e555622499bb7624c6">krb5_ret_creds_tag</a> (krb5_storage *sp, krb5_creds *creds)</td></tr> 167 168<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> 169*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g6ba3655c175405064c1ec80e044667cb">krb5_storage_emem</a> (void)</td></tr> 170 171<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> 172*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd</a> (krb5_socket_t fd_in)</td></tr> 173 174<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> 175*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem</a> (void *buf, size_t len)</td></tr> 176 177<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> 178*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data</a> (krb5_data *data)</td></tr> 179 180<tr><td class="memItemLeft" nowrap align="right" valign="top">KRB5_LIB_FUNCTION krb5_storage <br> 181*KRB5_LIB_CALL </td><td class="memItemRight" valign="bottom"><a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem</a> (const void *buf, size_t len)</td></tr> 182 183</table> 184<hr><a name="_details"></a><h2>Detailed Description</h2> 185<hr><h2>Function Documentation</h2> 186<a class="anchor" name="g6e0be2257ada5b7a37601bde612c3d0c"></a><!-- doxytag: member="store.c::krb5_ret_address" ref="g6e0be2257ada5b7a37601bde612c3d0c" args="(krb5_storage *sp, krb5_address *adr)" --> 187<div class="memitem"> 188<div class="memproto"> 189 <table class="memname"> 190 <tr> 191 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_address </td> 192 <td>(</td> 193 <td class="paramtype">krb5_storage * </td> 194 <td class="paramname"> <em>sp</em>, </td> 195 </tr> 196 <tr> 197 <td class="paramkey"></td> 198 <td></td> 199 <td class="paramtype">krb5_address * </td> 200 <td class="paramname"> <em>adr</em></td><td> </td> 201 </tr> 202 <tr> 203 <td></td> 204 <td>)</td> 205 <td></td><td></td><td></td> 206 </tr> 207 </table> 208</div> 209<div class="memdoc"> 210 211<p> 212Read a address block from the storage.<p> 213<dl compact><dt><b>Parameters:</b></dt><dd> 214 <table border="0" cellspacing="2" cellpadding="0"> 215 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 216 <tr><td valign="top"></td><td valign="top"><em>adr</em> </td><td>the address block read from storage</td></tr> 217 </table> 218</dl> 219<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 220 221</div> 222</div><p> 223<a class="anchor" name="g4aeeeaba2f5f67031e29704132ecd9ff"></a><!-- doxytag: member="store.c::krb5_ret_addrs" ref="g4aeeeaba2f5f67031e29704132ecd9ff" args="(krb5_storage *sp, krb5_addresses *adr)" --> 224<div class="memitem"> 225<div class="memproto"> 226 <table class="memname"> 227 <tr> 228 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_addrs </td> 229 <td>(</td> 230 <td class="paramtype">krb5_storage * </td> 231 <td class="paramname"> <em>sp</em>, </td> 232 </tr> 233 <tr> 234 <td class="paramkey"></td> 235 <td></td> 236 <td class="paramtype">krb5_addresses * </td> 237 <td class="paramname"> <em>adr</em></td><td> </td> 238 </tr> 239 <tr> 240 <td></td> 241 <td>)</td> 242 <td></td><td></td><td></td> 243 </tr> 244 </table> 245</div> 246<div class="memdoc"> 247 248<p> 249Read a addresses block from the storage.<p> 250<dl compact><dt><b>Parameters:</b></dt><dd> 251 <table border="0" cellspacing="2" cellpadding="0"> 252 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 253 <tr><td valign="top"></td><td valign="top"><em>adr</em> </td><td>the addresses block read from storage</td></tr> 254 </table> 255</dl> 256<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 257 258</div> 259</div><p> 260<a class="anchor" name="g49b219ccbc36aed9f3979b4f5374879f"></a><!-- doxytag: member="store.c::krb5_ret_authdata" ref="g49b219ccbc36aed9f3979b4f5374879f" args="(krb5_storage *sp, krb5_authdata *auth)" --> 261<div class="memitem"> 262<div class="memproto"> 263 <table class="memname"> 264 <tr> 265 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_authdata </td> 266 <td>(</td> 267 <td class="paramtype">krb5_storage * </td> 268 <td class="paramname"> <em>sp</em>, </td> 269 </tr> 270 <tr> 271 <td class="paramkey"></td> 272 <td></td> 273 <td class="paramtype">krb5_authdata * </td> 274 <td class="paramname"> <em>auth</em></td><td> </td> 275 </tr> 276 <tr> 277 <td></td> 278 <td>)</td> 279 <td></td><td></td><td></td> 280 </tr> 281 </table> 282</div> 283<div class="memdoc"> 284 285<p> 286Read a auth data from the storage.<p> 287<dl compact><dt><b>Parameters:</b></dt><dd> 288 <table border="0" cellspacing="2" cellpadding="0"> 289 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 290 <tr><td valign="top"></td><td valign="top"><em>auth</em> </td><td>the auth data block read from storage</td></tr> 291 </table> 292</dl> 293<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 294 295</div> 296</div><p> 297<a class="anchor" name="g2dc654b283ff77bc4f9071f4a230948b"></a><!-- doxytag: member="store.c::krb5_ret_creds" ref="g2dc654b283ff77bc4f9071f4a230948b" args="(krb5_storage *sp, krb5_creds *creds)" --> 298<div class="memitem"> 299<div class="memproto"> 300 <table class="memname"> 301 <tr> 302 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds </td> 303 <td>(</td> 304 <td class="paramtype">krb5_storage * </td> 305 <td class="paramname"> <em>sp</em>, </td> 306 </tr> 307 <tr> 308 <td class="paramkey"></td> 309 <td></td> 310 <td class="paramtype">krb5_creds * </td> 311 <td class="paramname"> <em>creds</em></td><td> </td> 312 </tr> 313 <tr> 314 <td></td> 315 <td>)</td> 316 <td></td><td></td><td></td> 317 </tr> 318 </table> 319</div> 320<div class="memdoc"> 321 322<p> 323Read a credentials block from the storage.<p> 324<dl compact><dt><b>Parameters:</b></dt><dd> 325 <table border="0" cellspacing="2" cellpadding="0"> 326 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 327 <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the credentials block read from storage</td></tr> 328 </table> 329</dl> 330<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 331 332</div> 333</div><p> 334<a class="anchor" name="ge7b1a317660a64e555622499bb7624c6"></a><!-- doxytag: member="store.c::krb5_ret_creds_tag" ref="ge7b1a317660a64e555622499bb7624c6" args="(krb5_storage *sp, krb5_creds *creds)" --> 335<div class="memitem"> 336<div class="memproto"> 337 <table class="memname"> 338 <tr> 339 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_creds_tag </td> 340 <td>(</td> 341 <td class="paramtype">krb5_storage * </td> 342 <td class="paramname"> <em>sp</em>, </td> 343 </tr> 344 <tr> 345 <td class="paramkey"></td> 346 <td></td> 347 <td class="paramtype">krb5_creds * </td> 348 <td class="paramname"> <em>creds</em></td><td> </td> 349 </tr> 350 <tr> 351 <td></td> 352 <td>)</td> 353 <td></td><td></td><td></td> 354 </tr> 355 </table> 356</div> 357<div class="memdoc"> 358 359<p> 360Read a tagged credentials block from the storage.<p> 361<dl compact><dt><b>Parameters:</b></dt><dd> 362 <table border="0" cellspacing="2" cellpadding="0"> 363 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 364 <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the credentials block read from storage</td></tr> 365 </table> 366</dl> 367<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 368 369</div> 370</div><p> 371<a class="anchor" name="g8c7a2d85381d67f05b5ac7f11f07317c"></a><!-- doxytag: member="store.c::krb5_ret_data" ref="g8c7a2d85381d67f05b5ac7f11f07317c" args="(krb5_storage *sp, krb5_data *data)" --> 372<div class="memitem"> 373<div class="memproto"> 374 <table class="memname"> 375 <tr> 376 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_data </td> 377 <td>(</td> 378 <td class="paramtype">krb5_storage * </td> 379 <td class="paramname"> <em>sp</em>, </td> 380 </tr> 381 <tr> 382 <td class="paramkey"></td> 383 <td></td> 384 <td class="paramtype">krb5_data * </td> 385 <td class="paramname"> <em>data</em></td><td> </td> 386 </tr> 387 <tr> 388 <td></td> 389 <td>)</td> 390 <td></td><td></td><td></td> 391 </tr> 392 </table> 393</div> 394<div class="memdoc"> 395 396<p> 397Parse a data from the storage.<p> 398<dl compact><dt><b>Parameters:</b></dt><dd> 399 <table border="0" cellspacing="2" cellpadding="0"> 400 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> 401 <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the parsed data</td></tr> 402 </table> 403</dl> 404<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 405 406</div> 407</div><p> 408<a class="anchor" name="g22a752d61f15a4dfe2f6250b6318e9ad"></a><!-- doxytag: member="store.c::krb5_ret_int16" ref="g22a752d61f15a4dfe2f6250b6318e9ad" args="(krb5_storage *sp, int16_t *value)" --> 409<div class="memitem"> 410<div class="memproto"> 411 <table class="memname"> 412 <tr> 413 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int16 </td> 414 <td>(</td> 415 <td class="paramtype">krb5_storage * </td> 416 <td class="paramname"> <em>sp</em>, </td> 417 </tr> 418 <tr> 419 <td class="paramkey"></td> 420 <td></td> 421 <td class="paramtype">int16_t * </td> 422 <td class="paramname"> <em>value</em></td><td> </td> 423 </tr> 424 <tr> 425 <td></td> 426 <td>)</td> 427 <td></td><td></td><td></td> 428 </tr> 429 </table> 430</div> 431<div class="memdoc"> 432 433<p> 434Read a int16 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 435<dl compact><dt><b>Parameters:</b></dt><dd> 436 <table border="0" cellspacing="2" cellpadding="0"> 437 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 438 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> 439 </table> 440</dl> 441<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 442 443</div> 444</div><p> 445<a class="anchor" name="g34771e1bed3a205479b62058b46bf118"></a><!-- doxytag: member="store.c::krb5_ret_int32" ref="g34771e1bed3a205479b62058b46bf118" args="(krb5_storage *sp, int32_t *value)" --> 446<div class="memitem"> 447<div class="memproto"> 448 <table class="memname"> 449 <tr> 450 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int32 </td> 451 <td>(</td> 452 <td class="paramtype">krb5_storage * </td> 453 <td class="paramname"> <em>sp</em>, </td> 454 </tr> 455 <tr> 456 <td class="paramkey"></td> 457 <td></td> 458 <td class="paramtype">int32_t * </td> 459 <td class="paramname"> <em>value</em></td><td> </td> 460 </tr> 461 <tr> 462 <td></td> 463 <td>)</td> 464 <td></td><td></td><td></td> 465 </tr> 466 </table> 467</div> 468<div class="memdoc"> 469 470<p> 471Read a int32 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 472<dl compact><dt><b>Parameters:</b></dt><dd> 473 <table border="0" cellspacing="2" cellpadding="0"> 474 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 475 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> 476 </table> 477</dl> 478<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 479 480</div> 481</div><p> 482<a class="anchor" name="gbb124c12e5cee024f44cc2b7c14d39c2"></a><!-- doxytag: member="store.c::krb5_ret_int8" ref="gbb124c12e5cee024f44cc2b7c14d39c2" args="(krb5_storage *sp, int8_t *value)" --> 483<div class="memitem"> 484<div class="memproto"> 485 <table class="memname"> 486 <tr> 487 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_int8 </td> 488 <td>(</td> 489 <td class="paramtype">krb5_storage * </td> 490 <td class="paramname"> <em>sp</em>, </td> 491 </tr> 492 <tr> 493 <td class="paramkey"></td> 494 <td></td> 495 <td class="paramtype">int8_t * </td> 496 <td class="paramname"> <em>value</em></td><td> </td> 497 </tr> 498 <tr> 499 <td></td> 500 <td>)</td> 501 <td></td><td></td><td></td> 502 </tr> 503 </table> 504</div> 505<div class="memdoc"> 506 507<p> 508Read a int8 from storage<p> 509<dl compact><dt><b>Parameters:</b></dt><dd> 510 <table border="0" cellspacing="2" cellpadding="0"> 511 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 512 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> 513 </table> 514</dl> 515<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 516 517</div> 518</div><p> 519<a class="anchor" name="ga187d43f213353f98b8bf7dc3ced58d5"></a><!-- doxytag: member="store.c::krb5_ret_keyblock" ref="ga187d43f213353f98b8bf7dc3ced58d5" args="(krb5_storage *sp, krb5_keyblock *p)" --> 520<div class="memitem"> 521<div class="memproto"> 522 <table class="memname"> 523 <tr> 524 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_keyblock </td> 525 <td>(</td> 526 <td class="paramtype">krb5_storage * </td> 527 <td class="paramname"> <em>sp</em>, </td> 528 </tr> 529 <tr> 530 <td class="paramkey"></td> 531 <td></td> 532 <td class="paramtype">krb5_keyblock * </td> 533 <td class="paramname"> <em>p</em></td><td> </td> 534 </tr> 535 <tr> 536 <td></td> 537 <td>)</td> 538 <td></td><td></td><td></td> 539 </tr> 540 </table> 541</div> 542<div class="memdoc"> 543 544<p> 545Read a keyblock from the storage.<p> 546<dl compact><dt><b>Parameters:</b></dt><dd> 547 <table border="0" cellspacing="2" cellpadding="0"> 548 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 549 <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the keyblock read from storage, free using <a class="el" href="group__krb5__crypto.html#g2e434abf56e7d7852358e11cdab0bb33">krb5_free_keyblock()</a></td></tr> 550 </table> 551</dl> 552<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 553 554</div> 555</div><p> 556<a class="anchor" name="g7dc492d545194b464fd91c03f9685127"></a><!-- doxytag: member="store.c::krb5_ret_principal" ref="g7dc492d545194b464fd91c03f9685127" args="(krb5_storage *sp, krb5_principal *princ)" --> 557<div class="memitem"> 558<div class="memproto"> 559 <table class="memname"> 560 <tr> 561 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_principal </td> 562 <td>(</td> 563 <td class="paramtype">krb5_storage * </td> 564 <td class="paramname"> <em>sp</em>, </td> 565 </tr> 566 <tr> 567 <td class="paramkey"></td> 568 <td></td> 569 <td class="paramtype">krb5_principal * </td> 570 <td class="paramname"> <em>princ</em></td><td> </td> 571 </tr> 572 <tr> 573 <td></td> 574 <td>)</td> 575 <td></td><td></td><td></td> 576 </tr> 577 </table> 578</div> 579<div class="memdoc"> 580 581<p> 582Parse principal from the storage.<p> 583<dl compact><dt><b>Parameters:</b></dt><dd> 584 <table border="0" cellspacing="2" cellpadding="0"> 585 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> 586 <tr><td valign="top"></td><td valign="top"><em>princ</em> </td><td>the parsed principal</td></tr> 587 </table> 588</dl> 589<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 590 591</div> 592</div><p> 593<a class="anchor" name="g832d820ec4510a06ee600d5658f7bb44"></a><!-- doxytag: member="store.c::krb5_ret_string" ref="g832d820ec4510a06ee600d5658f7bb44" args="(krb5_storage *sp, char **string)" --> 594<div class="memitem"> 595<div class="memproto"> 596 <table class="memname"> 597 <tr> 598 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_string </td> 599 <td>(</td> 600 <td class="paramtype">krb5_storage * </td> 601 <td class="paramname"> <em>sp</em>, </td> 602 </tr> 603 <tr> 604 <td class="paramkey"></td> 605 <td></td> 606 <td class="paramtype">char ** </td> 607 <td class="paramname"> <em>string</em></td><td> </td> 608 </tr> 609 <tr> 610 <td></td> 611 <td>)</td> 612 <td></td><td></td><td></td> 613 </tr> 614 </table> 615</div> 616<div class="memdoc"> 617 618<p> 619Parse a string from the storage.<p> 620<dl compact><dt><b>Parameters:</b></dt><dd> 621 <table border="0" cellspacing="2" cellpadding="0"> 622 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> 623 <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>the parsed string</td></tr> 624 </table> 625</dl> 626<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 627 628</div> 629</div><p> 630<a class="anchor" name="g49d6e513666d88682d83fe8a68cdff65"></a><!-- doxytag: member="store.c::krb5_ret_stringz" ref="g49d6e513666d88682d83fe8a68cdff65" args="(krb5_storage *sp, char **string)" --> 631<div class="memitem"> 632<div class="memproto"> 633 <table class="memname"> 634 <tr> 635 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_stringz </td> 636 <td>(</td> 637 <td class="paramtype">krb5_storage * </td> 638 <td class="paramname"> <em>sp</em>, </td> 639 </tr> 640 <tr> 641 <td class="paramkey"></td> 642 <td></td> 643 <td class="paramtype">char ** </td> 644 <td class="paramname"> <em>string</em></td><td> </td> 645 </tr> 646 <tr> 647 <td></td> 648 <td>)</td> 649 <td></td><td></td><td></td> 650 </tr> 651 </table> 652</div> 653<div class="memdoc"> 654 655<p> 656Parse zero terminated string from the storage.<p> 657<dl compact><dt><b>Parameters:</b></dt><dd> 658 <table border="0" cellspacing="2" cellpadding="0"> 659 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> 660 <tr><td valign="top"></td><td valign="top"><em>string</em> </td><td>the parsed string</td></tr> 661 </table> 662</dl> 663<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 664 665</div> 666</div><p> 667<a class="anchor" name="gc2821394420e954939f9eab8cb6492f5"></a><!-- doxytag: member="store.c::krb5_ret_times" ref="gc2821394420e954939f9eab8cb6492f5" args="(krb5_storage *sp, krb5_times *times)" --> 668<div class="memitem"> 669<div class="memproto"> 670 <table class="memname"> 671 <tr> 672 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_times </td> 673 <td>(</td> 674 <td class="paramtype">krb5_storage * </td> 675 <td class="paramname"> <em>sp</em>, </td> 676 </tr> 677 <tr> 678 <td class="paramkey"></td> 679 <td></td> 680 <td class="paramtype">krb5_times * </td> 681 <td class="paramname"> <em>times</em></td><td> </td> 682 </tr> 683 <tr> 684 <td></td> 685 <td>)</td> 686 <td></td><td></td><td></td> 687 </tr> 688 </table> 689</div> 690<div class="memdoc"> 691 692<p> 693Read a times block from the storage.<p> 694<dl compact><dt><b>Parameters:</b></dt><dd> 695 <table border="0" cellspacing="2" cellpadding="0"> 696 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 697 <tr><td valign="top"></td><td valign="top"><em>times</em> </td><td>the times block read from storage</td></tr> 698 </table> 699</dl> 700<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 701 702</div> 703</div><p> 704<a class="anchor" name="g70b3c617f00a9705bc2c5ab841a28aab"></a><!-- doxytag: member="store.c::krb5_ret_uint16" ref="g70b3c617f00a9705bc2c5ab841a28aab" args="(krb5_storage *sp, uint16_t *value)" --> 705<div class="memitem"> 706<div class="memproto"> 707 <table class="memname"> 708 <tr> 709 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint16 </td> 710 <td>(</td> 711 <td class="paramtype">krb5_storage * </td> 712 <td class="paramname"> <em>sp</em>, </td> 713 </tr> 714 <tr> 715 <td class="paramkey"></td> 716 <td></td> 717 <td class="paramtype">uint16_t * </td> 718 <td class="paramname"> <em>value</em></td><td> </td> 719 </tr> 720 <tr> 721 <td></td> 722 <td>)</td> 723 <td></td><td></td><td></td> 724 </tr> 725 </table> 726</div> 727<div class="memdoc"> 728 729<p> 730Read a int16 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 731<dl compact><dt><b>Parameters:</b></dt><dd> 732 <table border="0" cellspacing="2" cellpadding="0"> 733 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 734 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> 735 </table> 736</dl> 737<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 738 739</div> 740</div><p> 741<a class="anchor" name="gbfdfdb6469374de5537cb484f84b11cc"></a><!-- doxytag: member="store.c::krb5_ret_uint32" ref="gbfdfdb6469374de5537cb484f84b11cc" args="(krb5_storage *sp, uint32_t *value)" --> 742<div class="memitem"> 743<div class="memproto"> 744 <table class="memname"> 745 <tr> 746 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint32 </td> 747 <td>(</td> 748 <td class="paramtype">krb5_storage * </td> 749 <td class="paramname"> <em>sp</em>, </td> 750 </tr> 751 <tr> 752 <td class="paramkey"></td> 753 <td></td> 754 <td class="paramtype">uint32_t * </td> 755 <td class="paramname"> <em>value</em></td><td> </td> 756 </tr> 757 <tr> 758 <td></td> 759 <td>)</td> 760 <td></td><td></td><td></td> 761 </tr> 762 </table> 763</div> 764<div class="memdoc"> 765 766<p> 767Read a uint32 from storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 768<dl compact><dt><b>Parameters:</b></dt><dd> 769 <table border="0" cellspacing="2" cellpadding="0"> 770 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 771 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> 772 </table> 773</dl> 774<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 775 776</div> 777</div><p> 778<a class="anchor" name="g9a90ecc945cf95ea0cda1c6199a735b5"></a><!-- doxytag: member="store.c::krb5_ret_uint8" ref="g9a90ecc945cf95ea0cda1c6199a735b5" args="(krb5_storage *sp, uint8_t *value)" --> 779<div class="memitem"> 780<div class="memproto"> 781 <table class="memname"> 782 <tr> 783 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_ret_uint8 </td> 784 <td>(</td> 785 <td class="paramtype">krb5_storage * </td> 786 <td class="paramname"> <em>sp</em>, </td> 787 </tr> 788 <tr> 789 <td class="paramkey"></td> 790 <td></td> 791 <td class="paramtype">uint8_t * </td> 792 <td class="paramname"> <em>value</em></td><td> </td> 793 </tr> 794 <tr> 795 <td></td> 796 <td>)</td> 797 <td></td><td></td><td></td> 798 </tr> 799 </table> 800</div> 801<div class="memdoc"> 802 803<p> 804Read a uint8 from storage<p> 805<dl compact><dt><b>Parameters:</b></dt><dd> 806 <table border="0" cellspacing="2" cellpadding="0"> 807 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 808 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value read from the buffer</td></tr> 809 </table> 810</dl> 811<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 812 813</div> 814</div><p> 815<a class="anchor" name="g314501a5959ccde26989429691fded9d"></a><!-- doxytag: member="store.c::krb5_storage_clear_flags" ref="g314501a5959ccde26989429691fded9d" args="(krb5_storage *sp, krb5_flags flags)" --> 816<div class="memitem"> 817<div class="memproto"> 818 <table class="memname"> 819 <tr> 820 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_clear_flags </td> 821 <td>(</td> 822 <td class="paramtype">krb5_storage * </td> 823 <td class="paramname"> <em>sp</em>, </td> 824 </tr> 825 <tr> 826 <td class="paramkey"></td> 827 <td></td> 828 <td class="paramtype">krb5_flags </td> 829 <td class="paramname"> <em>flags</em></td><td> </td> 830 </tr> 831 <tr> 832 <td></td> 833 <td>)</td> 834 <td></td><td></td><td></td> 835 </tr> 836 </table> 837</div> 838<div class="memdoc"> 839 840<p> 841Clear the flags on a storage buffer<p> 842<dl compact><dt><b>Parameters:</b></dt><dd> 843 <table border="0" cellspacing="2" cellpadding="0"> 844 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to clear the flags on </td></tr> 845 <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>the flags to clear </td></tr> 846 </table> 847</dl> 848 849</div> 850</div><p> 851<a class="anchor" name="g6ba3655c175405064c1ec80e044667cb"></a><!-- doxytag: member="store_emem.c::krb5_storage_emem" ref="g6ba3655c175405064c1ec80e044667cb" args="(void)" --> 852<div class="memitem"> 853<div class="memproto"> 854 <table class="memname"> 855 <tr> 856 <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_emem </td> 857 <td>(</td> 858 <td class="paramtype">void </td> 859 <td class="paramname"> </td> 860 <td> ) </td> 861 <td></td> 862 </tr> 863 </table> 864</div> 865<div class="memdoc"> 866 867<p> 868Create a elastic (allocating) memory storage backend. Memory is allocated on demand. Free returned krb5_storage with <a class="el" href="group__krb5__storage.html#g110924b1d3a19859eafcfb58127adbb9">krb5_storage_free()</a>.<p> 869<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> 870<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> 871<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> 872<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> <p> 873<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd></dl> 874 875</div> 876</div><p> 877<a class="anchor" name="g110924b1d3a19859eafcfb58127adbb9"></a><!-- doxytag: member="store.c::krb5_storage_free" ref="g110924b1d3a19859eafcfb58127adbb9" args="(krb5_storage *sp)" --> 878<div class="memitem"> 879<div class="memproto"> 880 <table class="memname"> 881 <tr> 882 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_free </td> 883 <td>(</td> 884 <td class="paramtype">krb5_storage * </td> 885 <td class="paramname"> <em>sp</em> </td> 886 <td> ) </td> 887 <td></td> 888 </tr> 889 </table> 890</div> 891<div class="memdoc"> 892 893<p> 894Free a krb5 storage.<p> 895<dl compact><dt><b>Parameters:</b></dt><dd> 896 <table border="0" cellspacing="2" cellpadding="0"> 897 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to free.</td></tr> 898 </table> 899</dl> 900<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Kerberos 5 error code. </dd></dl> 901 902</div> 903</div><p> 904<a class="anchor" name="g022a581989d5cffca3ac53dd79d865af"></a><!-- doxytag: member="store_mem.c::krb5_storage_from_data" ref="g022a581989d5cffca3ac53dd79d865af" args="(krb5_data *data)" --> 905<div class="memitem"> 906<div class="memproto"> 907 <table class="memname"> 908 <tr> 909 <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_data </td> 910 <td>(</td> 911 <td class="paramtype">krb5_data * </td> 912 <td class="paramname"> <em>data</em> </td> 913 <td> ) </td> 914 <td></td> 915 </tr> 916 </table> 917</div> 918<div class="memdoc"> 919 920<p> 921Create a fixed size memory storage block<p> 922<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> 923<dl class="see" compact><dt><b>See also:</b></dt><dd>krb5_storage_mem() <p> 924<a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> 925<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> 926<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> </dd></dl> 927 928</div> 929</div><p> 930<a class="anchor" name="g60c7ea40fa36375dfd6b4c1213834668"></a><!-- doxytag: member="store_fd.c::krb5_storage_from_fd" ref="g60c7ea40fa36375dfd6b4c1213834668" args="(krb5_socket_t fd_in)" --> 931<div class="memitem"> 932<div class="memproto"> 933 <table class="memname"> 934 <tr> 935 <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_fd </td> 936 <td>(</td> 937 <td class="paramtype">krb5_socket_t </td> 938 <td class="paramname"> <em>fd_in</em> </td> 939 <td> ) </td> 940 <td></td> 941 </tr> 942 </table> 943</div> 944<div class="memdoc"> 945 946<p> 947<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> 948<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__krb5__storage.html#g6ba3655c175405064c1ec80e044667cb">krb5_storage_emem()</a> <p> 949<a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> 950<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> 951<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> </dd></dl> 952 953</div> 954</div><p> 955<a class="anchor" name="g481850b82dfa486ffaf15be7109f9d07"></a><!-- doxytag: member="store_mem.c::krb5_storage_from_mem" ref="g481850b82dfa486ffaf15be7109f9d07" args="(void *buf, size_t len)" --> 956<div class="memitem"> 957<div class="memproto"> 958 <table class="memname"> 959 <tr> 960 <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_mem </td> 961 <td>(</td> 962 <td class="paramtype">void * </td> 963 <td class="paramname"> <em>buf</em>, </td> 964 </tr> 965 <tr> 966 <td class="paramkey"></td> 967 <td></td> 968 <td class="paramtype">size_t </td> 969 <td class="paramname"> <em>len</em></td><td> </td> 970 </tr> 971 <tr> 972 <td></td> 973 <td>)</td> 974 <td></td><td></td><td></td> 975 </tr> 976 </table> 977</div> 978<div class="memdoc"> 979 980<p> 981Create a fixed size memory storage block<p> 982<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> 983<dl class="see" compact><dt><b>See also:</b></dt><dd>krb5_storage_mem() <p> 984<a class="el" href="group__krb5__storage.html#g53fa57f40353b6dc6a322f597ddbe628">krb5_storage_from_readonly_mem()</a> <p> 985<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> <p> 986<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> </dd></dl> 987 988</div> 989</div><p> 990<a class="anchor" name="g53fa57f40353b6dc6a322f597ddbe628"></a><!-- doxytag: member="store_mem.c::krb5_storage_from_readonly_mem" ref="g53fa57f40353b6dc6a322f597ddbe628" args="(const void *buf, size_t len)" --> 991<div class="memitem"> 992<div class="memproto"> 993 <table class="memname"> 994 <tr> 995 <td class="memname">KRB5_LIB_FUNCTION krb5_storage* KRB5_LIB_CALL krb5_storage_from_readonly_mem </td> 996 <td>(</td> 997 <td class="paramtype">const void * </td> 998 <td class="paramname"> <em>buf</em>, </td> 999 </tr> 1000 <tr> 1001 <td class="paramkey"></td> 1002 <td></td> 1003 <td class="paramtype">size_t </td> 1004 <td class="paramname"> <em>len</em></td><td> </td> 1005 </tr> 1006 <tr> 1007 <td></td> 1008 <td>)</td> 1009 <td></td><td></td><td></td> 1010 </tr> 1011 </table> 1012</div> 1013<div class="memdoc"> 1014 1015<p> 1016Create a fixed size memory storage block that is read only<p> 1017<dl class="return" compact><dt><b>Returns:</b></dt><dd>A krb5_storage on success, or NULL on out of memory error.</dd></dl> 1018<dl class="see" compact><dt><b>See also:</b></dt><dd>krb5_storage_mem() <p> 1019<a class="el" href="group__krb5__storage.html#g481850b82dfa486ffaf15be7109f9d07">krb5_storage_from_mem()</a> <p> 1020<a class="el" href="group__krb5__storage.html#g022a581989d5cffca3ac53dd79d865af">krb5_storage_from_data()</a> <p> 1021<a class="el" href="group__krb5__storage.html#g60c7ea40fa36375dfd6b4c1213834668">krb5_storage_from_fd()</a> </dd></dl> 1022 1023</div> 1024</div><p> 1025<a class="anchor" name="g9f521cbe41ed5ba522d3a2006c61201a"></a><!-- doxytag: member="store.c::krb5_storage_get_byteorder" ref="g9f521cbe41ed5ba522d3a2006c61201a" args="(krb5_storage *sp)" --> 1026<div class="memitem"> 1027<div class="memproto"> 1028 <table class="memname"> 1029 <tr> 1030 <td class="memname">KRB5_LIB_FUNCTION krb5_flags KRB5_LIB_CALL krb5_storage_get_byteorder </td> 1031 <td>(</td> 1032 <td class="paramtype">krb5_storage * </td> 1033 <td class="paramname"> <em>sp</em> </td> 1034 <td> ) </td> 1035 <td></td> 1036 </tr> 1037 </table> 1038</div> 1039<div class="memdoc"> 1040 1041<p> 1042Return the current byteorder for the buffer. See <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a> for the list or byte order contants. 1043</div> 1044</div><p> 1045<a class="anchor" name="g8f9e3f1442a4f14ac802bdb9db5f4890"></a><!-- doxytag: member="store.c::krb5_storage_get_eof_code" ref="g8f9e3f1442a4f14ac802bdb9db5f4890" args="(krb5_storage *sp)" --> 1046<div class="memitem"> 1047<div class="memproto"> 1048 <table class="memname"> 1049 <tr> 1050 <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_get_eof_code </td> 1051 <td>(</td> 1052 <td class="paramtype">krb5_storage * </td> 1053 <td class="paramname"> <em>sp</em> </td> 1054 <td> ) </td> 1055 <td></td> 1056 </tr> 1057 </table> 1058</div> 1059<div class="memdoc"> 1060 1061<p> 1062Get the return code that will be used when end of storage is reached.<p> 1063<dl compact><dt><b>Parameters:</b></dt><dd> 1064 <table border="0" cellspacing="2" cellpadding="0"> 1065 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage</td></tr> 1066 </table> 1067</dl> 1068<dl class="return" compact><dt><b>Returns:</b></dt><dd>storage error code </dd></dl> 1069 1070</div> 1071</div><p> 1072<a class="anchor" name="g430a3498c04aff00534c6e08330b312c"></a><!-- doxytag: member="store.c::krb5_storage_is_flags" ref="g430a3498c04aff00534c6e08330b312c" args="(krb5_storage *sp, krb5_flags flags)" --> 1073<div class="memitem"> 1074<div class="memproto"> 1075 <table class="memname"> 1076 <tr> 1077 <td class="memname">KRB5_LIB_FUNCTION krb5_boolean KRB5_LIB_CALL krb5_storage_is_flags </td> 1078 <td>(</td> 1079 <td class="paramtype">krb5_storage * </td> 1080 <td class="paramname"> <em>sp</em>, </td> 1081 </tr> 1082 <tr> 1083 <td class="paramkey"></td> 1084 <td></td> 1085 <td class="paramtype">krb5_flags </td> 1086 <td class="paramname"> <em>flags</em></td><td> </td> 1087 </tr> 1088 <tr> 1089 <td></td> 1090 <td>)</td> 1091 <td></td><td></td><td></td> 1092 </tr> 1093 </table> 1094</div> 1095<div class="memdoc"> 1096 1097<p> 1098Return true or false depending on if the storage flags is set or not. NB testing for the flag 0 always return true.<p> 1099<dl compact><dt><b>Parameters:</b></dt><dd> 1100 <table border="0" cellspacing="2" cellpadding="0"> 1101 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to check flags on </td></tr> 1102 <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>The flags to test for</td></tr> 1103 </table> 1104</dl> 1105<dl class="return" compact><dt><b>Returns:</b></dt><dd>true if all the flags are set, false if not. </dd></dl> 1106 1107</div> 1108</div><p> 1109<a class="anchor" name="g4b916691b096448f5b492fcd67148106"></a><!-- doxytag: member="store.c::krb5_storage_read" ref="g4b916691b096448f5b492fcd67148106" args="(krb5_storage *sp, void *buf, size_t len)" --> 1110<div class="memitem"> 1111<div class="memproto"> 1112 <table class="memname"> 1113 <tr> 1114 <td class="memname">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_read </td> 1115 <td>(</td> 1116 <td class="paramtype">krb5_storage * </td> 1117 <td class="paramname"> <em>sp</em>, </td> 1118 </tr> 1119 <tr> 1120 <td class="paramkey"></td> 1121 <td></td> 1122 <td class="paramtype">void * </td> 1123 <td class="paramname"> <em>buf</em>, </td> 1124 </tr> 1125 <tr> 1126 <td class="paramkey"></td> 1127 <td></td> 1128 <td class="paramtype">size_t </td> 1129 <td class="paramname"> <em>len</em></td><td> </td> 1130 </tr> 1131 <tr> 1132 <td></td> 1133 <td>)</td> 1134 <td></td><td></td><td></td> 1135 </tr> 1136 </table> 1137</div> 1138<div class="memdoc"> 1139 1140<p> 1141Read to the storage buffer.<p> 1142<dl compact><dt><b>Parameters:</b></dt><dd> 1143 <table border="0" cellspacing="2" cellpadding="0"> 1144 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to read from </td></tr> 1145 <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>the buffer to store the data in </td></tr> 1146 <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>the length to read</td></tr> 1147 </table> 1148</dl> 1149<dl class="return" compact><dt><b>Returns:</b></dt><dd>The length of data read (can be shorter then len), or negative on error. </dd></dl> 1150 1151</div> 1152</div><p> 1153<a class="anchor" name="g4ecf2806cc57252af155a66fbb705773"></a><!-- doxytag: member="store.c::krb5_storage_seek" ref="g4ecf2806cc57252af155a66fbb705773" args="(krb5_storage *sp, off_t offset, int whence)" --> 1154<div class="memitem"> 1155<div class="memproto"> 1156 <table class="memname"> 1157 <tr> 1158 <td class="memname">KRB5_LIB_FUNCTION off_t KRB5_LIB_CALL krb5_storage_seek </td> 1159 <td>(</td> 1160 <td class="paramtype">krb5_storage * </td> 1161 <td class="paramname"> <em>sp</em>, </td> 1162 </tr> 1163 <tr> 1164 <td class="paramkey"></td> 1165 <td></td> 1166 <td class="paramtype">off_t </td> 1167 <td class="paramname"> <em>offset</em>, </td> 1168 </tr> 1169 <tr> 1170 <td class="paramkey"></td> 1171 <td></td> 1172 <td class="paramtype">int </td> 1173 <td class="paramname"> <em>whence</em></td><td> </td> 1174 </tr> 1175 <tr> 1176 <td></td> 1177 <td>)</td> 1178 <td></td><td></td><td></td> 1179 </tr> 1180 </table> 1181</div> 1182<div class="memdoc"> 1183 1184<p> 1185Seek to a new offset.<p> 1186<dl compact><dt><b>Parameters:</b></dt><dd> 1187 <table border="0" cellspacing="2" cellpadding="0"> 1188 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to seek in. </td></tr> 1189 <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>the offset to seek </td></tr> 1190 <tr><td valign="top"></td><td valign="top"><em>whence</em> </td><td>relateive searching, SEEK_CUR from the current position, SEEK_END from the end, SEEK_SET absolute from the start.</td></tr> 1191 </table> 1192</dl> 1193<dl class="return" compact><dt><b>Returns:</b></dt><dd>The new current offset </dd></dl> 1194 1195</div> 1196</div><p> 1197<a class="anchor" name="g8f3e170aeb4a9108b3bfeb550184022c"></a><!-- doxytag: member="store.c::krb5_storage_set_byteorder" ref="g8f3e170aeb4a9108b3bfeb550184022c" args="(krb5_storage *sp, krb5_flags byteorder)" --> 1198<div class="memitem"> 1199<div class="memproto"> 1200 <table class="memname"> 1201 <tr> 1202 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_byteorder </td> 1203 <td>(</td> 1204 <td class="paramtype">krb5_storage * </td> 1205 <td class="paramname"> <em>sp</em>, </td> 1206 </tr> 1207 <tr> 1208 <td class="paramkey"></td> 1209 <td></td> 1210 <td class="paramtype">krb5_flags </td> 1211 <td class="paramname"> <em>byteorder</em></td><td> </td> 1212 </tr> 1213 <tr> 1214 <td></td> 1215 <td>)</td> 1216 <td></td><td></td><td></td> 1217 </tr> 1218 </table> 1219</div> 1220<div class="memdoc"> 1221 1222<p> 1223Set the new byte order of the storage buffer.<p> 1224<dl compact><dt><b>Parameters:</b></dt><dd> 1225 <table border="0" cellspacing="2" cellpadding="0"> 1226 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to set the byte order for. </td></tr> 1227 <tr><td valign="top"></td><td valign="top"><em>byteorder</em> </td><td>the new byte order.</td></tr> 1228 </table> 1229</dl> 1230The byte order are: KRB5_STORAGE_BYTEORDER_BE, KRB5_STORAGE_BYTEORDER_LE and KRB5_STORAGE_BYTEORDER_HOST. 1231</div> 1232</div><p> 1233<a class="anchor" name="gbc10ced03dcf096b2f09b08568087900"></a><!-- doxytag: member="store.c::krb5_storage_set_eof_code" ref="gbc10ced03dcf096b2f09b08568087900" args="(krb5_storage *sp, int code)" --> 1234<div class="memitem"> 1235<div class="memproto"> 1236 <table class="memname"> 1237 <tr> 1238 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_eof_code </td> 1239 <td>(</td> 1240 <td class="paramtype">krb5_storage * </td> 1241 <td class="paramname"> <em>sp</em>, </td> 1242 </tr> 1243 <tr> 1244 <td class="paramkey"></td> 1245 <td></td> 1246 <td class="paramtype">int </td> 1247 <td class="paramname"> <em>code</em></td><td> </td> 1248 </tr> 1249 <tr> 1250 <td></td> 1251 <td>)</td> 1252 <td></td><td></td><td></td> 1253 </tr> 1254 </table> 1255</div> 1256<div class="memdoc"> 1257 1258<p> 1259Set the return code that will be used when end of storage is reached.<p> 1260<dl compact><dt><b>Parameters:</b></dt><dd> 1261 <table border="0" cellspacing="2" cellpadding="0"> 1262 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage </td></tr> 1263 <tr><td valign="top"></td><td valign="top"><em>code</em> </td><td>the error code to return on end of storage </td></tr> 1264 </table> 1265</dl> 1266 1267</div> 1268</div><p> 1269<a class="anchor" name="g99af12d663a652732293b99ecff81989"></a><!-- doxytag: member="store.c::krb5_storage_set_flags" ref="g99af12d663a652732293b99ecff81989" args="(krb5_storage *sp, krb5_flags flags)" --> 1270<div class="memitem"> 1271<div class="memproto"> 1272 <table class="memname"> 1273 <tr> 1274 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_flags </td> 1275 <td>(</td> 1276 <td class="paramtype">krb5_storage * </td> 1277 <td class="paramname"> <em>sp</em>, </td> 1278 </tr> 1279 <tr> 1280 <td class="paramkey"></td> 1281 <td></td> 1282 <td class="paramtype">krb5_flags </td> 1283 <td class="paramname"> <em>flags</em></td><td> </td> 1284 </tr> 1285 <tr> 1286 <td></td> 1287 <td>)</td> 1288 <td></td><td></td><td></td> 1289 </tr> 1290 </table> 1291</div> 1292<div class="memdoc"> 1293 1294<p> 1295Add the flags on a storage buffer by or-ing in the flags to the buffer.<p> 1296<dl compact><dt><b>Parameters:</b></dt><dd> 1297 <table border="0" cellspacing="2" cellpadding="0"> 1298 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to set the flags on </td></tr> 1299 <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>the flags to set </td></tr> 1300 </table> 1301</dl> 1302 1303</div> 1304</div><p> 1305<a class="anchor" name="gdaf85983fe8563a63623cd472ff6e2b0"></a><!-- doxytag: member="store.c::krb5_storage_set_max_alloc" ref="gdaf85983fe8563a63623cd472ff6e2b0" args="(krb5_storage *sp, size_t size)" --> 1306<div class="memitem"> 1307<div class="memproto"> 1308 <table class="memname"> 1309 <tr> 1310 <td class="memname">KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_storage_set_max_alloc </td> 1311 <td>(</td> 1312 <td class="paramtype">krb5_storage * </td> 1313 <td class="paramname"> <em>sp</em>, </td> 1314 </tr> 1315 <tr> 1316 <td class="paramkey"></td> 1317 <td></td> 1318 <td class="paramtype">size_t </td> 1319 <td class="paramname"> <em>size</em></td><td> </td> 1320 </tr> 1321 <tr> 1322 <td></td> 1323 <td>)</td> 1324 <td></td><td></td><td></td> 1325 </tr> 1326 </table> 1327</div> 1328<div class="memdoc"> 1329 1330<p> 1331Set the max alloc value<p> 1332<dl compact><dt><b>Parameters:</b></dt><dd> 1333 <table border="0" cellspacing="2" cellpadding="0"> 1334 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer set the max allow for </td></tr> 1335 <tr><td valign="top"></td><td valign="top"><em>size</em> </td><td>maximum size to allocate, use 0 to remove limit </td></tr> 1336 </table> 1337</dl> 1338 1339</div> 1340</div><p> 1341<a class="anchor" name="g7722a5408e5be17d0c258cc2e57e4f41"></a><!-- doxytag: member="store.c::krb5_storage_to_data" ref="g7722a5408e5be17d0c258cc2e57e4f41" args="(krb5_storage *sp, krb5_data *data)" --> 1342<div class="memitem"> 1343<div class="memproto"> 1344 <table class="memname"> 1345 <tr> 1346 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_storage_to_data </td> 1347 <td>(</td> 1348 <td class="paramtype">krb5_storage * </td> 1349 <td class="paramname"> <em>sp</em>, </td> 1350 </tr> 1351 <tr> 1352 <td class="paramkey"></td> 1353 <td></td> 1354 <td class="paramtype">krb5_data * </td> 1355 <td class="paramname"> <em>data</em></td><td> </td> 1356 </tr> 1357 <tr> 1358 <td></td> 1359 <td>)</td> 1360 <td></td><td></td><td></td> 1361 </tr> 1362 </table> 1363</div> 1364<div class="memdoc"> 1365 1366<p> 1367Copy the contnent of storage<p> 1368<dl compact><dt><b>Parameters:</b></dt><dd> 1369 <table border="0" cellspacing="2" cellpadding="0"> 1370 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to copy to a data </td></tr> 1371 <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the copied data, free with <a class="el" href="group__krb5.html#gb4b80ac7a8bbab89fe947ae1c7828ea8">krb5_data_free()</a></td></tr> 1372 </table> 1373</dl> 1374<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 1375 1376</div> 1377</div><p> 1378<a class="anchor" name="gac8da1cf94bd8f60c32ae41bd30abae6"></a><!-- doxytag: member="store.c::krb5_storage_truncate" ref="gac8da1cf94bd8f60c32ae41bd30abae6" args="(krb5_storage *sp, off_t offset)" --> 1379<div class="memitem"> 1380<div class="memproto"> 1381 <table class="memname"> 1382 <tr> 1383 <td class="memname">KRB5_LIB_FUNCTION int KRB5_LIB_CALL krb5_storage_truncate </td> 1384 <td>(</td> 1385 <td class="paramtype">krb5_storage * </td> 1386 <td class="paramname"> <em>sp</em>, </td> 1387 </tr> 1388 <tr> 1389 <td class="paramkey"></td> 1390 <td></td> 1391 <td class="paramtype">off_t </td> 1392 <td class="paramname"> <em>offset</em></td><td> </td> 1393 </tr> 1394 <tr> 1395 <td></td> 1396 <td>)</td> 1397 <td></td><td></td><td></td> 1398 </tr> 1399 </table> 1400</div> 1401<div class="memdoc"> 1402 1403<p> 1404Truncate the storage buffer in sp to offset.<p> 1405<dl compact><dt><b>Parameters:</b></dt><dd> 1406 <table border="0" cellspacing="2" cellpadding="0"> 1407 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to truncate. </td></tr> 1408 <tr><td valign="top"></td><td valign="top"><em>offset</em> </td><td>the offset to truncate too.</td></tr> 1409 </table> 1410</dl> 1411<dl class="return" compact><dt><b>Returns:</b></dt><dd>An Kerberos 5 error code. </dd></dl> 1412 1413</div> 1414</div><p> 1415<a class="anchor" name="gbcc9e0d450d9a02773f4a53bf14fefac"></a><!-- doxytag: member="store.c::krb5_storage_write" ref="gbcc9e0d450d9a02773f4a53bf14fefac" args="(krb5_storage *sp, const void *buf, size_t len)" --> 1416<div class="memitem"> 1417<div class="memproto"> 1418 <table class="memname"> 1419 <tr> 1420 <td class="memname">KRB5_LIB_FUNCTION krb5_ssize_t KRB5_LIB_CALL krb5_storage_write </td> 1421 <td>(</td> 1422 <td class="paramtype">krb5_storage * </td> 1423 <td class="paramname"> <em>sp</em>, </td> 1424 </tr> 1425 <tr> 1426 <td class="paramkey"></td> 1427 <td></td> 1428 <td class="paramtype">const void * </td> 1429 <td class="paramname"> <em>buf</em>, </td> 1430 </tr> 1431 <tr> 1432 <td class="paramkey"></td> 1433 <td></td> 1434 <td class="paramtype">size_t </td> 1435 <td class="paramname"> <em>len</em></td><td> </td> 1436 </tr> 1437 <tr> 1438 <td></td> 1439 <td>)</td> 1440 <td></td><td></td><td></td> 1441 </tr> 1442 </table> 1443</div> 1444<div class="memdoc"> 1445 1446<p> 1447Write to the storage buffer.<p> 1448<dl compact><dt><b>Parameters:</b></dt><dd> 1449 <table border="0" cellspacing="2" cellpadding="0"> 1450 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1451 <tr><td valign="top"></td><td valign="top"><em>buf</em> </td><td>the buffer to write to the storage buffer </td></tr> 1452 <tr><td valign="top"></td><td valign="top"><em>len</em> </td><td>the length to write</td></tr> 1453 </table> 1454</dl> 1455<dl class="return" compact><dt><b>Returns:</b></dt><dd>The length of data written (can be shorter then len), or negative on error. </dd></dl> 1456 1457</div> 1458</div><p> 1459<a class="anchor" name="g36c55f5c0c7b555a189623a49bc478cf"></a><!-- doxytag: member="store.c::krb5_store_address" ref="g36c55f5c0c7b555a189623a49bc478cf" args="(krb5_storage *sp, krb5_address p)" --> 1460<div class="memitem"> 1461<div class="memproto"> 1462 <table class="memname"> 1463 <tr> 1464 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_address </td> 1465 <td>(</td> 1466 <td class="paramtype">krb5_storage * </td> 1467 <td class="paramname"> <em>sp</em>, </td> 1468 </tr> 1469 <tr> 1470 <td class="paramkey"></td> 1471 <td></td> 1472 <td class="paramtype">krb5_address </td> 1473 <td class="paramname"> <em>p</em></td><td> </td> 1474 </tr> 1475 <tr> 1476 <td></td> 1477 <td>)</td> 1478 <td></td><td></td><td></td> 1479 </tr> 1480 </table> 1481</div> 1482<div class="memdoc"> 1483 1484<p> 1485Write a address block to storage.<p> 1486<dl compact><dt><b>Parameters:</b></dt><dd> 1487 <table border="0" cellspacing="2" cellpadding="0"> 1488 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1489 <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the address block to write.</td></tr> 1490 </table> 1491</dl> 1492<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1493 1494</div> 1495</div><p> 1496<a class="anchor" name="gd3a1994e44a47e8106334820db9e4946"></a><!-- doxytag: member="store.c::krb5_store_addrs" ref="gd3a1994e44a47e8106334820db9e4946" args="(krb5_storage *sp, krb5_addresses p)" --> 1497<div class="memitem"> 1498<div class="memproto"> 1499 <table class="memname"> 1500 <tr> 1501 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_addrs </td> 1502 <td>(</td> 1503 <td class="paramtype">krb5_storage * </td> 1504 <td class="paramname"> <em>sp</em>, </td> 1505 </tr> 1506 <tr> 1507 <td class="paramkey"></td> 1508 <td></td> 1509 <td class="paramtype">krb5_addresses </td> 1510 <td class="paramname"> <em>p</em></td><td> </td> 1511 </tr> 1512 <tr> 1513 <td></td> 1514 <td>)</td> 1515 <td></td><td></td><td></td> 1516 </tr> 1517 </table> 1518</div> 1519<div class="memdoc"> 1520 1521<p> 1522Write a addresses block to storage.<p> 1523<dl compact><dt><b>Parameters:</b></dt><dd> 1524 <table border="0" cellspacing="2" cellpadding="0"> 1525 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1526 <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the addresses block to write.</td></tr> 1527 </table> 1528</dl> 1529<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1530 1531</div> 1532</div><p> 1533<a class="anchor" name="g51b5290d8fd6a75c0142815899e209b2"></a><!-- doxytag: member="store.c::krb5_store_authdata" ref="g51b5290d8fd6a75c0142815899e209b2" args="(krb5_storage *sp, krb5_authdata auth)" --> 1534<div class="memitem"> 1535<div class="memproto"> 1536 <table class="memname"> 1537 <tr> 1538 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_authdata </td> 1539 <td>(</td> 1540 <td class="paramtype">krb5_storage * </td> 1541 <td class="paramname"> <em>sp</em>, </td> 1542 </tr> 1543 <tr> 1544 <td class="paramkey"></td> 1545 <td></td> 1546 <td class="paramtype">krb5_authdata </td> 1547 <td class="paramname"> <em>auth</em></td><td> </td> 1548 </tr> 1549 <tr> 1550 <td></td> 1551 <td>)</td> 1552 <td></td><td></td><td></td> 1553 </tr> 1554 </table> 1555</div> 1556<div class="memdoc"> 1557 1558<p> 1559Write a auth data block to storage.<p> 1560<dl compact><dt><b>Parameters:</b></dt><dd> 1561 <table border="0" cellspacing="2" cellpadding="0"> 1562 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1563 <tr><td valign="top"></td><td valign="top"><em>auth</em> </td><td>the auth data block to write.</td></tr> 1564 </table> 1565</dl> 1566<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1567 1568</div> 1569</div><p> 1570<a class="anchor" name="g78a861ff5fb0090d6c05046ef2cff117"></a><!-- doxytag: member="store.c::krb5_store_creds" ref="g78a861ff5fb0090d6c05046ef2cff117" args="(krb5_storage *sp, krb5_creds *creds)" --> 1571<div class="memitem"> 1572<div class="memproto"> 1573 <table class="memname"> 1574 <tr> 1575 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds </td> 1576 <td>(</td> 1577 <td class="paramtype">krb5_storage * </td> 1578 <td class="paramname"> <em>sp</em>, </td> 1579 </tr> 1580 <tr> 1581 <td class="paramkey"></td> 1582 <td></td> 1583 <td class="paramtype">krb5_creds * </td> 1584 <td class="paramname"> <em>creds</em></td><td> </td> 1585 </tr> 1586 <tr> 1587 <td></td> 1588 <td>)</td> 1589 <td></td><td></td><td></td> 1590 </tr> 1591 </table> 1592</div> 1593<div class="memdoc"> 1594 1595<p> 1596Write a credentials block to storage.<p> 1597<dl compact><dt><b>Parameters:</b></dt><dd> 1598 <table border="0" cellspacing="2" cellpadding="0"> 1599 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1600 <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the creds block to write.</td></tr> 1601 </table> 1602</dl> 1603<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1604 1605</div> 1606</div><p> 1607<a class="anchor" name="g4a3550d1bb7b7641a8c5904e2dcf1a16"></a><!-- doxytag: member="store.c::krb5_store_creds_tag" ref="g4a3550d1bb7b7641a8c5904e2dcf1a16" args="(krb5_storage *sp, krb5_creds *creds)" --> 1608<div class="memitem"> 1609<div class="memproto"> 1610 <table class="memname"> 1611 <tr> 1612 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_creds_tag </td> 1613 <td>(</td> 1614 <td class="paramtype">krb5_storage * </td> 1615 <td class="paramname"> <em>sp</em>, </td> 1616 </tr> 1617 <tr> 1618 <td class="paramkey"></td> 1619 <td></td> 1620 <td class="paramtype">krb5_creds * </td> 1621 <td class="paramname"> <em>creds</em></td><td> </td> 1622 </tr> 1623 <tr> 1624 <td></td> 1625 <td>)</td> 1626 <td></td><td></td><td></td> 1627 </tr> 1628 </table> 1629</div> 1630<div class="memdoc"> 1631 1632<p> 1633Write a tagged credentials block to storage.<p> 1634<dl compact><dt><b>Parameters:</b></dt><dd> 1635 <table border="0" cellspacing="2" cellpadding="0"> 1636 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1637 <tr><td valign="top"></td><td valign="top"><em>creds</em> </td><td>the creds block to write.</td></tr> 1638 </table> 1639</dl> 1640<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1641 1642</div> 1643</div><p> 1644<a class="anchor" name="g49be426cc2c3e5b10d87cb7643069f04"></a><!-- doxytag: member="store.c::krb5_store_data" ref="g49be426cc2c3e5b10d87cb7643069f04" args="(krb5_storage *sp, krb5_data data)" --> 1645<div class="memitem"> 1646<div class="memproto"> 1647 <table class="memname"> 1648 <tr> 1649 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_data </td> 1650 <td>(</td> 1651 <td class="paramtype">krb5_storage * </td> 1652 <td class="paramname"> <em>sp</em>, </td> 1653 </tr> 1654 <tr> 1655 <td class="paramkey"></td> 1656 <td></td> 1657 <td class="paramtype">krb5_data </td> 1658 <td class="paramname"> <em>data</em></td><td> </td> 1659 </tr> 1660 <tr> 1661 <td></td> 1662 <td>)</td> 1663 <td></td><td></td><td></td> 1664 </tr> 1665 </table> 1666</div> 1667<div class="memdoc"> 1668 1669<p> 1670Store a data to the storage. The data is stored with an int32 as lenght plus the data (not padded).<p> 1671<dl compact><dt><b>Parameters:</b></dt><dd> 1672 <table border="0" cellspacing="2" cellpadding="0"> 1673 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1674 <tr><td valign="top"></td><td valign="top"><em>data</em> </td><td>the buffer to store.</td></tr> 1675 </table> 1676</dl> 1677<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1678 1679</div> 1680</div><p> 1681<a class="anchor" name="g41fd71dc201db2872e59016a1652bf6c"></a><!-- doxytag: member="store.c::krb5_store_int16" ref="g41fd71dc201db2872e59016a1652bf6c" args="(krb5_storage *sp, int16_t value)" --> 1682<div class="memitem"> 1683<div class="memproto"> 1684 <table class="memname"> 1685 <tr> 1686 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int16 </td> 1687 <td>(</td> 1688 <td class="paramtype">krb5_storage * </td> 1689 <td class="paramname"> <em>sp</em>, </td> 1690 </tr> 1691 <tr> 1692 <td class="paramkey"></td> 1693 <td></td> 1694 <td class="paramtype">int16_t </td> 1695 <td class="paramname"> <em>value</em></td><td> </td> 1696 </tr> 1697 <tr> 1698 <td></td> 1699 <td>)</td> 1700 <td></td><td></td><td></td> 1701 </tr> 1702 </table> 1703</div> 1704<div class="memdoc"> 1705 1706<p> 1707Store a int16 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 1708<dl compact><dt><b>Parameters:</b></dt><dd> 1709 <table border="0" cellspacing="2" cellpadding="0"> 1710 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 1711 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> 1712 </table> 1713</dl> 1714<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 1715 1716</div> 1717</div><p> 1718<a class="anchor" name="gf20f743f1d41879479c4a9d7c0f05339"></a><!-- doxytag: member="store.c::krb5_store_int32" ref="gf20f743f1d41879479c4a9d7c0f05339" args="(krb5_storage *sp, int32_t value)" --> 1719<div class="memitem"> 1720<div class="memproto"> 1721 <table class="memname"> 1722 <tr> 1723 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int32 </td> 1724 <td>(</td> 1725 <td class="paramtype">krb5_storage * </td> 1726 <td class="paramname"> <em>sp</em>, </td> 1727 </tr> 1728 <tr> 1729 <td class="paramkey"></td> 1730 <td></td> 1731 <td class="paramtype">int32_t </td> 1732 <td class="paramname"> <em>value</em></td><td> </td> 1733 </tr> 1734 <tr> 1735 <td></td> 1736 <td>)</td> 1737 <td></td><td></td><td></td> 1738 </tr> 1739 </table> 1740</div> 1741<div class="memdoc"> 1742 1743<p> 1744Store a int32 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 1745<dl compact><dt><b>Parameters:</b></dt><dd> 1746 <table border="0" cellspacing="2" cellpadding="0"> 1747 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 1748 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> 1749 </table> 1750</dl> 1751<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 1752 1753</div> 1754</div><p> 1755<a class="anchor" name="g39925711ba540216111a8b84f4a1650a"></a><!-- doxytag: member="store.c::krb5_store_int8" ref="g39925711ba540216111a8b84f4a1650a" args="(krb5_storage *sp, int8_t value)" --> 1756<div class="memitem"> 1757<div class="memproto"> 1758 <table class="memname"> 1759 <tr> 1760 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_int8 </td> 1761 <td>(</td> 1762 <td class="paramtype">krb5_storage * </td> 1763 <td class="paramname"> <em>sp</em>, </td> 1764 </tr> 1765 <tr> 1766 <td class="paramkey"></td> 1767 <td></td> 1768 <td class="paramtype">int8_t </td> 1769 <td class="paramname"> <em>value</em></td><td> </td> 1770 </tr> 1771 <tr> 1772 <td></td> 1773 <td>)</td> 1774 <td></td><td></td><td></td> 1775 </tr> 1776 </table> 1777</div> 1778<div class="memdoc"> 1779 1780<p> 1781Store a int8 to storage.<p> 1782<dl compact><dt><b>Parameters:</b></dt><dd> 1783 <table border="0" cellspacing="2" cellpadding="0"> 1784 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 1785 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> 1786 </table> 1787</dl> 1788<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 1789 1790</div> 1791</div><p> 1792<a class="anchor" name="g54b3e661a9b7b267ba5df17b2e9a59f9"></a><!-- doxytag: member="store.c::krb5_store_keyblock" ref="g54b3e661a9b7b267ba5df17b2e9a59f9" args="(krb5_storage *sp, krb5_keyblock p)" --> 1793<div class="memitem"> 1794<div class="memproto"> 1795 <table class="memname"> 1796 <tr> 1797 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_keyblock </td> 1798 <td>(</td> 1799 <td class="paramtype">krb5_storage * </td> 1800 <td class="paramname"> <em>sp</em>, </td> 1801 </tr> 1802 <tr> 1803 <td class="paramkey"></td> 1804 <td></td> 1805 <td class="paramtype">krb5_keyblock </td> 1806 <td class="paramname"> <em>p</em></td><td> </td> 1807 </tr> 1808 <tr> 1809 <td></td> 1810 <td>)</td> 1811 <td></td><td></td><td></td> 1812 </tr> 1813 </table> 1814</div> 1815<div class="memdoc"> 1816 1817<p> 1818Store a keyblock to the storage.<p> 1819<dl compact><dt><b>Parameters:</b></dt><dd> 1820 <table border="0" cellspacing="2" cellpadding="0"> 1821 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1822 <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the keyblock to write</td></tr> 1823 </table> 1824</dl> 1825<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1826 1827</div> 1828</div><p> 1829<a class="anchor" name="g54ca232c7ccaf71e2a26e42196dd9780"></a><!-- doxytag: member="store.c::krb5_store_principal" ref="g54ca232c7ccaf71e2a26e42196dd9780" args="(krb5_storage *sp, krb5_const_principal p)" --> 1830<div class="memitem"> 1831<div class="memproto"> 1832 <table class="memname"> 1833 <tr> 1834 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_principal </td> 1835 <td>(</td> 1836 <td class="paramtype">krb5_storage * </td> 1837 <td class="paramname"> <em>sp</em>, </td> 1838 </tr> 1839 <tr> 1840 <td class="paramkey"></td> 1841 <td></td> 1842 <td class="paramtype">krb5_const_principal </td> 1843 <td class="paramname"> <em>p</em></td><td> </td> 1844 </tr> 1845 <tr> 1846 <td></td> 1847 <td>)</td> 1848 <td></td><td></td><td></td> 1849 </tr> 1850 </table> 1851</div> 1852<div class="memdoc"> 1853 1854<p> 1855Write a principal block to storage.<p> 1856<dl compact><dt><b>Parameters:</b></dt><dd> 1857 <table border="0" cellspacing="2" cellpadding="0"> 1858 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1859 <tr><td valign="top"></td><td valign="top"><em>p</em> </td><td>the principal block to write.</td></tr> 1860 </table> 1861</dl> 1862<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1863 1864</div> 1865</div><p> 1866<a class="anchor" name="g7d0904deeaf23dd845966b954e4b5355"></a><!-- doxytag: member="store.c::krb5_store_string" ref="g7d0904deeaf23dd845966b954e4b5355" args="(krb5_storage *sp, const char *s)" --> 1867<div class="memitem"> 1868<div class="memproto"> 1869 <table class="memname"> 1870 <tr> 1871 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_string </td> 1872 <td>(</td> 1873 <td class="paramtype">krb5_storage * </td> 1874 <td class="paramname"> <em>sp</em>, </td> 1875 </tr> 1876 <tr> 1877 <td class="paramkey"></td> 1878 <td></td> 1879 <td class="paramtype">const char * </td> 1880 <td class="paramname"> <em>s</em></td><td> </td> 1881 </tr> 1882 <tr> 1883 <td></td> 1884 <td>)</td> 1885 <td></td><td></td><td></td> 1886 </tr> 1887 </table> 1888</div> 1889<div class="memdoc"> 1890 1891<p> 1892Store a string to the buffer. The data is formated as an len:uint32 plus the string itself (not padded).<p> 1893<dl compact><dt><b>Parameters:</b></dt><dd> 1894 <table border="0" cellspacing="2" cellpadding="0"> 1895 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1896 <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the string to store.</td></tr> 1897 </table> 1898</dl> 1899<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1900 1901</div> 1902</div><p> 1903<a class="anchor" name="g60c3e526288efc7b8a751f43ac254aad"></a><!-- doxytag: member="store.c::krb5_store_stringz" ref="g60c3e526288efc7b8a751f43ac254aad" args="(krb5_storage *sp, const char *s)" --> 1904<div class="memitem"> 1905<div class="memproto"> 1906 <table class="memname"> 1907 <tr> 1908 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_stringz </td> 1909 <td>(</td> 1910 <td class="paramtype">krb5_storage * </td> 1911 <td class="paramname"> <em>sp</em>, </td> 1912 </tr> 1913 <tr> 1914 <td class="paramkey"></td> 1915 <td></td> 1916 <td class="paramtype">const char * </td> 1917 <td class="paramname"> <em>s</em></td><td> </td> 1918 </tr> 1919 <tr> 1920 <td></td> 1921 <td>)</td> 1922 <td></td><td></td><td></td> 1923 </tr> 1924 </table> 1925</div> 1926<div class="memdoc"> 1927 1928<p> 1929Store a zero terminated string to the buffer. The data is stored one character at a time until a NUL is stored.<p> 1930<dl compact><dt><b>Parameters:</b></dt><dd> 1931 <table border="0" cellspacing="2" cellpadding="0"> 1932 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1933 <tr><td valign="top"></td><td valign="top"><em>s</em> </td><td>the string to store.</td></tr> 1934 </table> 1935</dl> 1936<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1937 1938</div> 1939</div><p> 1940<a class="anchor" name="g3a0bdbf713eea83651b6f9845ea24900"></a><!-- doxytag: member="store.c::krb5_store_times" ref="g3a0bdbf713eea83651b6f9845ea24900" args="(krb5_storage *sp, krb5_times times)" --> 1941<div class="memitem"> 1942<div class="memproto"> 1943 <table class="memname"> 1944 <tr> 1945 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_times </td> 1946 <td>(</td> 1947 <td class="paramtype">krb5_storage * </td> 1948 <td class="paramname"> <em>sp</em>, </td> 1949 </tr> 1950 <tr> 1951 <td class="paramkey"></td> 1952 <td></td> 1953 <td class="paramtype">krb5_times </td> 1954 <td class="paramname"> <em>times</em></td><td> </td> 1955 </tr> 1956 <tr> 1957 <td></td> 1958 <td>)</td> 1959 <td></td><td></td><td></td> 1960 </tr> 1961 </table> 1962</div> 1963<div class="memdoc"> 1964 1965<p> 1966Write a times block to storage.<p> 1967<dl compact><dt><b>Parameters:</b></dt><dd> 1968 <table border="0" cellspacing="2" cellpadding="0"> 1969 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage buffer to write to </td></tr> 1970 <tr><td valign="top"></td><td valign="top"><em>times</em> </td><td>the times block to write.</td></tr> 1971 </table> 1972</dl> 1973<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success, a Kerberos 5 error code on failure. </dd></dl> 1974 1975</div> 1976</div><p> 1977<a class="anchor" name="g80accfb51fadeb1b19584634701a81f7"></a><!-- doxytag: member="store.c::krb5_store_uint16" ref="g80accfb51fadeb1b19584634701a81f7" args="(krb5_storage *sp, uint16_t value)" --> 1978<div class="memitem"> 1979<div class="memproto"> 1980 <table class="memname"> 1981 <tr> 1982 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint16 </td> 1983 <td>(</td> 1984 <td class="paramtype">krb5_storage * </td> 1985 <td class="paramname"> <em>sp</em>, </td> 1986 </tr> 1987 <tr> 1988 <td class="paramkey"></td> 1989 <td></td> 1990 <td class="paramtype">uint16_t </td> 1991 <td class="paramname"> <em>value</em></td><td> </td> 1992 </tr> 1993 <tr> 1994 <td></td> 1995 <td>)</td> 1996 <td></td><td></td><td></td> 1997 </tr> 1998 </table> 1999</div> 2000<div class="memdoc"> 2001 2002<p> 2003Store a uint16 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 2004<dl compact><dt><b>Parameters:</b></dt><dd> 2005 <table border="0" cellspacing="2" cellpadding="0"> 2006 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 2007 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> 2008 </table> 2009</dl> 2010<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 2011 2012</div> 2013</div><p> 2014<a class="anchor" name="gc844df1aadfa6d0b38ffd93413aa1fd8"></a><!-- doxytag: member="store.c::krb5_store_uint32" ref="gc844df1aadfa6d0b38ffd93413aa1fd8" args="(krb5_storage *sp, uint32_t value)" --> 2015<div class="memitem"> 2016<div class="memproto"> 2017 <table class="memname"> 2018 <tr> 2019 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint32 </td> 2020 <td>(</td> 2021 <td class="paramtype">krb5_storage * </td> 2022 <td class="paramname"> <em>sp</em>, </td> 2023 </tr> 2024 <tr> 2025 <td class="paramkey"></td> 2026 <td></td> 2027 <td class="paramtype">uint32_t </td> 2028 <td class="paramname"> <em>value</em></td><td> </td> 2029 </tr> 2030 <tr> 2031 <td></td> 2032 <td>)</td> 2033 <td></td><td></td><td></td> 2034 </tr> 2035 </table> 2036</div> 2037<div class="memdoc"> 2038 2039<p> 2040Store a uint32 to storage, byte order is controlled by the settings on the storage, see <a class="el" href="group__krb5__storage.html#g8f3e170aeb4a9108b3bfeb550184022c">krb5_storage_set_byteorder()</a>.<p> 2041<dl compact><dt><b>Parameters:</b></dt><dd> 2042 <table border="0" cellspacing="2" cellpadding="0"> 2043 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 2044 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> 2045 </table> 2046</dl> 2047<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 2048 2049</div> 2050</div><p> 2051<a class="anchor" name="gb9856e6211e292b4c9d4c96941c6948e"></a><!-- doxytag: member="store.c::krb5_store_uint8" ref="gb9856e6211e292b4c9d4c96941c6948e" args="(krb5_storage *sp, uint8_t value)" --> 2052<div class="memitem"> 2053<div class="memproto"> 2054 <table class="memname"> 2055 <tr> 2056 <td class="memname">KRB5_LIB_FUNCTION krb5_error_code KRB5_LIB_CALL krb5_store_uint8 </td> 2057 <td>(</td> 2058 <td class="paramtype">krb5_storage * </td> 2059 <td class="paramname"> <em>sp</em>, </td> 2060 </tr> 2061 <tr> 2062 <td class="paramkey"></td> 2063 <td></td> 2064 <td class="paramtype">uint8_t </td> 2065 <td class="paramname"> <em>value</em></td><td> </td> 2066 </tr> 2067 <tr> 2068 <td></td> 2069 <td>)</td> 2070 <td></td><td></td><td></td> 2071 </tr> 2072 </table> 2073</div> 2074<div class="memdoc"> 2075 2076<p> 2077Store a uint8 to storage.<p> 2078<dl compact><dt><b>Parameters:</b></dt><dd> 2079 <table border="0" cellspacing="2" cellpadding="0"> 2080 <tr><td valign="top"></td><td valign="top"><em>sp</em> </td><td>the storage to write too </td></tr> 2081 <tr><td valign="top"></td><td valign="top"><em>value</em> </td><td>the value to store</td></tr> 2082 </table> 2083</dl> 2084<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, or a Kerberos 5 error code on failure. </dd></dl> 2085 2086</div> 2087</div><p> 2088</div> 2089<hr size="1"><address style="text-align: right;"><small> 2090Generated on Wed Jan 11 14:07:49 2012 for HeimdalKerberos5library by <a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6</small></address> 2091</body> 2092</html> 2093