Sync usage with man page.
[netbsd-mini2440.git] / external / gpl2 / lvm2 / dist / libdm / regex / parse_rx.h
blobdb31265a11ecf757fdaad48d5036b666a73615af
1 /* $NetBSD$ */
3 /*
4 * Copyright (C) 2001-2004 Sistina Software, Inc. All rights reserved.
5 * Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
7 * This file is part of the device-mapper userspace tools.
9 * This copyrighted material is made available to anyone wishing to use,
10 * modify, copy, or redistribute it subject to the terms and conditions
11 * of the GNU Lesser General Public License v.2.1.
13 * You should have received a copy of the GNU Lesser General Public License
14 * along with this program; if not, write to the Free Software Foundation,
15 * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18 #ifndef _DM_PARSE_REGEX_H
19 #define _DM_PARSE_REGEX_H
21 enum {
22 CAT,
23 STAR,
24 PLUS,
25 OR,
26 QUEST,
27 CHARSET
31 * We're never going to be running the regex on non-printable
32 * chars, so we can use a couple of these chars to represent the
33 * start and end of a string.
35 #define HAT_CHAR 0x2
36 #define DOLLAR_CHAR 0x3
38 struct rx_node {
39 int type;
40 dm_bitset_t charset;
41 struct rx_node *left, *right;
43 /* used to build the dfa for the toker */
44 int nullable, final;
45 dm_bitset_t firstpos;
46 dm_bitset_t lastpos;
47 dm_bitset_t followpos;
50 struct rx_node *rx_parse_str(struct dm_pool *mem, const char *str);
51 struct rx_node *rx_parse_tok(struct dm_pool *mem,
52 const char *begin, const char *end);
54 #endif