Index: fusl/include/regex.h |
diff --git a/fusl/include/regex.h b/fusl/include/regex.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..dce217718f8c825acec8d7dad38806db2064b4ec |
--- /dev/null |
+++ b/fusl/include/regex.h |
@@ -0,0 +1,62 @@ |
+#ifndef _REGEX_H |
+#define _REGEX_H |
+ |
+#ifdef __cplusplus |
+extern "C" { |
+#endif |
+ |
+#include <features.h> |
+ |
+#define __NEED_regoff_t |
+#define __NEED_size_t |
+ |
+#include <bits/alltypes.h> |
+ |
+typedef struct re_pattern_buffer { |
+ size_t re_nsub; |
+ void *__opaque, *__padding[4]; |
+ size_t __nsub2; |
+ char __padding2; |
+} regex_t; |
+ |
+typedef struct { |
+ regoff_t rm_so; |
+ regoff_t rm_eo; |
+} regmatch_t; |
+ |
+#define REG_EXTENDED 1 |
+#define REG_ICASE 2 |
+#define REG_NEWLINE 4 |
+#define REG_NOSUB 8 |
+ |
+#define REG_NOTBOL 1 |
+#define REG_NOTEOL 2 |
+ |
+#define REG_OK 0 |
+#define REG_NOMATCH 1 |
+#define REG_BADPAT 2 |
+#define REG_ECOLLATE 3 |
+#define REG_ECTYPE 4 |
+#define REG_EESCAPE 5 |
+#define REG_ESUBREG 6 |
+#define REG_EBRACK 7 |
+#define REG_EPAREN 8 |
+#define REG_EBRACE 9 |
+#define REG_BADBR 10 |
+#define REG_ERANGE 11 |
+#define REG_ESPACE 12 |
+#define REG_BADRPT 13 |
+ |
+#define REG_ENOSYS -1 |
+ |
+int regcomp(regex_t *__restrict, const char *__restrict, int); |
+int regexec(const regex_t *__restrict, const char *__restrict, size_t, regmatch_t *__restrict, int); |
+void regfree(regex_t *); |
+ |
+size_t regerror(int, const regex_t *__restrict, char *__restrict, size_t); |
+ |
+#ifdef __cplusplus |
+} |
+#endif |
+ |
+#endif |