Files
Webcam/include/framework/ascii/ascii_encoder.h
2026-06-22 11:49:35 +02:00

83 lines
2.5 KiB
C++

/* -----------------------------------------------------------------------------
GSFramework
Copyright 2001-2013 Emmanuel Julien. All Rights Reserved.
----------------------------------------------------------------------------- */
#ifndef __NASCIIENC__
#define __NASCIIENC__
#include "ntypes.h"
/*!
@short ASCII encoding.
This class currently provide two commonly used encoding method:
yEnc and UUEncode.
@author Emmanuel Julien (ejulien@gsworks.fr)
*/
namespace nAsciiEncoder
{
/*!
@short Perform UUEncoding.
@param source Input binary stream.
@param len Input binary stream length.
@param uuenc Output buffer.
@param max Output buffer length.
@return The number of bytes written to the output buffer.
@note If yenc is NULL the function can be used to check the size
of the encoded stream prior to allocating an output buffer.
*/
uint UUEncode(const uchar *source, size_t len, uchar *uuenc = 0, size_t max = 0);
/*!
@short Perform UUDecoding.
@param source UUEncoded byte stream.
@param len UUEncoded byte stream length.
@param bin Output buffer.
@param max Output buffer length.
@return The number of bytes written to the output buffer.
@note If bin is NULL the function can be used to check the size
of the decoded stream prior to allocating an output buffer.
*/
uint UUDecode(const uchar *source, size_t len, uchar *bin = 0, size_t max = 0);
/*!
@short Perform yEncoding.
@param source Input binary stream.
@param len Input binary stream length.
@param yenc Output buffer.
@param max Output buffer length.
@param line_len Number of character to output before a line-feed character is sent.
@return The number of bytes written to the output buffer.
@note If yenc is NULL the function can be used to check the size
of the encoded stream prior to allocating an output buffer.
*/
uint yEncode(const uchar *source, size_t len, uchar *yenc = 0, size_t max = 0, uint line_len = 64);
/*!
@short Perform yDecoding.
@param source yEncoded byte stream.
@param len yEncoded byte stream length.
@param bin Output buffer.
@param max Output buffer length.
@return The number of bytes written to the output buffer.
@note If bin is NULL the function can be used to check the size
of the decoded stream prior to allocating an output buffer.
*/
uint yDecode(const uchar *source, size_t len, uchar *bin = 0, size_t max = 0);
};
#endif // __NASCIIENC__