diff -r 000000000000 -r e35f40988205 xmlsecurityengine/xmlsec/inc/xmlsec_base64.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/xmlsecurityengine/xmlsec/inc/xmlsec_base64.h Thu Dec 17 09:29:21 2009 +0200 @@ -0,0 +1,68 @@ +/** + * XML Security Library (http://www.aleksey.com/xmlsec). + * + * Base64 encode/decode transform and utility functions. + * + * This is free software; see Copyright file in the source + * distribution for preciese wording. + * + * Copyright (C) 2002-2003 Aleksey Sanin + * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. + */ +#ifndef __XMLSEC_BASE64_H__ +#define __XMLSEC_BASE64_H__ + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#include +#include "xmlsec_config.h" +#include "xmlsec_xmlsec.h" +#include "xmlsec_transforms.h" + +/** + * XMLSEC_BASE64_LINESIZE: + * + * The default maximum base64 encoded line size. + */ +#define XMLSEC_BASE64_LINESIZE 64 + +/** + * Base64 Context + */ +typedef struct _xmlSecBase64Ctx xmlSecBase64Ctx, + *xmlSecBase64CtxPtr; + +XMLSEC_EXPORT xmlSecBase64CtxPtr xmlSecBase64CtxCreate (int encode, + int columns); +XMLSEC_EXPORT void xmlSecBase64CtxDestroy (xmlSecBase64CtxPtr ctx); +XMLSEC_EXPORT int xmlSecBase64CtxInitialize (xmlSecBase64CtxPtr ctx, + int encode, + int columns); +XMLSEC_EXPORT void xmlSecBase64CtxFinalize (xmlSecBase64CtxPtr ctx); +XMLSEC_EXPORT int xmlSecBase64CtxUpdate (xmlSecBase64CtxPtr ctx, + const xmlSecByte *in, + xmlSecSize inSize, + xmlSecByte *out, + xmlSecSize outSize); +XMLSEC_EXPORT int xmlSecBase64CtxFinal (xmlSecBase64CtxPtr ctx, + xmlSecByte *out, + xmlSecSize outSize); + +/** + * Standalone routine to do base64 encode/decode "at once" + */ +XMLSEC_EXPORT xmlChar* xmlSecBase64Encode (const xmlSecByte *buf, + xmlSecSize len, + int columns); +XMLSEC_EXPORT int xmlSecBase64Decode (const xmlChar* str, + xmlSecByte *buf, + xmlSecSize len); + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + +#endif /* __XMLSEC_BASE64_H__ */ +