1
/* -*- Mode: C; tab-width: 8 -*- */
3
* The contents of this file are subject to the Mozilla Public
4
* License Version 1.1 (the "License"); you may not use this file
5
* except in compliance with the License. You may obtain a copy of
6
* the License at http://www.mozilla.org/MPL/
8
* Software distributed under the License is distributed on an "AS
9
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10
* implied. See the License for the specific language governing
11
* rights and limitations under the License.
13
* The Original Code is the Netscape security libraries.
15
* The Initial Developer of the Original Code is Netscape
16
* Communications Corporation. Portions created by Netscape are
17
* Copyright (C) 1994-2000 Netscape Communications Corporation. All
22
* Alternatively, the contents of this file may be used under the
23
* terms of the GNU General Public License Version 2 or later (the
24
* "GPL"), in which case the provisions of the GPL are applicable
25
* instead of those above. If you wish to allow use of your
26
* version of this file only under the terms of the GPL and not to
27
* allow others to use your version of this file under the MPL,
28
* indicate your decision by deleting the provisions above and
29
* replace them with the notice and other provisions required by
30
* the GPL. If you do not delete the provisions above, a recipient
31
* may use your version of this file under either the MPL or the
40
crmf_encoder_out(void *arg, const char *buf, unsigned long len,
41
int depth, SEC_ASN1EncodingPart data_kind)
43
struct crmfEncoderOutput *output;
45
output = (struct crmfEncoderOutput*) arg;
46
output->fn (output->outputArg, buf, len);
50
cmmf_user_encode(void *src, CRMFEncoderOutputCallback inCallback, void *inArg,
51
const SEC_ASN1Template *inTemplate)
53
struct crmfEncoderOutput output;
55
PORT_Assert(src != NULL);
59
output.fn = inCallback;
60
output.outputArg = inArg;
61
return SEC_ASN1Encode(src, inTemplate, crmf_encoder_out, &output);