[MINOR] move MAXPATHLEN definition to compat.h

MAXPATHLEN may be used at other places, it's unconvenient to have it
redefined in a few files. Also, since checking it requires including
sys/param.h, some versions of it cause a macro declaration conflict
with MIN/MAX which are defined in tools.h. The solution consists in
including sys/param.h in both files so that we ensure it's loaded
before the macros are defined and MAXPATHLEN is checked.
diff --git a/include/common/compat.h b/include/common/compat.h
index 9eecdfb..e134d58 100644
--- a/include/common/compat.h
+++ b/include/common/compat.h
@@ -1,30 +1,32 @@
 /*
-  include/common/compat.h
-  Operating system compatibility interface.
-
-  Copyright (C) 2000-2008 Willy Tarreau - w@1wt.eu
-  
-  This library is free software; you can redistribute it and/or
-  modify it under the terms of the GNU Lesser General Public
-  License as published by the Free Software Foundation, version 2.1
-  exclusively.
-
-  This library is distributed in the hope that it will be useful,
-  but WITHOUT ANY WARRANTY; without even the implied warranty of
-  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-  Lesser General Public License for more details.
-
-  You should have received a copy of the GNU Lesser General Public
-  License along with this library; if not, write to the Free Software
-  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-*/
+ * include/common/compat.h
+ * Operating system compatibility interface.
+ *
+ * Copyright (C) 2000-2010 Willy Tarreau - w@1wt.eu
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation, version 2.1
+ * exclusively.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
+ */
 
 #ifndef _COMMON_COMPAT_H
 #define _COMMON_COMPAT_H
 
 /* This is needed on Linux for Netfilter includes */
+#include <sys/param.h>
 #include <sys/types.h>
 #include <sys/socket.h>
+#include <arpa/inet.h>
 #include <common/config.h>
 #include <common/standard.h>
 
@@ -62,6 +64,11 @@
 #define MSG_MORE	0
 #endif
 
+/* Maximum path length, OS-dependant */
+#ifndef MAXPATHLEN
+#define MAXPATHLEN 128
+#endif
+
 #if defined(TPROXY) && defined(NETFILTER)
 #include <linux/types.h>
 #include <linux/netfilter_ipv6.h>
diff --git a/include/common/tools.h b/include/common/tools.h
index 1477835..526ea7f 100644
--- a/include/common/tools.h
+++ b/include/common/tools.h
@@ -22,6 +22,7 @@
 #ifndef _COMMON_TOOLS_H
 #define _COMMON_TOOLS_H
 
+#include <sys/param.h>
 #include <common/config.h>
 
 #ifndef MIN
diff --git a/src/proto_uxst.c b/src/proto_uxst.c
index 5117533..a1c83b0 100644
--- a/src/proto_uxst.c
+++ b/src/proto_uxst.c
@@ -19,7 +19,6 @@
 #include <syslog.h>
 #include <time.h>
 
-#include <sys/param.h>
 #include <sys/socket.h>
 #include <sys/stat.h>
 #include <sys/types.h>
@@ -43,10 +42,6 @@
 #include <proto/stream_sock.h>
 #include <proto/task.h>
 
-#ifndef MAXPATHLEN
-#define MAXPATHLEN 128
-#endif
-
 static int uxst_bind_listener(struct listener *listener, char *errmsg, int errlen);
 static int uxst_bind_listeners(struct protocol *proto, char *errmsg, int errlen);
 static int uxst_unbind_listeners(struct protocol *proto);