1 /* $NetBSD: grep.h,v 1.1.1.1 2016/01/10 21:36:21 christos Exp $ */ 2 3 /* grep.h - interface to grep driver for searching subroutines. 4 Copyright (C) 1992, 1998, 2001 Free Software Foundation, Inc. 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 This program is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program; if not, write to the Free Software 18 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 19 02111-1307, USA. */ 20 21 #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6) || __STRICT_ANSI__ 22 # define __attribute__(x) 23 #endif 24 25 /* Grep.c expects the matchers vector to be terminated 26 by an entry with a NULL compile, and to contain at least 27 an entry named "default". */ 28 29 extern struct matcher 30 { 31 char name[8]; 32 void (*compile) PARAMS ((char const *, size_t)); 33 size_t (*execute) PARAMS ((char const *, size_t, size_t *, int)); 34 } const matchers[]; 35 36 /* Exported from fgrepmat.c, egrepmat.c, grepmat.c. */ 37 extern char const *matcher; 38 39 /* The following flags are exported from grep for the matchers 40 to look at. */ 41 extern int match_icase; /* -i */ 42 extern int match_words; /* -w */ 43 extern int match_lines; /* -x */ 44 extern unsigned char eolbyte; /* -z */ 45