Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(90)

Side by Side Diff: mozilla/security/nss/lib/util/nssb64.h

Issue 14249009: Change the NSS and NSPR source tree to the new directory structure to be (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/nss/
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « mozilla/security/nss/lib/util/hasht.h ('k') | mozilla/security/nss/lib/util/nssb64d.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5 /*
6 * Public prototypes for base64 encoding/decoding.
7 *
8 * $Id: nssb64.h,v 1.6 2012/04/25 14:50:16 gerv%gerv.net Exp $
9 */
10 #ifndef _NSSB64_H_
11 #define _NSSB64_H_
12
13 #include "utilrename.h"
14 #include "seccomon.h"
15 #include "nssb64t.h"
16
17 SEC_BEGIN_PROTOS
18
19 /*
20 * Functions to start a base64 decoding/encoding context.
21 */
22
23 extern NSSBase64Decoder *
24 NSSBase64Decoder_Create (PRInt32 (*output_fn) (void *, const unsigned char *,
25 PRInt32),
26 void *output_arg);
27
28 extern NSSBase64Encoder *
29 NSSBase64Encoder_Create (PRInt32 (*output_fn) (void *, const char *, PRInt32),
30 void *output_arg);
31
32 /*
33 * Push data through the decoder/encoder, causing the output_fn (provided
34 * to Create) to be called with the decoded/encoded data.
35 */
36
37 extern SECStatus
38 NSSBase64Decoder_Update (NSSBase64Decoder *data, const char *buffer,
39 PRUint32 size);
40
41 extern SECStatus
42 NSSBase64Encoder_Update (NSSBase64Encoder *data, const unsigned char *buffer,
43 PRUint32 size);
44
45 /*
46 * When you're done processing, call this to close the context.
47 * If "abort_p" is false, then calling this may cause the output_fn
48 * to be called one last time (as the last buffered data is flushed out).
49 */
50
51 extern SECStatus
52 NSSBase64Decoder_Destroy (NSSBase64Decoder *data, PRBool abort_p);
53
54 extern SECStatus
55 NSSBase64Encoder_Destroy (NSSBase64Encoder *data, PRBool abort_p);
56
57 /*
58 * Perform base64 decoding from an ascii string "inStr" to an Item.
59 * The length of the input must be provided as "inLen". The Item
60 * may be provided (as "outItemOpt"); you can also pass in a NULL
61 * and the Item will be allocated for you.
62 *
63 * In any case, the data within the Item will be allocated for you.
64 * All allocation will happen out of the passed-in "arenaOpt", if non-NULL.
65 * If "arenaOpt" is NULL, standard allocation (heap) will be used and
66 * you will want to free the result via SECITEM_FreeItem.
67 *
68 * Return value is NULL on error, the Item (allocated or provided) otherwise.
69 */
70 extern SECItem *
71 NSSBase64_DecodeBuffer (PLArenaPool *arenaOpt, SECItem *outItemOpt,
72 const char *inStr, unsigned int inLen);
73
74 /*
75 * Perform base64 encoding of binary data "inItem" to an ascii string.
76 * The output buffer may be provided (as "outStrOpt"); you can also pass
77 * in a NULL and the buffer will be allocated for you. The result will
78 * be null-terminated, and if the buffer is provided, "maxOutLen" must
79 * specify the maximum length of the buffer and will be checked to
80 * supply sufficient space space for the encoded result. (If "outStrOpt"
81 * is NULL, "maxOutLen" is ignored.)
82 *
83 * If "outStrOpt" is NULL, allocation will happen out of the passed-in
84 * "arenaOpt", if *it* is non-NULL, otherwise standard allocation (heap)
85 * will be used.
86 *
87 * Return value is NULL on error, the output buffer (allocated or provided)
88 * otherwise.
89 */
90 extern char *
91 NSSBase64_EncodeItem (PLArenaPool *arenaOpt, char *outStrOpt,
92 unsigned int maxOutLen, SECItem *inItem);
93
94 SEC_END_PROTOS
95
96 #endif /* _NSSB64_H_ */
OLDNEW
« no previous file with comments | « mozilla/security/nss/lib/util/hasht.h ('k') | mozilla/security/nss/lib/util/nssb64d.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698