Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

xmlregexp.h

Go to the documentation of this file.
00001 /*
00002  * regexp.h : describes the basic API for libxml regular expressions handling
00003  *
00004  * See Copyright for the status of this software.
00005  *
00006  * Daniel Veillard <veillard@redhat.com>
00007  */
00008 
00009 #ifndef __XML_REGEXP_H__
00010 #define __XML_REGEXP_H__
00011 
00012 #include <libxml/xmlversion.h>
00013 
00014 #ifdef LIBXML_REGEXP_ENABLED
00015 
00016 #ifdef __cplusplus
00017 extern "C" {
00018 #endif
00019 
00026 typedef struct _xmlRegexp xmlRegexp;
00027 typedef xmlRegexp *xmlRegexpPtr;
00028 
00034 typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
00035 typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
00036 
00037 #ifdef __cplusplus
00038 }
00039 #endif 
00040 #include <libxml/tree.h>
00041 #ifdef __cplusplus
00042 extern "C" {
00043 #endif
00044 
00045 /*
00046  * The POSIX like API
00047  */
00048 XMLPUBFUN xmlRegexpPtr XMLCALL
00049                     xmlRegexpCompile    (const xmlChar *regexp);
00050 XMLPUBFUN void XMLCALL                   xmlRegFreeRegexp(xmlRegexpPtr regexp);
00051 XMLPUBFUN int XMLCALL                   
00052                     xmlRegexpExec       (xmlRegexpPtr comp,
00053                                          const xmlChar *value);
00054 XMLPUBFUN void XMLCALL                  
00055                     xmlRegexpPrint      (FILE *output,
00056                                          xmlRegexpPtr regexp);
00057 XMLPUBFUN int XMLCALL                   
00058                     xmlRegexpIsDeterminist(xmlRegexpPtr comp);
00059 
00060 /*
00061  * Callback function when doing a transition in the automata
00062  */
00063 typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
00064                                      const xmlChar *token,
00065                                      void *transdata,
00066                                      void *inputdata);
00067 
00068 /*
00069  * The progressive API
00070  */
00071 XMLPUBFUN xmlRegExecCtxtPtr XMLCALL     
00072                     xmlRegNewExecCtxt   (xmlRegexpPtr comp,
00073                                          xmlRegExecCallbacks callback,
00074                                          void *data);
00075 XMLPUBFUN void XMLCALL                  
00076                     xmlRegFreeExecCtxt  (xmlRegExecCtxtPtr exec);
00077 XMLPUBFUN int XMLCALL                   
00078                     xmlRegExecPushString(xmlRegExecCtxtPtr exec,
00079                                          const xmlChar *value,
00080                                          void *data);
00081 XMLPUBFUN int XMLCALL                   
00082                     xmlRegExecPushString2(xmlRegExecCtxtPtr exec,
00083                                          const xmlChar *value,
00084                                          const xmlChar *value2,
00085                                          void *data);
00086 
00087 #ifdef __cplusplus
00088 }
00089 #endif 
00090 
00091 #endif /* LIBXML_REGEXP_ENABLED */
00092 
00093 #endif /*__XML_REGEXP_H__ */
00094 

Generated on Wed Mar 16 00:10:27 2005 for Dibbler - a portable DHCPv6 by  doxygen 1.3.9.1