Back to Turicreate

Module relaxng from libxml2

deps/src/libxml2-2.9.1/doc/html/libxml-relaxng.html

6.4.119.7 KB
Original Source

| |

|

|

|

Module relaxng from libxml2

|

|

|

|

|

|

| API Menu | |

|

| API Indexes | |

|

| Related links | |

|

|

|

|

|

|

| | pattern | | API documentation | | The XML C parser and toolkit of Gnome | schemasInternals | |

implementation of the Relax-NG validation

Table of Contents

Structure[xmlRelaxNG](#xmlRelaxNG)
struct _xmlRelaxNG
The content of this structure is not made public by the API.
Structure[xmlRelaxNGParserCtxt](#xmlRelaxNGParserCtxt)
struct _xmlRelaxNGParserCtxt
The content of this structure is not made public by the API.
Typedef[xmlRelaxNGParserCtxt](libxml-relaxng.html#xmlRelaxNGParserCtxt)*xmlRelaxNGParserCtxtPtr
Enum[xmlRelaxNGParserFlag](#xmlRelaxNGParserFlag)
Typedef[xmlRelaxNG](libxml-relaxng.html#xmlRelaxNG)*xmlRelaxNGPtr
Structure[xmlRelaxNGValidCtxt](#xmlRelaxNGValidCtxt)
struct _xmlRelaxNGValidCtxt
The content of this structure is not made public by the API.
Typedef[xmlRelaxNGValidCtxt](libxml-relaxng.html#xmlRelaxNGValidCtxt)*xmlRelaxNGValidCtxtPtr
Enum[xmlRelaxNGValidErr](#xmlRelaxNGValidErr)
void[xmlRelaxNGCleanupTypes](#xmlRelaxNGCleanupTypes)(void)
void[xmlRelaxNGDump](#xmlRelaxNGDump)(FILE * output,
[xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)
void[xmlRelaxNGDumpTree](#xmlRelaxNGDumpTree)(FILE * output,
[xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)
void[xmlRelaxNGFree](#xmlRelaxNGFree)([xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)
void[xmlRelaxNGFreeParserCtxt](#xmlRelaxNGFreeParserCtxt)([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt)
void[xmlRelaxNGFreeValidCtxt](#xmlRelaxNGFreeValidCtxt)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt)
int[xmlRelaxNGGetParserErrors](#xmlRelaxNGGetParserErrors)([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)* err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)* warn,
void ** ctx)
int[xmlRelaxNGGetValidErrors](#xmlRelaxNGGetValidErrors)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)* err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)* warn,
void ** ctx)
int[xmlRelaxNGInitTypes](#xmlRelaxNGInitTypes)(void)
[xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)[xmlRelaxNGNewDocParserCtxt](#xmlRelaxNGNewDocParserCtxt)([xmlDocPtr](libxml-tree.html#xmlDocPtr)doc)
[xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)[xmlRelaxNGNewMemParserCtxt](#xmlRelaxNGNewMemParserCtxt)(const char * buffer,
int size)
[xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)[xmlRelaxNGNewParserCtxt](#xmlRelaxNGNewParserCtxt)(const char * URL)
[xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)[xmlRelaxNGNewValidCtxt](#xmlRelaxNGNewValidCtxt)([xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)
[xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)[xmlRelaxNGParse](#xmlRelaxNGParse)([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt)
void[xmlRelaxNGSetParserErrors](#xmlRelaxNGSetParserErrors)([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)warn,
void * ctx)
void[xmlRelaxNGSetParserStructuredErrors](#xmlRelaxNGSetParserStructuredErrors)([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx)
void[xmlRelaxNGSetValidErrors](#xmlRelaxNGSetValidErrors)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)warn,
void * ctx)
void[xmlRelaxNGSetValidStructuredErrors](#xmlRelaxNGSetValidStructuredErrors)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx)
int[xmlRelaxNGValidateDoc](#xmlRelaxNGValidateDoc)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc)
int[xmlRelaxNGValidateFullElement](#xmlRelaxNGValidateFullElement)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml-tree.html#xmlNodePtr)elem)
int[xmlRelaxNGValidatePopElement](#xmlRelaxNGValidatePopElement)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml-tree.html#xmlNodePtr)elem)
int[xmlRelaxNGValidatePushCData](#xmlRelaxNGValidatePushCData)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
const[xmlChar](libxml-xmlstring.html#xmlChar)* data,
int len)
int[xmlRelaxNGValidatePushElement](#xmlRelaxNGValidatePushElement)([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml-tree.html#xmlNodePtr)elem)
Function type:[xmlRelaxNGValidityErrorFunc](#xmlRelaxNGValidityErrorFunc)void[xmlRelaxNGValidityErrorFunc](#xmlRelaxNGValidityErrorFunc)(void * ctx,
const char * msg,
... ...)
Function type:[xmlRelaxNGValidityWarningFunc](#xmlRelaxNGValidityWarningFunc)void[xmlRelaxNGValidityWarningFunc](#xmlRelaxNGValidityWarningFunc)(void * ctx,
const char * msg,
... ...)
int[xmlRelaxParserSetFlag](#xmlRelaxParserSetFlag)([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
int flags)

Description

Structure xmlRelaxNG

Structure xmlRelaxNG
struct _xmlRelaxNG {
The content of this structure is not made public by the API.
}

Structure xmlRelaxNGParserCtxt

Structure xmlRelaxNGParserCtxt
struct _xmlRelaxNGParserCtxt {
The content of this structure is not made public by the API.
}

Enum xmlRelaxNGParserFlag

Enum xmlRelaxNGParserFlag {XML\_RELAXNGP\_NONE= 0XML\_RELAXNGP\_FREE\_DOC= 1XML\_RELAXNGP\_CRNG= 2
}

Structure xmlRelaxNGValidCtxt

Structure xmlRelaxNGValidCtxt
struct _xmlRelaxNGValidCtxt {
The content of this structure is not made public by the API.
}

Enum xmlRelaxNGValidErr

Enum xmlRelaxNGValidErr {XML\_RELAXNG\_OK= 0XML\_RELAXNG\_ERR\_MEMORY= 1XML\_RELAXNG\_ERR\_TYPE= 2XML\_RELAXNG\_ERR\_TYPEVAL= 3XML\_RELAXNG\_ERR\_DUPID= 4XML\_RELAXNG\_ERR\_TYPECMP= 5XML\_RELAXNG\_ERR\_NOSTATE= 6XML\_RELAXNG\_ERR\_NODEFINE= 7XML\_RELAXNG\_ERR\_LISTEXTRA= 8XML\_RELAXNG\_ERR\_LISTEMPTY= 9XML\_RELAXNG\_ERR\_INTERNODATA= 10XML\_RELAXNG\_ERR\_INTERSEQ= 11XML\_RELAXNG\_ERR\_INTEREXTRA= 12XML\_RELAXNG\_ERR\_ELEMNAME= 13XML\_RELAXNG\_ERR\_ATTRNAME= 14XML\_RELAXNG\_ERR\_ELEMNONS= 15XML\_RELAXNG\_ERR\_ATTRNONS= 16XML\_RELAXNG\_ERR\_ELEMWRONGNS= 17XML\_RELAXNG\_ERR\_ATTRWRONGNS= 18XML\_RELAXNG\_ERR\_ELEMEXTRANS= 19XML\_RELAXNG\_ERR\_ATTREXTRANS= 20XML\_RELAXNG\_ERR\_ELEMNOTEMPTY= 21XML\_RELAXNG\_ERR\_NOELEM= 22XML\_RELAXNG\_ERR\_NOTELEM= 23XML\_RELAXNG\_ERR\_ATTRVALID= 24XML\_RELAXNG\_ERR\_CONTENTVALID= 25XML\_RELAXNG\_ERR\_EXTRACONTENT= 26XML\_RELAXNG\_ERR\_INVALIDATTR= 27XML\_RELAXNG\_ERR\_DATAELEM= 28XML\_RELAXNG\_ERR\_VALELEM= 29XML\_RELAXNG\_ERR\_LISTELEM= 30XML\_RELAXNG\_ERR\_DATATYPE= 31XML\_RELAXNG\_ERR\_VALUE= 32XML\_RELAXNG\_ERR\_LIST= 33XML\_RELAXNG\_ERR\_NOGRAMMAR= 34XML\_RELAXNG\_ERR\_EXTRADATA= 35XML\_RELAXNG\_ERR\_LACKDATA= 36XML\_RELAXNG\_ERR\_INTERNAL= 37XML\_RELAXNG\_ERR\_ELEMWRONG= 38XML\_RELAXNG\_ERR\_TEXTWRONG= 39
}

Function: xmlRelaxNGCleanupTypes

void	xmlRelaxNGCleanupTypes (void)

Cleanup the default Schemas type library associated to RelaxNG

Function: xmlRelaxNGDump

void	xmlRelaxNGDump (FILE * output,
[xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)

Dump a RelaxNG structure back

| output: | the file output | | schema: | a schema structure |

Function: xmlRelaxNGDumpTree

void	xmlRelaxNGDumpTree (FILE * output,
[xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)

Dump the transformed RelaxNG tree.

| output: | the file output | | schema: | a schema structure |

Function: xmlRelaxNGFree

void	xmlRelaxNGFree ([xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)

Deallocate a RelaxNG structure.

| schema: | a schema structure |

Function: xmlRelaxNGFreeParserCtxt

void	xmlRelaxNGFreeParserCtxt	([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt)

Free the resources associated to the schema parser context

| ctxt: | the schema parser context |

Function: xmlRelaxNGFreeValidCtxt

void	xmlRelaxNGFreeValidCtxt ([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt)

Free the resources associated to the schema validation context

| ctxt: | the schema validation context |

Function: xmlRelaxNGGetParserErrors

int	xmlRelaxNGGetParserErrors	([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)* err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)* warn,
void ** ctx)

Get the callback information used to handle errors for a validation context

| ctxt: | a Relax-NG validation context | | err: | the error callback result | | warn: | the warning callback result | | ctx: | contextual data for the callbacks result | | Returns: | -1 in case of failure, 0 otherwise. |

Function: xmlRelaxNGGetValidErrors

int	xmlRelaxNGGetValidErrors	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)* err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)* warn,
void ** ctx)

Get the error and warning callback informations

| ctxt: | a Relax-NG validation context | | err: | the error function result | | warn: | the warning function result | | ctx: | the functions context result | | Returns: | -1 in case of error and 0 otherwise |

Function: xmlRelaxNGInitTypes

int	xmlRelaxNGInitTypes (void)

Initilize the default type libraries.

| Returns: | 0 in case of success and -1 in case of error. |

Function: xmlRelaxNGNewDocParserCtxt

[xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)xmlRelaxNGNewDocParserCtxt	([xmlDocPtr](libxml-tree.html#xmlDocPtr)doc)

Create an XML RelaxNGs parser context for that document. Note: since the process of compiling a RelaxNG schemas modifies the document, the @doc parameter is duplicated internally.

| doc: | a preparsed document tree | | Returns: | the parser context or NULL in case of error |

Function: xmlRelaxNGNewMemParserCtxt

[xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)xmlRelaxNGNewMemParserCtxt	(const char * buffer,
int size)

Create an XML RelaxNGs parse context for that memory buffer expected to contain an XML RelaxNGs file.

| buffer: | a pointer to a char array containing the schemas | | size: | the size of the array | | Returns: | the parser context or NULL in case of error |

Function: xmlRelaxNGNewParserCtxt

[xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)xmlRelaxNGNewParserCtxt	(const char * URL)

Create an XML RelaxNGs parse context for that file/resource expected to contain an XML RelaxNGs file.

| URL: | the location of the schema | | Returns: | the parser context or NULL in case of error |

Function: xmlRelaxNGNewValidCtxt

[xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)xmlRelaxNGNewValidCtxt	([xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)schema)

Create an XML RelaxNGs validation context based on the given schema

| schema: | a precompiled XML RelaxNGs | | Returns: | the validation context or NULL in case of error |

Function: xmlRelaxNGParse

[xmlRelaxNGPtr](libxml-relaxng.html#xmlRelaxNGPtr)xmlRelaxNGParse ([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt)

parse a schema definition resource and build an internal XML Shema struture which can be used to validate instances.

| ctxt: | a Relax-NG parser context | | Returns: | the internal XML RelaxNG structure built from the resource or NULL in case of error |

Function: xmlRelaxNGSetParserErrors

void	xmlRelaxNGSetParserErrors	([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)warn,
void * ctx)

Set the callback functions used to handle errors for a validation context

| ctxt: | a Relax-NG validation context | | err: | the error callback | | warn: | the warning callback | | ctx: | contextual data for the callbacks |

Function: xmlRelaxNGSetParserStructuredErrors

void	xmlRelaxNGSetParserStructuredErrors	([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx)

Set the callback functions used to handle errors for a parsing context

| ctxt: | a Relax-NG parser context | | serror: | the error callback | | ctx: | contextual data for the callbacks |

Function: xmlRelaxNGSetValidErrors

void	xmlRelaxNGSetValidErrors	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlRelaxNGValidityErrorFunc](libxml-relaxng.html#xmlRelaxNGValidityErrorFunc)err,
[xmlRelaxNGValidityWarningFunc](libxml-relaxng.html#xmlRelaxNGValidityWarningFunc)warn,
void * ctx)

Set the error and warning callback informations

| ctxt: | a Relax-NG validation context | | err: | the error function | | warn: | the warning function | | ctx: | the functions context |

Function: xmlRelaxNGSetValidStructuredErrors

void	xmlRelaxNGSetValidStructuredErrors	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlStructuredErrorFunc](libxml-xmlerror.html#xmlStructuredErrorFunc)serror,
void * ctx)

Set the structured error callback

| ctxt: | a Relax-NG validation context | | serror: | the structured error function | | ctx: | the functions context |

Function: xmlRelaxNGValidateDoc

int	xmlRelaxNGValidateDoc ([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc)

Validate a document tree in memory.

| ctxt: | a Relax-NG validation context | | doc: | a parsed document tree | | Returns: | 0 if the document is valid, a positive error code number otherwise and -1 in case of internal or API error. |

Function: xmlRelaxNGValidateFullElement

int	xmlRelaxNGValidateFullElement	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml-tree.html#xmlNodePtr)elem)

Validate a full subtree when xmlRelaxNGValidatePushElement() returned 0 and the content of the node has been expanded.

| ctxt: | the validation context | | doc: | a document instance | | elem: | an element instance | | Returns: | 1 if no validation problem was found or -1 in case of error. |

Function: xmlRelaxNGValidatePopElement

int	xmlRelaxNGValidatePopElement	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml-tree.html#xmlNodePtr)elem)

Pop the element end from the RelaxNG validation stack.

| ctxt: | the RelaxNG validation context | | doc: | a document instance | | elem: | an element instance | | Returns: | 1 if no validation problem was found or 0 otherwise |

Function: xmlRelaxNGValidatePushCData

int	xmlRelaxNGValidatePushCData	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
const[xmlChar](libxml-xmlstring.html#xmlChar)* data,
int len)

check the CData parsed for validation in the current stack

| ctxt: | the RelaxNG validation context | | data: | some character data read | | len: | the length of the data | | Returns: | 1 if no validation problem was found or -1 otherwise |

Function: xmlRelaxNGValidatePushElement

int	xmlRelaxNGValidatePushElement	([xmlRelaxNGValidCtxtPtr](libxml-relaxng.html#xmlRelaxNGValidCtxtPtr)ctxt,
[xmlDocPtr](libxml-tree.html#xmlDocPtr)doc,
[xmlNodePtr](libxml-tree.html#xmlNodePtr)elem)

Push a new element start on the RelaxNG validation stack.

| ctxt: | the validation context | | doc: | a document instance | | elem: | an element instance | | Returns: | 1 if no validation problem was found or 0 if validating the element requires a full node, and -1 in case of error. |

Function type: xmlRelaxNGValidityErrorFunc

Function type: xmlRelaxNGValidityErrorFunc
void	xmlRelaxNGValidityErrorFunc	(void * ctx,
const char * msg,
... ...)

Signature of an error callback from a Relax-NG validation

| ctx: | the validation context | | msg: | the message | | ...: | extra arguments |

Function type: xmlRelaxNGValidityWarningFunc

Function type: xmlRelaxNGValidityWarningFunc
void	xmlRelaxNGValidityWarningFunc	(void * ctx,
const char * msg,
... ...)

Signature of a warning callback from a Relax-NG validation

| ctx: | the validation context | | msg: | the message | | ...: | extra arguments |

Function: xmlRelaxParserSetFlag

int	xmlRelaxParserSetFlag ([xmlRelaxNGParserCtxtPtr](libxml-relaxng.html#xmlRelaxNGParserCtxtPtr)ctxt,
int flags)

Semi private function used to pass informations to a parser context which are a combination of xmlRelaxNGParserFlag .

| ctxt: | a RelaxNG parser context | | flags: | a set of flags values | | Returns: | 0 if success and -1 in case of error |

Daniel Veillard

|

|

|

|

|