transforms.h

Name

transforms.h -- The transforms functions.

Synopsis



#define     XMLSEC_TRANSFORM_BINARY_CHUNK
#define     XMLSEC_TRANSFORM_BUFFER_SIZE
typedef     xmlSecTransformId;
enum        xmlSecTransformStatus;
#define     xmlSecTransformStatusIsDone     (status)
enum        xmlSecTransformMode;
typedef     xmlSecTransformDataType;
#define     xmlSecTransformDataTypeUnknown
#define     xmlSecTransformDataTypeBin
#define     xmlSecTransformDataTypeXml
struct      xmlSecTransformCtx;
struct      xmlSecTransform;
xmlSecTransformPtr xmlSecTransformCreate    (xmlSecTransformId id,
                                             int dontDestroy);
void        xmlSecTransformDestroy          (xmlSecTransformPtr transform,
                                             int forceDestroy);
int         xmlSecTransformRead             (xmlSecTransformPtr transform,
                                             xmlNodePtr node);
int         xmlSecTransformSetKey           (xmlSecTransformPtr transform,
                                             xmlSecKeyPtr key);
int         xmlSecTransformSetKeyReq        (xmlSecTransformPtr transform,
                                             xmlSecKeyReqPtr keyReq);
int         xmlSecTransformVerify           (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             xmlSecTransformCtxPtr transformCtx);
xmlSecTransformDataType xmlSecTransformGetDataType
                                            (xmlSecTransformPtr transform,
                                             xmlSecTransformMode mode,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformPushBin          (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             int final,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformPopBin           (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t *dataSize,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformPushXml          (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr nodes,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformPopXml           (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr *nodes,
                                             xmlSecTransformCtxPtr transformCtx);
xmlSecTransformDataType xmlSecTransformDefaultGetDataType
                                            (xmlSecTransformPtr transform,
                                             xmlSecTransformMode mode,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformDefaultPushBin   (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             int final,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformDefaultPopBin    (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t *dataSize,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformDefaultPushXml   (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr nodes,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformDefaultPopXml    (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr *nodes,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformExecute          (xmlSecTransformPtr transform,
                                             int last,
                                             xmlSecTransformCtxPtr transformCtx);
int         xmlSecTransformReadBin          (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);
int         xmlSecTransformWriteBin         (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);
int         xmlSecTransformFlushBin         (xmlSecTransformPtr transform);
int         xmlSecTransformExecuteXml       (xmlSecTransformPtr transform,
                                             xmlDocPtr ctxDoc,
                                             xmlDocPtr *doc,
                                             xmlSecNodeSetPtr *nodes);
int         xmlSecTransformExecuteC14N      (xmlSecTransformPtr transform,
                                             xmlDocPtr doc,
                                             xmlSecNodeSetPtr nodes,
                                             xmlOutputBufferPtr buffer);
void        xmlSecTransformDestroyAll       (xmlSecTransformPtr transform);
xmlSecTransformPtr xmlSecTransformAddAfter  (xmlSecTransformPtr curTransform,
                                             xmlSecTransformPtr newTransform);
xmlSecTransformPtr xmlSecTransformAddBefore (xmlSecTransformPtr curTransform,
                                             xmlSecTransformPtr newTransform);
void        xmlSecTransformRemove           (xmlSecTransformPtr transform);
#define     xmlSecTransformGetName          (transform)
#define     xmlSecTransformIsValid          (transform)
#define     xmlSecTransformCheckType        (transform, t)
#define     xmlSecTransformCheckId          (transform, i)
#define     xmlSecTransformCheckSize        (transform, size)
enum        xmlSecTransformType;
typedef     xmlSecTransformUsage;
#define     xmlSecTransformUsageUnknown
#define     xmlSecTransformUsageDSigTransform
#define     xmlSecTransformUsageC14NMethod
#define     xmlSecTransformUsageDigestMethod
#define     xmlSecTransformUsageSignatureMethod
#define     xmlSecTransformUsageEncryptionMethod
#define     xmlSecTransformUsageAny
#define     xmlSecTransformIdUnknown
int         (*xmlSecTransformInitializeMethod)
                                            (xmlSecTransformPtr transform);
void        (*xmlSecTransformFinalizeMethod)
                                            (xmlSecTransformPtr transform);
xmlSecTransformDataType (*xmlSecTransformGetDataTypeMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlSecTransformMode mode,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformNodeReadMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlNodePtr node);
int         (*xmlSecTransformSetKeyRequirements)
                                            (xmlSecTransformPtr transform,
                                             xmlSecKeyReqPtr keyReq);
int         (*xmlSecTransformSetKeyMethod)  (xmlSecTransformPtr transform,
                                             xmlSecKeyPtr key);
int         (*xmlSecTransformVerifyMethod)  (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformPushBinMethod) (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             int final,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformPopBinMethod)  (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t *dataSize,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformPushXmlMethod) (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr nodes,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformPopXmlMethod)  (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr *nodes,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformExecuteMethod) (xmlSecTransformPtr transform,
                                             int last,
                                             xmlSecTransformCtxPtr transformCtx);
int         (*xmlSecTransformReadMethod)    (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);
int         (*xmlSecTransformWriteMethod)   (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);
int         (*xmlSecTransformFlushMethod)   (xmlSecTransformPtr transform);
int         (*xmlSecTransformExecuteXmlMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlDocPtr ctxDoc,
                                             xmlDocPtr *doc,
                                             xmlSecNodeSetPtr *nodes);
int         (*xmlSecTransformExecuteC14NMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlDocPtr doc,
                                             xmlSecNodeSetPtr nodes,
                                             xmlOutputBufferPtr buffer);
struct      xmlSecTransformKlass;
#define     xmlSecTransformKlassGetName     (klass)
#define     XMLSEC_BASE64_LINESIZE
#define     xmlSecTransformBase64Id
xmlSecTransformId xmlSecTransformBase64GetKlass
                                            (void);
void        xmlSecTransformBase64SetLineSize
                                            (xmlSecTransformPtr transform,
                                             size_t lineSize);
#define     xmlSecTransformInputURIId
xmlSecTransformId xmlSecTransformInputURIGetKlass
                                            (void);
int         xmlSecTransformInputURIOpen     (xmlSecTransformPtr transform,
                                             const char *uri);
#define     xmlSecTransformXsltId
xmlSecTransformId xmlSecTransformXsltGetKlass
                                            (void);

Description

Details

XMLSEC_TRANSFORM_BINARY_CHUNK

#define XMLSEC_TRANSFORM_BINARY_CHUNK			64


XMLSEC_TRANSFORM_BUFFER_SIZE

#define XMLSEC_TRANSFORM_BUFFER_SIZE			64	/* should be greater than XMLSEC_TRANSFORM_MIN_BLOCK_SIZE */


xmlSecTransformId

typedef const struct _xmlSecTransformKlass		xmlSecTransformKlass, *xmlSecTransformId;


enum xmlSecTransformStatus

typedef enum  {
    xmlSecTransformStatusNone = 0,
    xmlSecTransformStatusWorking,
    xmlSecTransformStatusFinished,
    xmlSecTransformStatusOk,
    xmlSecTransformStatusFail
} xmlSecTransformStatus;

The transform execution result.

xmlSecTransformStatusNone the status unknown.
xmlSecTransformStatusWorking 
xmlSecTransformStatusFinished 
xmlSecTransformStatusOk success.
xmlSecTransformStatusFail an error occur.


xmlSecTransformStatusIsDone()

#define     xmlSecTransformStatusIsDone(status)

status : 


enum xmlSecTransformMode

typedef enum  {
    xmlSecTransformModeNone = 0,
    xmlSecTransformModePush,
    xmlSecTransformModePop
} xmlSecTransformMode;


xmlSecTransformDataType

typedef unsigned char			xmlSecTransformDataType;


xmlSecTransformDataTypeUnknown

#define xmlSecTransformDataTypeUnknown	0x00


xmlSecTransformDataTypeBin

#define xmlSecTransformDataTypeBin	0x01


xmlSecTransformDataTypeXml

#define xmlSecTransformDataTypeXml	0x02


struct xmlSecTransformCtx

struct xmlSecTransformCtx {
    int 	something;
};

The transform context.


struct xmlSecTransform

struct xmlSecTransform {
    /* general data */
    xmlSecTransformId 			id; 
    xmlSecTransformStatus		status;
    int					dontDestroy;

    /* binary specific */
    int					encode;
    xmlSecTransformPtr			next;
    xmlSecTransformPtr			prev;
    
    /* xml specific */
    xmlNodePtr				hereNode;

    xmlSecBuffer			inBuf;
    xmlSecBuffer			outBuf;
        
    unsigned char			binBuf[XMLSEC_TRANSFORM_BUFFER_SIZE];
    size_t				binBufSize;
    size_t				processed;
        
    void*				reserved0;
    void*				reserved1;
    void*				reserved2;
    void*				reserved3;
    int					reserved4;
    int					reserved5;
};

The transform structure.

xmlSecTransformId id the transform id (pointer to xmlSecTransformId).
xmlSecTransformStatus status the transform status (ok/fail/unknown).
int dontDestroy the don't automatically destroy flag.
int encode 
xmlSecTransformPtr next 
xmlSecTransformPtr prev 
xmlNodePtr hereNode 
xmlSecBuffer inBuf 
xmlSecBuffer outBuf 
unsigned char binBuf[XMLSEC_TRANSFORM_BUFFER_SIZE] 
size_t binBufSize 
size_t processed 
void *reserved0 
void *reserved1 
void *reserved2 
void *reserved3 
int reserved4 
int reserved5 


xmlSecTransformCreate ()

xmlSecTransformPtr xmlSecTransformCreate    (xmlSecTransformId id,
                                             int dontDestroy);

Creates new transform from the transform id object.

id : the transform id to create.
dontDestroy : the flag that controls wherther the transforms can destroy the transforms automatically
Returns :the pointer to newly created xmlSecTransform structure or NULL if an error occurs.


xmlSecTransformDestroy ()

void        xmlSecTransformDestroy          (xmlSecTransformPtr transform,
                                             int forceDestroy);

Destroys transform by calling appropriate transform specific function.

transform : the pointer to xmlSecTransform structure.
forceDestroy : the flag whether the transform destruction will be forced.


xmlSecTransformRead ()

int         xmlSecTransformRead             (xmlSecTransformPtr transform,
                                             xmlNodePtr node);

Reads transform information from the transformNode using transform specific function.

transform : the pointer to xmlSecTransform structure.
node : the pointer to the <dsig:Transform> node.
Returns :0 on success or a negative value otherwise.


xmlSecTransformSetKey ()

int         xmlSecTransformSetKey           (xmlSecTransformPtr transform,
                                             xmlSecKeyPtr key);

Sets the key for binary transform (wrapper for transform specific setKey() method).

transform : the pointer to xmlSecTransform structure.
key : the pointer to xmlSecKey structure.
Returns :0 on success or a negative value otherwise.


xmlSecTransformSetKeyReq ()

int         xmlSecTransformSetKeyReq        (xmlSecTransformPtr transform,
                                             xmlSecKeyReqPtr keyReq);

Sets the key for binary transform (wrapper for transform specific setKeyReq() method).

transform : the pointer to xmlSecTransform structure.
keyReq : 
Returns :0 on success or a negative value otherwise.


xmlSecTransformVerify ()

int         xmlSecTransformVerify           (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
transformCtx : 
Returns : 


xmlSecTransformGetDataType ()

xmlSecTransformDataType xmlSecTransformGetDataType
                                            (xmlSecTransformPtr transform,
                                             xmlSecTransformMode mode,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
mode : 
transformCtx : 
Returns : 


xmlSecTransformPushBin ()

int         xmlSecTransformPushBin          (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             int final,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
final : 
transformCtx : 
Returns : 


xmlSecTransformPopBin ()

int         xmlSecTransformPopBin           (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t *dataSize,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
transformCtx : 
Returns : 


xmlSecTransformPushXml ()

int         xmlSecTransformPushXml          (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr nodes,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
nodes : 
transformCtx : 
Returns : 


xmlSecTransformPopXml ()

int         xmlSecTransformPopXml           (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr *nodes,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
nodes : 
transformCtx : 
Returns : 


xmlSecTransformDefaultGetDataType ()

xmlSecTransformDataType xmlSecTransformDefaultGetDataType
                                            (xmlSecTransformPtr transform,
                                             xmlSecTransformMode mode,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
mode : 
transformCtx : 
Returns : 


xmlSecTransformDefaultPushBin ()

int         xmlSecTransformDefaultPushBin   (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             int final,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
final : 
transformCtx : 
Returns : 


xmlSecTransformDefaultPopBin ()

int         xmlSecTransformDefaultPopBin    (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t *dataSize,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
transformCtx : 
Returns : 


xmlSecTransformDefaultPushXml ()

int         xmlSecTransformDefaultPushXml   (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr nodes,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
nodes : 
transformCtx : 
Returns : 


xmlSecTransformDefaultPopXml ()

int         xmlSecTransformDefaultPopXml    (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr *nodes,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
nodes : 
transformCtx : 
Returns : 


xmlSecTransformExecute ()

int         xmlSecTransformExecute          (xmlSecTransformPtr transform,
                                             int last,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
last : 
transformCtx : 
Returns : 


xmlSecTransformReadBin ()

int         xmlSecTransformReadBin          (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);

Reads chunk of data from the transform (wrapper transform specific readBin() function).

transform : the pointer to xmlSecTransform structure.
buf : the output buffer.
size : the output buffer size.
Returns :the number of bytes in the buffer or negative value if an error occurs.


xmlSecTransformWriteBin ()

int         xmlSecTransformWriteBin         (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);

Writes data to the transform (wrapper to the transform specific writeBin() function).

transform : the pointer to xmlSecTransform structure.
buf : the input data buffer.
size : the input data size.
Returns :the number of bytes consumed or a negative value otherwise.


xmlSecTransformFlushBin ()

int         xmlSecTransformFlushBin         (xmlSecTransformPtr transform);

Finalizes writing (wrapper for transform specific flushBin() method).

transform : the pointer to xmlSecTransform structure.
Returns :0 if success or negative value otherwise.


xmlSecTransformExecuteXml ()

int         xmlSecTransformExecuteXml       (xmlSecTransformPtr transform,
                                             xmlDocPtr ctxDoc,
                                             xmlDocPtr *doc,
                                             xmlSecNodeSetPtr *nodes);

Executes the XML transform and returns result nodes set in nodes (wrapper for transform specific executeXml() method).

transform : the pointer to XML transform.
ctxDoc : the pointer to the document containing the transform's <dsig:Transform> node.
doc : the pointer to the pointer to current document.
nodes : the pointer to the pointer to current and result nodes set.
Returns :0 on success or a negative value otherwise.


xmlSecTransformExecuteC14N ()

int         xmlSecTransformExecuteC14N      (xmlSecTransformPtr transform,
                                             xmlDocPtr doc,
                                             xmlSecNodeSetPtr nodes,
                                             xmlOutputBufferPtr buffer);

Executes the C14N transform and returns result in the buffer (wrapper for transform specific executeC14n() method). If the trnaform is NULL then the default xmlSecC14NInclusive transform is executed.

transform : the pointer to C14N transform.
doc : the pointer to current document.
nodes : the pointer to current nodes set.
buffer : the result buffer.
Returns :0 on success or a negative value otherwise.


xmlSecTransformDestroyAll ()

void        xmlSecTransformDestroyAll       (xmlSecTransformPtr transform);

Destroys all transforms in the chain.

transform : the pointer to xmlSecTransform structure.


xmlSecTransformAddAfter ()

xmlSecTransformPtr xmlSecTransformAddAfter  (xmlSecTransformPtr curTransform,
                                             xmlSecTransformPtr newTransform);

Adds newTransform after the curTransform.

curTransform : the pointer to current transform (may be NULL).
newTransform : the pointer to new transform.
Returns :pointer to the new transforms chain or NULL if an error occurs.


xmlSecTransformAddBefore ()

xmlSecTransformPtr xmlSecTransformAddBefore (xmlSecTransformPtr curTransform,
                                             xmlSecTransformPtr newTransform);

Adds newTransform before the curTransform.

curTransform : the pointer to current transform (may be NULL).
newTransform : the pointer to new transform.
Returns :pointer to the new transforms chain or NULL if an error occurs.


xmlSecTransformRemove ()

void        xmlSecTransformRemove           (xmlSecTransformPtr transform);

Removes transform from the chain. This method MUST be called by any bin transform id destructor.

transform : the pointer to xmlSecTransform structure.


xmlSecTransformGetName()

#define     xmlSecTransformGetName(transform)

transform : 


xmlSecTransformIsValid()

#define     xmlSecTransformIsValid(transform)

Macro. Returns 1 if the transform is valid or 0 otherwise.

transform : the pointer to transform.


xmlSecTransformCheckType()

#define     xmlSecTransformCheckType(transform, t)

Macro. Returns 1 if the transform is valid and has specified type t or 0 otherwise.

transform : the pointer to transform.
t : the transform type.


xmlSecTransformCheckId()

#define     xmlSecTransformCheckId(transform, i)

Macro. Returns 1 if the transform is valid and has specified id i or 0 otherwise.

transform : the pointer to transform.
i : the transform id.


xmlSecTransformCheckSize()

#define     xmlSecTransformCheckSize(transform, size)

Macro. Returns 1 if the transform is valid and has at least size bytes or 0 otherwise.

transform : the pointer to transform.
size : the transform object size.


enum xmlSecTransformType

typedef enum  {
    xmlSecTransformTypeBinary,
    xmlSecTransformTypeXml,
    xmlSecTransformTypeC14N
} xmlSecTransformType;

The transform input/output types.

xmlSecTransformTypeBinary input - binary; output - binary.
xmlSecTransformTypeXml input - XML; output - XML.
xmlSecTransformTypeC14N input - XML; output - binary.


xmlSecTransformUsage

typedef unsigned int					xmlSecTransformUsage;


xmlSecTransformUsageUnknown

#define xmlSecTransformUsageUnknown			0x0000


xmlSecTransformUsageDSigTransform

#define xmlSecTransformUsageDSigTransform		0x0001

Transform could be used in <dsig:Transform>.


xmlSecTransformUsageC14NMethod

#define xmlSecTransformUsageC14NMethod			0x0002

Transform could be used in <dsig:CanonicalizationMethod>.


xmlSecTransformUsageDigestMethod

#define xmlSecTransformUsageDigestMethod		0x0004

Transform could be used in <dsig:DigestMethod>.


xmlSecTransformUsageSignatureMethod

#define xmlSecTransformUsageSignatureMethod		0x0008

Transform could be used in <dsig:SignatureMethod>.


xmlSecTransformUsageEncryptionMethod

#define xmlSecTransformUsageEncryptionMethod		0x0010

Transform could be used in <enc:EncryptionMethod>.


xmlSecTransformUsageAny

#define xmlSecTransformUsageAny				0xFFFF

Transform could be used for operation.


xmlSecTransformIdUnknown

#define xmlSecTransformIdUnknown			NULL

The "unknown" transform id (NULL).


xmlSecTransformInitializeMethod ()

int         (*xmlSecTransformInitializeMethod)
                                            (xmlSecTransformPtr transform);

The transform specific creation method.

transform : the transform.
Returns : 


xmlSecTransformFinalizeMethod ()

void        (*xmlSecTransformFinalizeMethod)
                                            (xmlSecTransformPtr transform);

The transform specific destroy method.

transform : the pointer to the xmlSecTransform structure.


xmlSecTransformGetDataTypeMethod ()

xmlSecTransformDataType (*xmlSecTransformGetDataTypeMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlSecTransformMode mode,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
mode : 
transformCtx : 
Returns : 


xmlSecTransformNodeReadMethod ()

int         (*xmlSecTransformNodeReadMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlNodePtr node);

The transfomr specific method to read the transform data from the transformNode.

transform : the pointer to the xmlSecTransform structure.
node : the pointer to the <dsig:Transform> node.
Returns :0 on success or a negative value otherwise.


xmlSecTransformSetKeyRequirements ()

int         (*xmlSecTransformSetKeyRequirements)
                                            (xmlSecTransformPtr transform,
                                             xmlSecKeyReqPtr keyReq);

transform : the pointer to xmlSecTransform structure.
keyReq : 
Returns : 


xmlSecTransformSetKeyMethod ()

int         (*xmlSecTransformSetKeyMethod)  (xmlSecTransformPtr transform,
                                             xmlSecKeyPtr key);

The transform specific method to set key for use.

transform : the pointer to binary transform.
key : the pointer to key.
Returns :0 on success or a negative value otherwise.


xmlSecTransformVerifyMethod ()

int         (*xmlSecTransformVerifyMethod)  (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
transformCtx : 
Returns : 


xmlSecTransformPushBinMethod ()

int         (*xmlSecTransformPushBinMethod) (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t dataSize,
                                             int final,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
final : 
transformCtx : 
Returns : 


xmlSecTransformPopBinMethod ()

int         (*xmlSecTransformPopBinMethod)  (xmlSecTransformPtr transform,
                                             unsigned char *data,
                                             size_t *dataSize,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
data : 
dataSize : 
transformCtx : 
Returns : 


xmlSecTransformPushXmlMethod ()

int         (*xmlSecTransformPushXmlMethod) (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr nodes,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
nodes : 
transformCtx : 
Returns : 


xmlSecTransformPopXmlMethod ()

int         (*xmlSecTransformPopXmlMethod)  (xmlSecTransformPtr transform,
                                             xmlSecNodeSetPtr *nodes,
                                             xmlSecTransformCtxPtr transformCtx);

transform : 
nodes : 
transformCtx : 
Returns : 


xmlSecTransformExecuteMethod ()

int         (*xmlSecTransformExecuteMethod) (xmlSecTransformPtr transform,
                                             int last,
                                             xmlSecTransformCtxPtr transformCtx);

Transform specific execute method. returns result in the buffer.

transform : the pointer to C14N transform.
last : 
transformCtx : 
Returns :0 on success or a negative value otherwise.


xmlSecTransformReadMethod ()

int         (*xmlSecTransformReadMethod)    (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);

The transform specific method to read next chunk of binary data into buf.

transform : the pointer to xmlSecTransform structure.
buf : the output buffer.
size : the output buffer size.
Returns :the number of bytes in the buffer or negative value if an error occurs.


xmlSecTransformWriteMethod ()

int         (*xmlSecTransformWriteMethod)   (xmlSecTransformPtr transform,
                                             unsigned char *buf,
                                             size_t size);

The transform specific method to write next chunk of binary data from buf.

transform : the pointer to xmlSecTransform structure.
buf : the input data buffer.
size : the input data size.
Returns :0 if success or a negative value otherwise.


xmlSecTransformFlushMethod ()

int         (*xmlSecTransformFlushMethod)   (xmlSecTransformPtr transform);

The transform specific method to finalize writing.

transform : the pointer to xmlSecTransform structure.
Returns :0 if success or negative value otherwise.


xmlSecTransformExecuteXmlMethod ()

int         (*xmlSecTransformExecuteXmlMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlDocPtr ctxDoc,
                                             xmlDocPtr *doc,
                                             xmlSecNodeSetPtr *nodes);

transform : 
ctxDoc : 
doc : 
nodes : 
Returns : 


xmlSecTransformExecuteC14NMethod ()

int         (*xmlSecTransformExecuteC14NMethod)
                                            (xmlSecTransformPtr transform,
                                             xmlDocPtr doc,
                                             xmlSecNodeSetPtr nodes,
                                             xmlOutputBufferPtr buffer);

transform : 
doc : 
nodes : 
buffer : 
Returns : 


struct xmlSecTransformKlass

struct xmlSecTransformKlass {
    size_t				klassSize;
    size_t				objSize;

    /* general data */
    const xmlChar*			name;
    xmlSecTransformType			type;
    xmlSecTransformUsage		usage;
    const xmlChar			*href;

    /* general methods */
    xmlSecTransformInitializeMethod	initialize;
    xmlSecTransformFinalizeMethod	finalize;
    xmlSecTransformNodeReadMethod	readNode;    
    xmlSecTransformSetKeyRequirements	setKeyReq;
    xmlSecTransformSetKeyMethod		setKey;
    xmlSecTransformVerifyMethod		verify;
    xmlSecTransformGetDataTypeMethod	getDataType;
    xmlSecTransformPushBinMethod	pushBin;
    xmlSecTransformPopBinMethod		popBin;
    xmlSecTransformPushXmlMethod	pushXml;
    xmlSecTransformPopXmlMethod		popXml;
    
    /* low level method */
    xmlSecTransformExecuteMethod	execute;
    
    xmlSecTransformExecuteXmlMethod	executeXml;
    xmlSecTransformExecuteC14NMethod	executeC14N;
};

The transform id structure.


xmlSecTransformKlassGetName()

#define     xmlSecTransformKlassGetName(klass)

klass : 


XMLSEC_BASE64_LINESIZE

#define XMLSEC_BASE64_LINESIZE			64

The default max line size for base64 encoding


xmlSecTransformBase64Id

#define     xmlSecTransformBase64Id


xmlSecTransformBase64GetKlass ()

xmlSecTransformId xmlSecTransformBase64GetKlass
                                            (void);

Returns : 


xmlSecTransformBase64SetLineSize ()

void        xmlSecTransformBase64SetLineSize
                                            (xmlSecTransformPtr transform,
                                             size_t lineSize);

Sets the max line size to lineSize.

transform : the pointer to BASE64 encode transform.
lineSize : the new max line size.


xmlSecTransformInputURIId

#define     xmlSecTransformInputURIId

The Input URI transform id.


xmlSecTransformInputURIGetKlass ()

xmlSecTransformId xmlSecTransformInputURIGetKlass
                                            (void);

Returns : 


xmlSecTransformInputURIOpen ()

int         xmlSecTransformInputURIOpen     (xmlSecTransformPtr transform,
                                             const char *uri);

Opens the given uri for reading.

transform : the pointer to IO transform.
uri : the URL to open.
Returns :0 on success or a negative value otherwise.


xmlSecTransformXsltId

#define     xmlSecTransformXsltId

The XSLT transform id.


xmlSecTransformXsltGetKlass ()

xmlSecTransformId xmlSecTransformXsltGetKlass
                                            (void);

Returns :