diff -ruP zabbix-2.0.6.org/src/libs/zbxcomms/comms.c zabbix-2.0.6/src/libs/zbxcomms/comms.c
--- zabbix-2.0.6.org/src/libs/zbxcomms/comms.c	2013-04-22 14:31:48.000000000 +0200
+++ zabbix-2.0.6/src/libs/zbxcomms/comms.c	2013-05-06 15:37:50.000000000 +0200
@@ -21,6 +21,12 @@
 #include "comms.h"
 #include "log.h"
 
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+
+extern int h_errno;
+
 #if defined(HAVE_IPV6)
 #	define ZBX_SOCKADDR struct sockaddr_storage
 #else
diff -ruP zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/Makefile.am zabbix-2.0.6/src/libs/zbxsysinfo/hpux/Makefile.am
--- zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/Makefile.am	2013-04-22 14:31:48.000000000 +0200
+++ zabbix-2.0.6/src/libs/zbxsysinfo/hpux/Makefile.am	2013-05-06 15:37:50.000000000 +0200
@@ -10,4 +10,6 @@
 	diskspace.c \
 	inodes.c \
 	memory.c \
-	net.c
+	net.c \
+	uptime.c \
+	boottime.c
diff -ruP zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/boottime.c zabbix-2.0.6/src/libs/zbxsysinfo/hpux/boottime.c
--- zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/boottime.c	1970-01-01 01:00:00.000000000 +0100
+++ zabbix-2.0.6/src/libs/zbxsysinfo/hpux/boottime.c	2013-05-06 15:37:50.000000000 +0200
@@ -0,0 +1,63 @@
+/*
+** Zabbix
+** Copyright (C) 2000-2011 Zabbix SIA
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program 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 General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+**/
+
+#include "common.h"
+#include "sysinfo.h"
+#include <utmp.h>
+#include <time.h>
+
+time_t
+system_boottime_hpux()
+{		/* the boot time will not change during the run of any program */
+	static time_t	boottime = (time_t) 0;
+	static char	tried_boottime = 0;
+
+	struct utmp	*e;
+
+	if(! tried_boottime){		/* if the boot time is known (>0), no need to */
+		setutent();		/* read these possibly many entries */
+
+			/* search all entries for the latest boot time */
+		while( (e = getutent()) )
+			if(e->ut_type == BOOT_TIME)
+				if(! boottime || boottime < e->ut_time)
+					boottime = e->ut_time;
+
+		endutent();
+
+		tried_boottime = 1;
+	}
+
+	return boottime;
+}
+
+
+int	SYSTEM_BOOTTIME(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
+{
+	time_t	boottime;
+
+	boottime = system_boottime_hpux();
+
+	if (! boottime)
+		return SYSINFO_RET_FAIL;
+
+	SET_UI64_RESULT(result, boottime);
+
+	return SYSINFO_RET_OK;
+}
diff -ruP zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/hpux.c zabbix-2.0.6/src/libs/zbxsysinfo/hpux/hpux.c
--- zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/hpux.c	2013-04-22 14:31:48.000000000 +0200
+++ zabbix-2.0.6/src/libs/zbxsysinfo/hpux/hpux.c	2013-05-06 15:37:50.000000000 +0200
@@ -34,6 +34,8 @@
 	{"system.cpu.util",	CF_USEUPARAM,	SYSTEM_CPU_UTIL,	NULL,	"all,user,avg1"},
 	{"system.cpu.load",	CF_USEUPARAM,	SYSTEM_CPU_LOAD,	NULL,	"all,avg1"},
 	{"system.cpu.num",	CF_USEUPARAM,	SYSTEM_CPU_NUM,		NULL,	"online"},
+	{"system.uptime",	0,		SYSTEM_UPTIME,		NULL,	NULL},
+	{"system.boottime",	0,		SYSTEM_BOOTTIME,	NULL,	NULL},
 
 	{0}
 };
diff -ruP zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/net.c zabbix-2.0.6/src/libs/zbxsysinfo/hpux/net.c
--- zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/net.c	2013-04-22 14:31:48.000000000 +0200
+++ zabbix-2.0.6/src/libs/zbxsysinfo/hpux/net.c	2013-05-06 15:38:33.000000000 +0200
@@ -51,8 +51,10 @@
 	u_char			*buffer = NULL;
 	struct ifconf		ifc;
 	struct ifreq		*ifr;
+#if defined (SIOCGLIFCONF)
 	struct if_laddrconf	lifc;
 	struct if_laddrreq	*lifr;
+#endif
 
 	if (-1 == (s = socket(family, SOCK_DGRAM, 0)))
 		return FAIL;
@@ -80,16 +82,20 @@
 	{
 		from = &ifr->ifr_addr;
 
-		if (AF_INET6 != from->sa_family && AF_INET != from->sa_family)
-			continue;
+		if (
+#ifdef	AF_INET6
+		    AF_INET6 == from->sa_family ||
+#endif
+		                                   AF_INET == from->sa_family)
 
-		add_if_name(if_list, if_list_alloc, if_list_offset, ifr->ifr_name);
+			add_if_name(if_list, if_list_alloc, if_list_offset, ifr->ifr_name);
 
 #ifdef _SOCKADDR_LEN
 		ifr = (struct ifreq *)((char *)ifr + sizeof(*ifr) + (from->sa_len > sizeof(*from) ? from->sa_len - sizeof(*from) : 0));
 #else
 		ifr++;
 #endif
+
 	}
 next:
 	zbx_free(buffer);
diff -ruP zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/uptime.c zabbix-2.0.6/src/libs/zbxsysinfo/hpux/uptime.c
--- zabbix-2.0.6.org/src/libs/zbxsysinfo/hpux/uptime.c	1970-01-01 01:00:00.000000000 +0100
+++ zabbix-2.0.6/src/libs/zbxsysinfo/hpux/uptime.c	2013-05-06 15:37:50.000000000 +0200
@@ -0,0 +1,38 @@
+/*
+** Zabbix
+** Copyright (C) 2000-2011 Zabbix SIA
+**
+** This program is free software; you can redistribute it and/or modify
+** it under the terms of the GNU General Public License as published by
+** the Free Software Foundation; either version 2 of the License, or
+** (at your option) any later version.
+**
+** This program 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 General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with this program; if not, write to the Free Software
+** Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+**/
+
+#include "common.h"
+#include "sysinfo.h"
+#include <time.h>
+
+int	SYSTEM_UPTIME(const char *cmd, const char *param, unsigned flags, AGENT_RESULT *result)
+{
+	time_t	boottime, uptime;
+
+	boottime = system_boottime_hpux();
+
+	if (! boottime)
+		return SYSINFO_RET_FAIL;
+
+	uptime = time(NULL) - boottime;
+
+	SET_UI64_RESULT(result, uptime);
+
+	return SYSINFO_RET_OK;
+}
diff -ruP zabbix-2.0.6.org/src/zabbix_agent/cpustat.c zabbix-2.0.6/src/zabbix_agent/cpustat.c
--- zabbix-2.0.6.org/src/zabbix_agent/cpustat.c	2013-04-22 14:31:48.000000000 +0200
+++ zabbix-2.0.6/src/zabbix_agent/cpustat.c	2013-05-06 15:37:50.000000000 +0200
@@ -303,10 +303,13 @@
 				continue;
 			}
 
+#ifndef	__hpux
 			counter[ZBX_CPU_STATE_USER] = (zbx_uint64_t)psp.psp_cpu_time[CP_USER];
 			counter[ZBX_CPU_STATE_NICE] = (zbx_uint64_t)psp.psp_cpu_time[CP_NICE];
 			counter[ZBX_CPU_STATE_SYSTEM] = (zbx_uint64_t)psp.psp_cpu_time[CP_SYS];
 			counter[ZBX_CPU_STATE_IDLE] = (zbx_uint64_t)psp.psp_cpu_time[CP_IDLE];
+#endif
+
 		}
 
 		update_cpu_counters(&pcpus->cpu[cpu_num], counter);
