]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/RegularExpressionDxe/Oniguruma/oniggnu.h
MdeModulePkg: Regular expression protocol
[mirror_edk2.git] / MdeModulePkg / Universal / RegularExpressionDxe / Oniguruma / oniggnu.h
CommitLineData
db3b92b4
CS
1#ifndef ONIGGNU_H\r
2#define ONIGGNU_H\r
3/**********************************************************************\r
4 oniggnu.h - Oniguruma (regular expression library)\r
5**********************************************************************/\r
6/*-\r
7 * Copyright (c) 2002-2005 K.Kosako <sndgk393 AT ybb DOT ne DOT jp>\r
8 * All rights reserved.\r
9 *\r
10 * Redistribution and use in source and binary forms, with or without\r
11 * modification, are permitted provided that the following conditions\r
12 * are met:\r
13 * 1. Redistributions of source code must retain the above copyright\r
14 * notice, this list of conditions and the following disclaimer.\r
15 * 2. Redistributions in binary form must reproduce the above copyright\r
16 * notice, this list of conditions and the following disclaimer in the\r
17 * documentation and/or other materials provided with the distribution.\r
18 *\r
19 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND\r
20 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\r
21 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\r
22 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE\r
23 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL\r
24 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS\r
25 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\r
26 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT\r
27 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY\r
28 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF\r
29 * SUCH DAMAGE.\r
30 */\r
31\r
32#include "oniguruma.h"\r
33\r
34#ifdef __cplusplus\r
35extern "C" {\r
36#endif\r
37\r
38#define RE_MBCTYPE_ASCII 0\r
39#define RE_MBCTYPE_EUC 1\r
40#define RE_MBCTYPE_SJIS 2\r
41#define RE_MBCTYPE_UTF8 3\r
42\r
43/* GNU regex options */\r
44#ifndef RE_NREGS\r
45#define RE_NREGS ONIG_NREGION\r
46#endif\r
47\r
48#define RE_OPTION_IGNORECASE ONIG_OPTION_IGNORECASE\r
49#define RE_OPTION_EXTENDED ONIG_OPTION_EXTEND\r
50#define RE_OPTION_MULTILINE ONIG_OPTION_MULTILINE\r
51#define RE_OPTION_SINGLELINE ONIG_OPTION_SINGLELINE\r
52#define RE_OPTION_LONGEST ONIG_OPTION_FIND_LONGEST\r
53#define RE_OPTION_POSIXLINE (RE_OPTION_MULTILINE|RE_OPTION_SINGLELINE)\r
54#define RE_OPTION_FIND_NOT_EMPTY ONIG_OPTION_FIND_NOT_EMPTY\r
55#define RE_OPTION_NEGATE_SINGLELINE ONIG_OPTION_NEGATE_SINGLELINE\r
56#define RE_OPTION_DONT_CAPTURE_GROUP ONIG_OPTION_DONT_CAPTURE_GROUP\r
57#define RE_OPTION_CAPTURE_GROUP ONIG_OPTION_CAPTURE_GROUP\r
58\r
59\r
60ONIG_EXTERN\r
61void re_mbcinit P_((int));\r
62ONIG_EXTERN\r
63int re_compile_pattern P_((const char*, int, struct re_pattern_buffer*, char* err_buf));\r
64ONIG_EXTERN\r
65int re_recompile_pattern P_((const char*, int, struct re_pattern_buffer*, char* err_buf));\r
66ONIG_EXTERN\r
67void re_free_pattern P_((struct re_pattern_buffer*));\r
68ONIG_EXTERN\r
69int re_adjust_startpos P_((struct re_pattern_buffer*, const char*, int, int, int));\r
70ONIG_EXTERN\r
71int re_search P_((struct re_pattern_buffer*, const char*, int, int, int, struct re_registers*));\r
72ONIG_EXTERN\r
73int re_match P_((struct re_pattern_buffer*, const char *, int, int, struct re_registers*));\r
74ONIG_EXTERN\r
75void re_set_casetable P_((const char*));\r
76ONIG_EXTERN\r
77void re_free_registers P_((struct re_registers*));\r
78ONIG_EXTERN\r
79int re_alloc_pattern P_((struct re_pattern_buffer**)); /* added */\r
80\r
81#ifdef __cplusplus\r
82}\r
83#endif\r
84\r
85#endif /* ONIGGNU_H */\r