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

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

Issue 2078763002: Delete bundled copy of NSS and replace with README. (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/nss@master
Patch Set: Delete bundled copy of NSS and replace with README. Created 4 years, 6 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
« no previous file with comments | « nss/lib/util/hasht.h ('k') | 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 #ifndef _NSSB64_H_
9 #define _NSSB64_H_
10
11 #include "utilrename.h"
12 #include "seccomon.h"
13 #include "nssb64t.h"
14
15 SEC_BEGIN_PROTOS
16
17 /*
18 * Functions to start a base64 decoding/encoding context.
19 */
20
21 extern NSSBase64Decoder *
22 NSSBase64Decoder_Create (PRInt32 (*output_fn) (void *, const unsigned char *,
23 PRInt32),
24 void *output_arg);
25
26 extern NSSBase64Encoder *
27 NSSBase64Encoder_Create (PRInt32 (*output_fn) (void *, const char *, PRInt32),
28 void *output_arg);
29
30 /*
31 * Push data through the decoder/encoder, causing the output_fn (provided
32 * to Create) to be called with the decoded/encoded data.
33 */
34
35 extern SECStatus
36 NSSBase64Decoder_Update (NSSBase64Decoder *data, const char *buffer,
37 PRUint32 size);
38
39 extern SECStatus
40 NSSBase64Encoder_Update (NSSBase64Encoder *data, const unsigned char *buffer,
41 PRUint32 size);
42
43 /*
44 * When you're done processing, call this to close the context.
45 * If "abort_p" is false, then calling this may cause the output_fn
46 * to be called one last time (as the last buffered data is flushed out).
47 */
48
49 extern SECStatus
50 NSSBase64Decoder_Destroy (NSSBase64Decoder *data, PRBool abort_p);
51
52 extern SECStatus
53 NSSBase64Encoder_Destroy (NSSBase64Encoder *data, PRBool abort_p);
54
55 /*
56 * Perform base64 decoding from an ascii string "inStr" to an Item.
57 * The length of the input must be provided as "inLen". The Item
58 * may be provided (as "outItemOpt"); you can also pass in a NULL
59 * and the Item will be allocated for you.
60 *
61 * In any case, the data within the Item will be allocated for you.
62 * All allocation will happen out of the passed-in "arenaOpt", if non-NULL.
63 * If "arenaOpt" is NULL, standard allocation (heap) will be used and
64 * you will want to free the result via SECITEM_FreeItem.
65 *
66 * Return value is NULL on error, the Item (allocated or provided) otherwise.
67 */
68 extern SECItem *
69 NSSBase64_DecodeBuffer (PLArenaPool *arenaOpt, SECItem *outItemOpt,
70 const char *inStr, unsigned int inLen);
71
72 /*
73 * Perform base64 encoding of binary data "inItem" to an ascii string.
74 * The output buffer may be provided (as "outStrOpt"); you can also pass
75 * in a NULL and the buffer will be allocated for you. The result will
76 * be null-terminated, and if the buffer is provided, "maxOutLen" must
77 * specify the maximum length of the buffer and will be checked to
78 * supply sufficient space space for the encoded result. (If "outStrOpt"
79 * is NULL, "maxOutLen" is ignored.)
80 *
81 * If "outStrOpt" is NULL, allocation will happen out of the passed-in
82 * "arenaOpt", if *it* is non-NULL, otherwise standard allocation (heap)
83 * will be used.
84 *
85 * Return value is NULL on error, the output buffer (allocated or provided)
86 * otherwise.
87 */
88 extern char *
89 NSSBase64_EncodeItem (PLArenaPool *arenaOpt, char *outStrOpt,
90 unsigned int maxOutLen, SECItem *inItem);
91
92 SEC_END_PROTOS
93
94 #endif /* _NSSB64_H_ */
OLDNEW
« no previous file with comments | « nss/lib/util/hasht.h ('k') | nss/lib/util/nssb64d.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698