diff --git a/common/os/CMakeLists.txt b/common/os/CMakeLists.txt
index bbeec50..77ff363 100644
--- a/common/os/CMakeLists.txt
+++ b/common/os/CMakeLists.txt
@@ -2,4 +2,5 @@
 
 add_library(os STATIC
   print.c
-  net.c)
+  net.c
+  os.cxx)
diff --git a/common/os/Makefile.am b/common/os/Makefile.am
index ed98579..d87a0da 100644
--- a/common/os/Makefile.am
+++ b/common/os/Makefile.am
@@ -1,8 +1,8 @@
 noinst_LTLIBRARIES = libos.la
 
-HDRS = net.h print.h
+HDRS = net.h print.h os.h
 
-libos_la_SOURCES = $(HDRS) print.c net.c
+libos_la_SOURCES = $(HDRS) print.c net.c os.cxx
 
 libos_la_CPPFLAGS = -I$(top_srcdir)/common
 
diff --git a/common/os/os.cxx b/common/os/os.cxx
new file mode 100644
index 0000000..8d24875
--- /dev/null
+++ b/common/os/os.cxx
@@ -0,0 +1,64 @@
+/* Copyright (C) 2010 TightVNC Team.  All Rights Reserved.
+ *
+ * This 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 software 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 software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <os/os.h>
+
+#include <assert.h>
+#include <pwd.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <unistd.h>
+
+int gethomedir(char **dirp)
+{
+	char *homedir, *dir;
+	size_t len;
+	uid_t uid;
+	struct passwd *passwd;
+
+	assert(dirp != NULL && *dirp == NULL);
+
+#ifdef WIN32
+	/* Not supported, yet */
+	return -1;
+#endif
+
+	homedir = getenv("HOME");
+	if (homedir == NULL) {
+		uid = getuid();
+		passwd = getpwuid(uid);
+		if (passwd == NULL) {
+			/* Do we want emit error msg here? */
+			return -1;
+		}
+		homedir = passwd->pw_dir;
+	}
+
+	len = strlen(homedir) + 1;
+	dir = new char[len];
+	memcpy(dir, homedir, len);
+
+	*dirp = dir;
+	return 0;
+}
+
diff --git a/common/os/os.h b/common/os/os.h
new file mode 100644
index 0000000..fce21de
--- /dev/null
+++ b/common/os/os.h
@@ -0,0 +1,36 @@
+/* Copyright (C) 2010 TightVNC Team.  All Rights Reserved.
+ *
+ * This 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 software 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 software; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,
+ * USA.
+ */
+
+#ifndef OS_OS_H
+#define OS_OS_H
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+/*
+ * Get home directory. If HOME environment variable is set then it is returned.
+ * Otherwise home directory is obtained via getpwuid function.
+ *
+ * Returns:
+ * 0 - Success
+ * -1 - Failure
+ */
+int gethomedir(char **dirp);
+
+#endif /* OS_OS_H */
