PostgreSQL Source Code git master
Loading...
Searching...
No Matches
regis.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * regis.h
4 *
5 * Declarations for fast regex subset, used by ISpell
6 *
7 * Portions Copyright (c) 1996-2026, PostgreSQL Global Development Group
8 *
9 * src/include/tsearch/dicts/regis.h
10 *
11 *-------------------------------------------------------------------------
12 */
13
14#ifndef __REGIS_H__
15#define __REGIS_H__
16
17typedef struct RegisNode
18{
19 uint32
21 len:16,
23 struct RegisNode *next;
26
27#define RNHDRSZ (offsetof(RegisNode,data))
28
29#define RSF_ONEOF 1
30#define RSF_NONEOF 2
31
32typedef struct Regis
33{
35 uint32
40
41extern bool RS_isRegis(const char *str);
42
43extern void RS_compile(Regis *r, bool issuffix, const char *str);
44extern void RS_free(Regis *r);
45
46/*returns true if matches */
47extern bool RS_execute(Regis *r, char *str);
48
49#endif
#define FLEXIBLE_ARRAY_MEMBER
Definition c.h:480
uint32_t uint32
Definition c.h:546
const char * str
void RS_compile(Regis *r, bool issuffix, const char *str)
Definition regis.c:85
bool RS_execute(Regis *r, char *str)
Definition regis.c:213
bool RS_isRegis(const char *str)
Definition regis.c:31
void RS_free(Regis *r)
Definition regis.c:166
unsigned char data[FLEXIBLE_ARRAY_MEMBER]
Definition regis.h:24
uint32 len
Definition regis.h:21
struct RegisNode * next
Definition regis.h:23
uint32 unused
Definition regis.h:22
uint32 type
Definition regis.h:20
Definition regis.h:33
uint32 issuffix
Definition regis.h:36
uint32 unused
Definition regis.h:38
RegisNode * node
Definition regis.h:34
uint32 nchar
Definition regis.h:37