1 /* 2 AWFFull - A Webalizer Fork, Full o' features 3 4 linklist.h 5 definitions for dealing with linked lists in awffull 6 7 Copyright (C) 1997-2001 Bradford L. Barrett (brad@mrunix.net) 8 Copyright (C) 2006, 2008 by Stephen McInerney (spm@stedee.id.au) 9 10 This file is part of AWFFull. 11 12 AWFFull is free software: you can redistribute it and/or modify 13 it under the terms of the GNU General Public License as published by 14 the Free Software Foundation, either version 3 of the License, or 15 (at your option) any later version. 16 17 AWFFull is distributed in the hope that it will be useful, 18 but WITHOUT ANY WARRANTY; without even the implied warranty of 19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 GNU General Public License for more details. 21 22 You should have received a copy of the GNU General Public License 23 along with AWFFull. If not, see <http://www.gnu.org/licenses/>. 24 25 */ 26 27 #ifndef AWFFULL_LINKLIST_H 28 #define AWFFULL_LINKLIST_H 29 30 #include <limits.h> 31 32 #define LARGE 32767 /* A really big number for dealing with B-M-H */ 33 34 struct nlist { 35 char string[80]; /* list struct for HIDE & GROUP items */ 36 char name[80]; 37 size_t length; 38 int last[UCHAR_MAX + 1]; 39 int HorspoolSkip2; 40 bool wildcard_start; 41 bool wildcard_end; 42 unsigned long matched; /* how often have this entry matched? */ 43 struct nlist *next; 44 }; 45 typedef struct nlist *LISTPTR; 46 47 extern LISTPTR group_sites; /* "group" lists */ 48 extern LISTPTR group_urls; 49 extern LISTPTR group_refs; 50 extern LISTPTR group_agents; 51 extern LISTPTR group_users; 52 extern LISTPTR hidden_sites; /* "hidden" lists */ 53 extern LISTPTR hidden_urls; 54 extern LISTPTR hidden_refs; 55 extern LISTPTR hidden_agents; 56 extern LISTPTR hidden_users; 57 extern LISTPTR ignored_sites; /* "Ignored" lists */ 58 extern LISTPTR ignored_urls; 59 extern LISTPTR ignored_refs; 60 extern LISTPTR ignored_agents; 61 extern LISTPTR ignored_users; 62 extern LISTPTR include_sites; /* "Include" lists */ 63 extern LISTPTR include_urls; 64 extern LISTPTR include_refs; 65 extern LISTPTR include_agents; 66 extern LISTPTR include_users; 67 extern LISTPTR index_alias; /* index. aliases */ 68 extern LISTPTR html_pre; /* before anything else :) */ 69 extern LISTPTR html_head; /* top HTML code */ 70 extern LISTPTR html_body; /* body HTML code */ 71 extern LISTPTR html_post; /* middle HTML code */ 72 extern LISTPTR html_tail; /* tail HTML code */ 73 extern LISTPTR html_end; /* after everything else */ 74 extern LISTPTR page_type; /* page view types */ 75 extern LISTPTR not_page_type; /* NOT page view types */ 76 extern LISTPTR search_list; /* Search engine list */ 77 extern LISTPTR assign_country; /* Assign Address to Country */ 78 79 extern LISTPTR seg_countries; /* Segment by Countries */ 80 extern LISTPTR seg_referers; /* Segment by Referers */ 81 82 extern char *isinlist(LISTPTR, char *); /* scan list for str */ 83 84 extern int add_list_member(char *, LISTPTR *, bool); /* add group list item */ 85 extern void show_matched(LISTPTR, char *); 86 87 #endif /* AWFFULL_LINKLIST_H */ 88