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&nbsp;Page</span></a></li>
16      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
17      <li><a href="modules.html"><span>Modules</span></a></li>
18      <li><a href="annotated.html"><span>Data&nbsp;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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
200          <td class="paramname"> <em>adr</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
216    <tr><td valign="top"></td><td valign="top"><em>adr</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
237          <td class="paramname"> <em>adr</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
253    <tr><td valign="top"></td><td valign="top"><em>adr</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
274          <td class="paramname"> <em>auth</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
290    <tr><td valign="top"></td><td valign="top"><em>auth</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
311          <td class="paramname"> <em>creds</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
327    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
348          <td class="paramname"> <em>creds</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
364    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
385          <td class="paramname"> <em>data</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to read from </td></tr>
401    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
422          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
438    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
459          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
475    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
496          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
512    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
533          <td class="paramname"> <em>p</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
549    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
570          <td class="paramname"> <em>princ</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to read from </td></tr>
586    <tr><td valign="top"></td><td valign="top"><em>princ</em>&nbsp;</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 *&nbsp;</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 **&nbsp;</td>
607          <td class="paramname"> <em>string</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to read from </td></tr>
623    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</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 *&nbsp;</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 **&nbsp;</td>
644          <td class="paramname"> <em>string</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to read from </td></tr>
660    <tr><td valign="top"></td><td valign="top"><em>string</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
681          <td class="paramname"> <em>times</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
697    <tr><td valign="top"></td><td valign="top"><em>times</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
718          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
734    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
755          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
771    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
792          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
808    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
829          <td class="paramname"> <em>flags</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to clear the flags on </td></tr>
845    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</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&nbsp;</td>
859          <td class="paramname">          </td>
860          <td>&nbsp;)&nbsp;</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 *&nbsp;</td>
885          <td class="paramname"> <em>sp</em>          </td>
886          <td>&nbsp;)&nbsp;</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>&nbsp;</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 *&nbsp;</td>
912          <td class="paramname"> <em>data</em>          </td>
913          <td>&nbsp;)&nbsp;</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&nbsp;</td>
938          <td class="paramname"> <em>fd_in</em>          </td>
939          <td>&nbsp;)&nbsp;</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 *&nbsp;</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&nbsp;</td>
969          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1004          <td class="paramname"> <em>len</em></td><td>&nbsp;</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 *&nbsp;</td>
1033          <td class="paramname"> <em>sp</em>          </td>
1034          <td>&nbsp;)&nbsp;</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 *&nbsp;</td>
1053          <td class="paramname"> <em>sp</em>          </td>
1054          <td>&nbsp;)&nbsp;</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>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1086          <td class="paramname"> <em>flags</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to check flags on </td></tr>
1102    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</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&nbsp;</td>
1129          <td class="paramname"> <em>len</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to read from </td></tr>
1145    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer to store the data in </td></tr>
1146    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</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 *&nbsp;</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&nbsp;</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&nbsp;</td>
1173          <td class="paramname"> <em>whence</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to seek in. </td></tr>
1189    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</td><td>the offset to seek </td></tr>
1190    <tr><td valign="top"></td><td valign="top"><em>whence</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1211          <td class="paramname"> <em>byteorder</em></td><td>&nbsp;</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>&nbsp;</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>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1247          <td class="paramname"> <em>code</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage </td></tr>
1263    <tr><td valign="top"></td><td valign="top"><em>code</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1283          <td class="paramname"> <em>flags</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to set the flags on </td></tr>
1299    <tr><td valign="top"></td><td valign="top"><em>flags</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1319          <td class="paramname"> <em>size</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer set the max allow for </td></tr>
1335    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
1355          <td class="paramname"> <em>data</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to copy to a data </td></tr>
1371    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1392          <td class="paramname"> <em>offset</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to truncate. </td></tr>
1408    <tr><td valign="top"></td><td valign="top"><em>offset</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</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&nbsp;</td>
1435          <td class="paramname"> <em>len</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1451    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>the buffer to write to the storage buffer </td></tr>
1452    <tr><td valign="top"></td><td valign="top"><em>len</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1473          <td class="paramname"> <em>p</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1489    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1510          <td class="paramname"> <em>p</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1526    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1547          <td class="paramname"> <em>auth</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1563    <tr><td valign="top"></td><td valign="top"><em>auth</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
1584          <td class="paramname"> <em>creds</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1600    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
1621          <td class="paramname"> <em>creds</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1637    <tr><td valign="top"></td><td valign="top"><em>creds</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1658          <td class="paramname"> <em>data</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1674    <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1695          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
1711    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1732          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
1748    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1769          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
1785    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1806          <td class="paramname"> <em>p</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1822    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1843          <td class="paramname"> <em>p</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1859    <tr><td valign="top"></td><td valign="top"><em>p</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
1880          <td class="paramname"> <em>s</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1896    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</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 *&nbsp;</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 *&nbsp;</td>
1917          <td class="paramname"> <em>s</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1933    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1954          <td class="paramname"> <em>times</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage buffer to write to </td></tr>
1970    <tr><td valign="top"></td><td valign="top"><em>times</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
1991          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
2007    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
2028          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
2044    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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 *&nbsp;</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&nbsp;</td>
2065          <td class="paramname"> <em>value</em></td><td>&nbsp;</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>&nbsp;</td><td>the storage to write too </td></tr>
2081    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</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&nbsp;<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