2 * $Id: ORTEPattern.c,v 0.0.0.1 2003/07/12
4 * DEBUG: section 28 Pattern
6 * -------------------------------------------------------------------
8 * Open Real-Time Ethernet
10 * Copyright (C) 2001-2006
11 * Department of Control Engineering FEE CTU Prague, Czech Republic
12 * http://dce.felk.cvut.cz
13 * http://www.ocera.org
15 * Author: Petr Smolik petr@smoliku.cz
17 * Project Responsible: Zdenek Hanzalek
18 * --------------------------------------------------------------------
20 * This program is free software; you can redistribute it and/or modify
21 * it under the terms of the GNU General Public License as published by
22 * the Free Software Foundation; either version 2 of the License, or
23 * (at your option) any later version.
25 * This program is distributed in the hope that it will be useful,
26 * but WITHOUT ANY WARRANTY; without even the implied warranty of
27 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
28 * GNU General Public License for more details.
34 /**********************************************************************************/
36 ORTEPatternCheckDefault(const char *topic)
38 if (strchr(topic, '*') != NULL)
43 /**********************************************************************************/
45 ORTEPatternMatchDefault(const char *topic, const char *pattern, void *param)
47 fnmatch((const char *)pattern, (const char *)topic, 0);
51 /**********************************************************************************/
53 ORTEPatternRegister(ORTEDomain *d, ORTEPatternCheck check,
54 ORTEPatternMatch match, void *param)
56 pthread_rwlock_wrlock(&d->patternEntry.lock);
57 d->patternEntry.check = check;
58 d->patternEntry.match = match;
59 d->patternEntry.param = param;
60 pthread_rwlock_unlock(&d->patternEntry.lock);