Annotation of win32/gnome/gnome-xml/include/libxml/xmlregexp.h, revision 1.1
1.1 ! paf 1: /*
! 2: * regexp.h : describes the basic API for libxml regular expressions handling
! 3: *
! 4: * See Copyright for the status of this software.
! 5: *
! 6: * Daniel Veillard <veillard@redhat.com>
! 7: */
! 8:
! 9: #ifndef __XML_REGEXP_H__
! 10: #define __XML_REGEXP_H__
! 11:
! 12: #include <libxml/xmlversion.h>
! 13:
! 14: #ifdef LIBXML_REGEXP_ENABLED
! 15:
! 16: #ifdef __cplusplus
! 17: extern "C" {
! 18: #endif
! 19:
! 20: /**
! 21: * xmlRegexpPtr:
! 22: *
! 23: * A libxml regular expression, they can actually be far more complex
! 24: * thank the POSIX regex expressions.
! 25: */
! 26: typedef struct _xmlRegexp xmlRegexp;
! 27: typedef xmlRegexp *xmlRegexpPtr;
! 28:
! 29: /**
! 30: * xmlRegExecCtxtPtr:
! 31: *
! 32: * A libxml progressive regular expression evaluation context
! 33: */
! 34: typedef struct _xmlRegExecCtxt xmlRegExecCtxt;
! 35: typedef xmlRegExecCtxt *xmlRegExecCtxtPtr;
! 36:
! 37: #ifdef __cplusplus
! 38: }
! 39: #endif
! 40: #include <libxml/tree.h>
! 41: #ifdef __cplusplus
! 42: extern "C" {
! 43: #endif
! 44:
! 45: /*
! 46: * The POSIX like API
! 47: */
! 48: xmlRegexpPtr xmlRegexpCompile(const xmlChar *regexp);
! 49: void xmlRegFreeRegexp(xmlRegexpPtr regexp);
! 50: int xmlRegexpExec (xmlRegexpPtr comp,
! 51: const xmlChar *value);
! 52: void xmlRegexpPrint (FILE *output,
! 53: xmlRegexpPtr regexp);
! 54: int xmlRegexpIsDeterminist(xmlRegexpPtr comp);
! 55:
! 56: /*
! 57: * Callback function when doing a transition in the automata
! 58: */
! 59: typedef void (*xmlRegExecCallbacks) (xmlRegExecCtxtPtr exec,
! 60: const xmlChar *token,
! 61: void *transdata,
! 62: void *inputdata);
! 63:
! 64: /*
! 65: * The progressive API
! 66: */
! 67: xmlRegExecCtxtPtr xmlRegNewExecCtxt (xmlRegexpPtr comp,
! 68: xmlRegExecCallbacks callback,
! 69: void *data);
! 70: void xmlRegFreeExecCtxt (xmlRegExecCtxtPtr exec);
! 71: int xmlRegExecPushString (xmlRegExecCtxtPtr exec,
! 72: const xmlChar *value,
! 73: void *data);
! 74:
! 75: #ifdef __cplusplus
! 76: }
! 77: #endif
! 78:
! 79: #endif /* LIBXML_REGEXP_ENABLED */
! 80:
! 81: #endif /*__XML_REGEXP_H__ */
E-mail: