/* * Copyright (c) 2004-2013 Sergey Lyubka * Copyright (c) 2013 Cesanta Software Limited * All rights reserved * * This library is dual-licensed: you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. For the terms of this * license, see . * * You are free to use this library under the terms of the GNU General * Public License, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * Alternatively, you can license this library under a commercial * license, as set out in . */ /* * This is a regular expression library that implements a subset of Perl RE. * Please refer to README.md for a detailed reference. */ #ifndef SLRE_HEADER_DEFINED #define SLRE_HEADER_DEFINED #ifdef __cplusplus extern "C" { #endif struct slre_cap { const char *ptr; int len; }; int slre_match(const char *regexp, const char *buf, int buf_len, struct slre_cap *caps, int num_caps); /* slre_match() failure codes */ #define SLRE_NO_MATCH -1 #define SLRE_UNEXPECTED_QUANTIFIER -2 #define SLRE_UNBALANCED_BRACKETS -3 #define SLRE_INTERNAL_ERROR -4 #define SLRE_INVALID_CHARACTER_SET -5 #define SLRE_INVALID_METACHARACTER -6 #define SLRE_CAPS_ARRAY_TOO_SMALL -7 #define SLRE_TOO_MANY_BRANCHES -8 #define SLRE_TOO_MANY_BRACKETS -9 #ifdef __cplusplus } #endif #endif /* SLRE_HEADER_DEFINED */