epoc32/include/stdapis/libxml2/libxml2_xmlio.h
author William Roberts <williamr@symbian.org>
Wed, 31 Mar 2010 12:33:34 +0100
branchSymbian3
changeset 4 837f303aceeb
permissions -rw-r--r--
Current Symbian^3 public API header files (from PDK 3.0.h)
This is the epoc32/include tree with the "platform" subtrees removed, and
all but a selected few mbg and rsg files removed.
williamr@4
     1
/*
williamr@4
     2
 * Summary: interface for the I/O interfaces used by the parser
williamr@4
     3
 * Description: interface for the I/O interfaces used by the parser
williamr@4
     4
 *
williamr@4
     5
 * Copy: See Copyright for the status of this software.
williamr@4
     6
 *
williamr@4
     7
 * Author: Daniel Veillard
williamr@4
     8
 * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
williamr@4
     9
 */
williamr@4
    10
williamr@4
    11
/** @file
williamr@4
    12
@publishedAll
williamr@4
    13
@released
williamr@4
    14
*/
williamr@4
    15
williamr@4
    16
#ifndef XML_IO_H
williamr@4
    17
#define XML_IO_H
williamr@4
    18
williamr@4
    19
#include <stdapis/libxml2/libxml2_encoding.h>
williamr@4
    20
williamr@4
    21
#ifdef __cplusplus
williamr@4
    22
extern "C" {
williamr@4
    23
#endif
williamr@4
    24
williamr@4
    25
/*
williamr@4
    26
 * Those are the functions and datatypes for the parser input
williamr@4
    27
 * I/O structures.
williamr@4
    28
 */
williamr@4
    29
williamr@4
    30
/**
williamr@4
    31
 * xmlInputMatchCallback:
williamr@4
    32
 * @param filename the filename or URI
williamr@4
    33
 *
williamr@4
    34
 * Callback used in the I/O Input API to detect if the current handler
williamr@4
    35
 * can provide input fonctionnalities for this resource.
williamr@4
    36
 *
williamr@4
    37
 * Returns 1 if yes and 0 if another Input module should be used
williamr@4
    38
 */
williamr@4
    39
typedef int (*xmlInputMatchCallback) (char const *filename);
williamr@4
    40
/**
williamr@4
    41
 * xmlInputOpenCallback:
williamr@4
    42
 * @param filename the filename or URI
williamr@4
    43
 *
williamr@4
    44
 * Callback used in the I/O Input API to open the resource
williamr@4
    45
 *
williamr@4
    46
 * Returns an Input context or NULL in case or error
williamr@4
    47
 */
williamr@4
    48
typedef void * (*xmlInputOpenCallback) (char const *filename);
williamr@4
    49
/**
williamr@4
    50
 * xmlInputReadCallback:
williamr@4
    51
 * @param context an Input context
williamr@4
    52
 * @param buffer the buffer to store data read
williamr@4
    53
 * @param len the length of the buffer in bytes
williamr@4
    54
 *
williamr@4
    55
 * Callback used in the I/O Input API to read the resource
williamr@4
    56
 *
williamr@4
    57
 * Returns the number of bytes read or -1 in case of error
williamr@4
    58
 */
williamr@4
    59
typedef int (*xmlInputReadCallback) (void * context, char * buffer, int len);
williamr@4
    60
/**
williamr@4
    61
 * xmlInputCloseCallback:
williamr@4
    62
 * @param context an Input context
williamr@4
    63
 *
williamr@4
    64
 * Callback used in the I/O Input API to close the resource
williamr@4
    65
 *
williamr@4
    66
 * Returns 0 or -1 in case of error
williamr@4
    67
 */
williamr@4
    68
typedef int (*xmlInputCloseCallback) (void * context);
williamr@4
    69
williamr@4
    70
#ifdef LIBXML_OUTPUT_ENABLED
williamr@4
    71
/*
williamr@4
    72
 * Those are the functions and datatypes for the library output
williamr@4
    73
 * I/O structures.
williamr@4
    74
 */
williamr@4
    75
williamr@4
    76
/**
williamr@4
    77
 * xmlOutputMatchCallback:
williamr@4
    78
 * @param filename the filename or URI
williamr@4
    79
 *
williamr@4
    80
 * Callback used in the I/O Output API to detect if the current handler
williamr@4
    81
 * can provide output fonctionnalities for this resource.
williamr@4
    82
 *
williamr@4
    83
 * Returns 1 if yes and 0 if another Output module should be used
williamr@4
    84
 */
williamr@4
    85
typedef int (*xmlOutputMatchCallback) (char const *filename);
williamr@4
    86
/**
williamr@4
    87
 * xmlOutputOpenCallback:
williamr@4
    88
 * @param filename the filename or URI
williamr@4
    89
 *
williamr@4
    90
 * Callback used in the I/O Output API to open the resource
williamr@4
    91
 *
williamr@4
    92
 * Returns an Output context or NULL in case or error
williamr@4
    93
 */
williamr@4
    94
typedef void * (*xmlOutputOpenCallback) (char const *filename);
williamr@4
    95
/**
williamr@4
    96
 * xmlOutputWriteCallback:
williamr@4
    97
 * @param context an Output context
williamr@4
    98
 * @param buffer the buffer of data to write
williamr@4
    99
 * @param len the length of the buffer in bytes
williamr@4
   100
 *
williamr@4
   101
 * Callback used in the I/O Output API to write to the resource
williamr@4
   102
 *
williamr@4
   103
 * Returns the number of bytes written or -1 in case of error
williamr@4
   104
 */
williamr@4
   105
typedef int (*xmlOutputWriteCallback) (void * context, const char * buffer,
williamr@4
   106
                                       int len);
williamr@4
   107
/**
williamr@4
   108
 * xmlOutputCloseCallback:
williamr@4
   109
 * @param context an Output context
williamr@4
   110
 *
williamr@4
   111
 * Callback used in the I/O Output API to close the resource
williamr@4
   112
 *
williamr@4
   113
 * Returns 0 or -1 in case of error
williamr@4
   114
 */
williamr@4
   115
typedef int (*xmlOutputCloseCallback) (void * context);
williamr@4
   116
#endif /* LIBXML_OUTPUT_ENABLED */
williamr@4
   117
williamr@4
   118
#ifdef __cplusplus
williamr@4
   119
}
williamr@4
   120
#endif
williamr@4
   121
williamr@4
   122
#include <stdapis/libxml2/libxml2_parser.h>
williamr@4
   123
williamr@4
   124
#ifdef __cplusplus
williamr@4
   125
extern "C" {
williamr@4
   126
#endif
williamr@4
   127
struct _xmlParserInputBuffer {
williamr@4
   128
    void*                  context;
williamr@4
   129
    xmlInputReadCallback   readcallback;
williamr@4
   130
    xmlInputCloseCallback  closecallback;
williamr@4
   131
williamr@4
   132
    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
williamr@4
   133
williamr@4
   134
    xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 */
williamr@4
   135
    xmlBufferPtr raw;       /* if encoder != NULL buffer for raw input */
williamr@4
   136
    int compressed;         /* -1=unknown, 0=not compressed, 1=compressed */
williamr@4
   137
    int error;
williamr@4
   138
    unsigned long rawconsumed;/* amount consumed from raw */
williamr@4
   139
};
williamr@4
   140
williamr@4
   141
williamr@4
   142
#ifdef LIBXML_OUTPUT_ENABLED
williamr@4
   143
struct _xmlOutputBuffer {
williamr@4
   144
    void*                   context;
williamr@4
   145
    xmlOutputWriteCallback  writecallback;
williamr@4
   146
    xmlOutputCloseCallback  closecallback;
williamr@4
   147
williamr@4
   148
    xmlCharEncodingHandlerPtr encoder; /* I18N conversions to UTF-8 */
williamr@4
   149
williamr@4
   150
    xmlBufferPtr buffer;    /* Local buffer encoded in UTF-8 or ISOLatin */
williamr@4
   151
    xmlBufferPtr conv;      /* if encoder != NULL buffer for output */
williamr@4
   152
    int written;            /* total number of byte written */
williamr@4
   153
    int error;
williamr@4
   154
};
williamr@4
   155
#endif /* LIBXML_OUTPUT_ENABLED */
williamr@4
   156
williamr@4
   157
/*
williamr@4
   158
 * Interfaces for input
williamr@4
   159
 */
williamr@4
   160
XMLPUBFUN void XMLCALL
williamr@4
   161
        xmlCleanupInputCallbacks                (void);
williamr@4
   162
williamr@4
   163
XMLPUBFUN int XMLCALL
williamr@4
   164
        xmlPopInputCallbacks                    (void);
williamr@4
   165
williamr@4
   166
XMLPUBFUN void XMLCALL
williamr@4
   167
        xmlRegisterDefaultInputCallbacks        (void);
williamr@4
   168
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   169
        xmlAllocParserInputBuffer               (xmlCharEncoding enc);
williamr@4
   170
williamr@4
   171
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   172
        xmlParserInputBufferCreateFilename      (const char *URI,
williamr@4
   173
                                                xmlCharEncoding enc);
williamr@4
   174
williamr@4
   175
#ifndef XMLENGINE_EXCLUDE_FILE_FUNC
williamr@4
   176
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   177
        xmlParserInputBufferCreateFile          (FILE *file,
williamr@4
   178
                                                 xmlCharEncoding enc);
williamr@4
   179
#endif
williamr@4
   180
williamr@4
   181
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   182
        xmlParserInputBufferCreateFd            (int fd,
williamr@4
   183
                                                 xmlCharEncoding enc);
williamr@4
   184
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   185
        xmlParserInputBufferCreateMem           (const char *mem, int size,
williamr@4
   186
                                                 xmlCharEncoding enc);
williamr@4
   187
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   188
        xmlParserInputBufferCreateStatic        (const char *mem, int size,
williamr@4
   189
                                                 xmlCharEncoding enc);
williamr@4
   190
XMLPUBFUN xmlParserInputBufferPtr XMLCALL
williamr@4
   191
        xmlParserInputBufferCreateIO            (xmlInputReadCallback   ioread,
williamr@4
   192
                                                 xmlInputCloseCallback  ioclose,
williamr@4
   193
                                                 void *ioctx,
williamr@4
   194
                                                 xmlCharEncoding enc);
williamr@4
   195
XMLPUBFUN int XMLCALL
williamr@4
   196
        xmlParserInputBufferRead                (xmlParserInputBufferPtr in,
williamr@4
   197
                                                 int len);
williamr@4
   198
XMLPUBFUN int XMLCALL
williamr@4
   199
        xmlParserInputBufferGrow                (xmlParserInputBufferPtr in,
williamr@4
   200
                                                 int len);
williamr@4
   201
XMLPUBFUN int XMLCALL
williamr@4
   202
        xmlParserInputBufferPush                (xmlParserInputBufferPtr in,
williamr@4
   203
                                                 int len,
williamr@4
   204
                                                 const char *buf);
williamr@4
   205
XMLPUBFUN void XMLCALL
williamr@4
   206
        xmlFreeParserInputBuffer                (xmlParserInputBufferPtr in);
williamr@4
   207
XMLPUBFUN char * XMLCALL
williamr@4
   208
        xmlParserGetDirectory                   (const char *filename);
williamr@4
   209
williamr@4
   210
XMLPUBFUN int XMLCALL
williamr@4
   211
        xmlRegisterInputCallbacks               (xmlInputMatchCallback matchFunc,
williamr@4
   212
                                                 xmlInputOpenCallback openFunc,
williamr@4
   213
                                                 xmlInputReadCallback readFunc,
williamr@4
   214
                                                 xmlInputCloseCallback closeFunc);
williamr@4
   215
#ifdef LIBXML_OUTPUT_ENABLED
williamr@4
   216
/*
williamr@4
   217
 * Interfaces for output
williamr@4
   218
 */
williamr@4
   219
XMLPUBFUN void XMLCALL
williamr@4
   220
        xmlCleanupOutputCallbacks               (void);
williamr@4
   221
XMLPUBFUN void XMLCALL
williamr@4
   222
        xmlRegisterDefaultOutputCallbacks(void);
williamr@4
   223
XMLPUBFUN xmlOutputBufferPtr XMLCALL
williamr@4
   224
        xmlAllocOutputBuffer            (xmlCharEncodingHandlerPtr encoder);
williamr@4
   225
williamr@4
   226
XMLPUBFUN xmlOutputBufferPtr XMLCALL
williamr@4
   227
        xmlOutputBufferCreateFilename   (const char *URI,
williamr@4
   228
                                         xmlCharEncodingHandlerPtr encoder,
williamr@4
   229
                                         int compression);
williamr@4
   230
//libxslt needs it
williamr@4
   231
XMLPUBFUN xmlOutputBufferPtr XMLCALL
williamr@4
   232
        xmlOutputBufferCreateFile       (FILE *file,
williamr@4
   233
                                         xmlCharEncodingHandlerPtr encoder);
williamr@4
   234
williamr@4
   235
XMLPUBFUN xmlOutputBufferPtr XMLCALL
williamr@4
   236
        xmlOutputBufferCreateFd         (int fd,
williamr@4
   237
                                         xmlCharEncodingHandlerPtr encoder);
williamr@4
   238
williamr@4
   239
XMLPUBFUN xmlOutputBufferPtr XMLCALL
williamr@4
   240
        xmlOutputBufferCreateIO         (xmlOutputWriteCallback   iowrite,
williamr@4
   241
                                         xmlOutputCloseCallback  ioclose,
williamr@4
   242
                                         void *ioctx,
williamr@4
   243
                                         xmlCharEncodingHandlerPtr encoder);
williamr@4
   244
williamr@4
   245
XMLPUBFUN int XMLCALL
williamr@4
   246
        xmlOutputBufferWrite            (xmlOutputBufferPtr out,
williamr@4
   247
                                         int len,
williamr@4
   248
                                         const char *buf);
williamr@4
   249
XMLPUBFUN int XMLCALL
williamr@4
   250
        xmlOutputBufferWriteString      (xmlOutputBufferPtr out,
williamr@4
   251
                                         const char *str);
williamr@4
   252
XMLPUBFUN int XMLCALL
williamr@4
   253
        xmlOutputBufferWriteEscape      (xmlOutputBufferPtr out,
williamr@4
   254
                                         const xmlChar *str,
williamr@4
   255
                                         xmlCharEncodingOutputFunc escaping);
williamr@4
   256
williamr@4
   257
XMLPUBFUN int XMLCALL
williamr@4
   258
        xmlOutputBufferFlush            (xmlOutputBufferPtr out);
williamr@4
   259
XMLPUBFUN int XMLCALL
williamr@4
   260
        xmlOutputBufferClose            (xmlOutputBufferPtr out);
williamr@4
   261
williamr@4
   262
XMLPUBFUN int XMLCALL
williamr@4
   263
        xmlRegisterOutputCallbacks      (xmlOutputMatchCallback matchFunc,
williamr@4
   264
                                         xmlOutputOpenCallback openFunc,
williamr@4
   265
                                         xmlOutputWriteCallback writeFunc,
williamr@4
   266
                                         xmlOutputCloseCallback closeFunc);
williamr@4
   267
#endif /* LIBXML_OUTPUT_ENABLED */
williamr@4
   268
williamr@4
   269
/*  This function only exists if HTTP support built into the library  */
williamr@4
   270
#ifdef LIBXML_HTTP_ENABLED
williamr@4
   271
XMLPUBFUN void * XMLCALL
williamr@4
   272
        xmlIOHTTPOpenW                  (const char * post_uri,
williamr@4
   273
                                         int   compression );
williamr@4
   274
XMLPUBFUN void XMLCALL
williamr@4
   275
        xmlRegisterHTTPPostCallbacks    (void );
williamr@4
   276
#endif
williamr@4
   277
williamr@4
   278
XMLPUBFUN xmlParserInputPtr XMLCALL
williamr@4
   279
        xmlCheckHTTPInput               (xmlParserCtxtPtr ctxt,
williamr@4
   280
                                         xmlParserInputPtr ret);
williamr@4
   281
williamr@4
   282
/*
williamr@4
   283
 * A predefined entity loader disabling network accesses
williamr@4
   284
 */
williamr@4
   285
XMLPUBFUN xmlParserInputPtr XMLCALL
williamr@4
   286
        xmlNoNetExternalEntityLoader    (const char *URL,
williamr@4
   287
                                         const char *ID,
williamr@4
   288
                                         xmlParserCtxtPtr ctxt);
williamr@4
   289
williamr@4
   290
XMLPUBFUN int XMLCALL
williamr@4
   291
    xmlCheckFilename        (const char *path);
williamr@4
   292
/**
williamr@4
   293
 * Default 'file://' protocol callbacks
williamr@4
   294
 */
williamr@4
   295
XMLPUBFUN int XMLCALL
williamr@4
   296
    xmlFileMatch    (const char *filename);
williamr@4
   297
williamr@4
   298
XMLPUBFUN void * XMLCALL
williamr@4
   299
    xmlFileOpen     (const char *filename);
williamr@4
   300
XMLPUBFUN int XMLCALL
williamr@4
   301
    xmlFileRead     (void * context,
williamr@4
   302
                     char * buffer,
williamr@4
   303
                     int len);
williamr@4
   304
XMLPUBFUN int XMLCALL
williamr@4
   305
    xmlFileClose    (void * context);
williamr@4
   306
williamr@4
   307
/**
williamr@4
   308
 * Default 'http://' protocol callbacks
williamr@4
   309
 */
williamr@4
   310
#ifdef LIBXML_HTTP_ENABLED
williamr@4
   311
XMLPUBFUN int XMLCALL
williamr@4
   312
        xmlIOHTTPMatch                  (const char *filename);
williamr@4
   313
XMLPUBFUN void * XMLCALL
williamr@4
   314
        xmlIOHTTPOpen                   (const char *filename);
williamr@4
   315
XMLPUBFUN int XMLCALL
williamr@4
   316
        xmlIOHTTPRead                   (void * context,
williamr@4
   317
                                         char * buffer,
williamr@4
   318
                                         int len);
williamr@4
   319
XMLPUBFUN int XMLCALL
williamr@4
   320
        xmlIOHTTPClose                  (void * context);
williamr@4
   321
#endif /* LIBXML_HTTP_ENABLED */
williamr@4
   322
williamr@4
   323
/**
williamr@4
   324
 * Default 'ftp://' protocol callbacks
williamr@4
   325
 */
williamr@4
   326
#ifdef LIBXML_FTP_ENABLED
williamr@4
   327
XMLPUBFUN int XMLCALL
williamr@4
   328
        xmlIOFTPMatch                   (const char *filename);
williamr@4
   329
XMLPUBFUN void * XMLCALL
williamr@4
   330
        xmlIOFTPOpen                    (const char *filename);
williamr@4
   331
XMLPUBFUN int XMLCALL
williamr@4
   332
        xmlIOFTPRead                    (void * context,
williamr@4
   333
                                         char * buffer,
williamr@4
   334
                                         int len);
williamr@4
   335
XMLPUBFUN int XMLCALL
williamr@4
   336
        xmlIOFTPClose                   (void * context);
williamr@4
   337
#endif /* LIBXML_FTP_ENABLED */
williamr@4
   338
williamr@4
   339
#ifdef __cplusplus
williamr@4
   340
}
williamr@4
   341
#endif
williamr@4
   342
williamr@4
   343
#endif /* XML_IO_H */
williamr@4
   344