-WXDLLEXPORT bool wxGetUserName(char *buf, int maxSize);
-WXDLLEXPORT bool wxGetUserName(wxString& buf);
+WXDLLIMPEXP_BASE bool wxGetUserName(wxChar *buf, int maxSize);
+WXDLLIMPEXP_BASE wxString wxGetUserName();
+
+// Get current Home dir and copy to dest (returns pstr->c_str())
+WXDLLIMPEXP_BASE wxString wxGetHomeDir();
+WXDLLIMPEXP_BASE const wxChar* wxGetHomeDir(wxString *pstr);
+
+// Get the user's home dir (caller must copy --- volatile)
+// returns NULL is no HOME dir is known
+#if defined(__UNIX__) && wxUSE_UNICODE
+WXDLLIMPEXP_BASE const wxMB2WXbuf wxGetUserHome(const wxString& user = wxEmptyString);
+#else
+WXDLLIMPEXP_BASE wxChar* wxGetUserHome(const wxString& user = wxEmptyString);
+#endif
+
+// get number of total/free bytes on the disk where path belongs
+WXDLLIMPEXP_BASE bool wxGetDiskSpace(const wxString& path,
+ wxLongLong *pTotal = NULL,
+ wxLongLong *pFree = NULL);
+
+#if wxUSE_GUI // GUI only things from now on
+
+// ----------------------------------------------------------------------------
+// Menu accelerators related things
+// ----------------------------------------------------------------------------