summaryrefslogtreecommitdiffhomepage
path: root/src/conf-tokens.gperf
diff options
context:
space:
mode:
authorrofl0r <rofl0r@users.noreply.github.com>2020-09-16 18:23:35 +0100
committerrofl0r <rofl0r@users.noreply.github.com>2020-09-16 21:01:02 +0100
commit45323584a0b24dc82d583cb34c85051363488bc9 (patch)
tree043c84e9121a3bab0a93de5328a532230c9bad73 /src/conf-tokens.gperf
parentcaeab31fcaab5b4fc1985314447c4509f96c7265 (diff)
speed up big config parsing by 2x using gperf
Diffstat (limited to 'src/conf-tokens.gperf')
-rw-r--r--src/conf-tokens.gperf61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/conf-tokens.gperf b/src/conf-tokens.gperf
new file mode 100644
index 0000000..ef93245
--- /dev/null
+++ b/src/conf-tokens.gperf
@@ -0,0 +1,61 @@
+%{
+#include <string.h>
+#include <stdlib.h>
+#include "conf-tokens.h"
+%}
+
+struct config_directive_entry { const char* name; enum config_directive value; };
+
+%struct-type
+%define slot-name name
+%define initializer-suffix ,CD_NIL
+%define lookup-function-name config_directive_find
+%ignore-case
+%7bit
+%compare-lengths
+%readonly-tables
+%define constants-prefix CDS_
+%omit-struct-type
+
+%%
+logfile, CD_logfile
+pidfile, CD_pidfile
+anonymous, CD_anonymous
+viaproxyname, CD_viaproxyname
+defaulterrorfile, CD_defaulterrorfile
+statfile, CD_statfile
+stathost, CD_stathost
+xtinyproxy, CD_xtinyproxy
+syslog, CD_syslog
+bindsame, CD_bindsame
+disableviaheader, CD_disableviaheader
+port, CD_port
+maxclients, CD_maxclients
+maxspareservers, CD_maxspareservers
+minspareservers, CD_minspareservers
+startservers, CD_startservers
+maxrequestsperchild, CD_maxrequestsperchild
+timeout, CD_timeout
+connectport, CD_connectport
+user, CD_user
+group, CD_group
+listen, CD_listen
+allow, CD_allow
+deny, CD_deny
+bind, CD_bind
+basicauth, CD_basicauth
+errorfile, CD_errorfile
+addheader, CD_addheader
+filter, CD_filter
+filterurls, CD_filterurls
+filterextended, CD_filterextended
+filterdefaultdeny, CD_filterdefaultdeny
+filtercasesensitive, CD_filtercasesensitive
+reversebaseurl, CD_reversebaseurl
+reverseonly, CD_reverseonly
+reversemagic, CD_reversemagic
+reversepath, CD_reversepath
+upstream, CD_upstream
+loglevel, CD_loglevel
+%%
+