|
ReactOS 0.4.17-dev-1196-gb6224c3
|
#include <stdio.h>#include <stdarg.h>#include <string.h>#include <ctype.h>#include "windef.h"#include "winbase.h"#include "winternl.h"#include "winnls.h"#include "winreg.h"#include "wingdi.h"#include "winuser.h"#include "winioctl.h"#include "ddk/mountmgr.h"#include "shlobj.h"#include "shtypes.h"#include "shresdef.h"#include "shell32_main.h"#include "pidl.h"#include "shlwapi.h"#include "sddl.h"#include "knownfolders.h"#include "initguid.h"#include "shobjidl.h"#include "wine/debug.h"
Go to the source code of this file.
Classes | |
| struct | IApplicationDestinationsImpl |
| struct | IApplicationDocumentListsImpl |
| struct | CSIDL_DATA |
| struct | knownfolder |
| struct | foldermanager |
Macros | |
| #define | COBJMACROS |
| #define | WINE_MOUNTMGR_EXTENSIONS |
| #define | CSIDL_CONTACTS 0x0043 |
| #define | CSIDL_DOWNLOADS 0x0047 |
| #define | CSIDL_LINKS 0x004d |
| #define | CSIDL_APPDATA_LOCALLOW 0x004e |
| #define | CSIDL_SAVED_GAMES 0x0062 |
| #define | CSIDL_SEARCHES 0x0063 |
Typedefs | |
| typedef enum _CSIDL_Type | CSIDL_Type |
Variables | |
| static const BOOL | is_win64 = sizeof(void *) > sizeof(int) |
| static const IApplicationDestinationsVtbl | ApplicationDestinationsVtbl |
| static const IApplicationDocumentListsVtbl | ApplicationDocumentListsVtbl |
| static const CSIDL_DATA | CSIDL_Data [] |
| static char * | xdg_config |
| static DWORD | xdg_config_len |
| static const struct IKnownFolderVtbl | knownfolder_vtbl |
| static const struct IKnownFolderManagerVtbl | foldermanager_vtbl |
| #define COBJMACROS |
Definition at line 59 of file shellpath.c.
| #define CSIDL_APPDATA_LOCALLOW 0x004e |
Definition at line 1572 of file shellpath.c.
| #define CSIDL_CONTACTS 0x0043 |
Definition at line 1569 of file shellpath.c.
| #define CSIDL_DOWNLOADS 0x0047 |
Definition at line 1570 of file shellpath.c.
| #define CSIDL_LINKS 0x004d |
Definition at line 1571 of file shellpath.c.
| #define CSIDL_SAVED_GAMES 0x0062 |
Definition at line 1573 of file shellpath.c.
| #define CSIDL_SEARCHES 0x0063 |
Definition at line 1574 of file shellpath.c.
| #define WINE_MOUNTMGR_EXTENSIONS |
Definition at line 74 of file shellpath.c.
| typedef enum _CSIDL_Type CSIDL_Type |
Definition at line 1557 of file shellpath.c.
Definition at line 3238 of file shellpath.c.
Referenced by _SHGetUserProfilePath().
Definition at line 3766 of file shellpath.c.
Referenced by SHGetFolderPathAndSubDirW().
Definition at line 3469 of file shellpath.c.
Referenced by _SHGetUserShellFolderPath(), and SHGetFolderPathAndSubDirW().
Definition at line 3366 of file shellpath.c.
Referenced by _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
Definition at line 3169 of file shellpath.c.
Referenced by SHGetFolderPathAndSubDirW().
Definition at line 3085 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), _SHGetCurrentVersionPath(), _SHGetDefaultValue(), and _SHGetUserProfilePath().
|
static |
Definition at line 3420 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
|
static |
Definition at line 3279 of file shellpath.c.
Referenced by _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
|
static |
Definition at line 2976 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), and _SHGetUserProfilePath().
Definition at line 3405 of file shellpath.c.
Referenced by _SHExpandEnvironmentStrings().
Definition at line 4232 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
|
static |
Definition at line 4078 of file shellpath.c.
Referenced by _SHRegisterCommonShellFolders(), and _SHRegisterUserShellFolders().
Definition at line 4167 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
Definition at line 3059 of file shellpath.c.
Referenced by _SHGetDefaultValue(), _SHRegisterFolders(), and SHGetFolderPathAndSubDirW().
|
static |
Definition at line 1612 of file shellpath.c.
Definition at line 1672 of file shellpath.c.
|
static |
Definition at line 1587 of file shellpath.c.
|
static |
Definition at line 1622 of file shellpath.c.
|
static |
Definition at line 1653 of file shellpath.c.
|
static |
Definition at line 1644 of file shellpath.c.
|
static |
Definition at line 1635 of file shellpath.c.
|
static |
Definition at line 1731 of file shellpath.c.
Definition at line 1784 of file shellpath.c.
|
static |
Definition at line 1764 of file shellpath.c.
|
static |
Definition at line 1706 of file shellpath.c.
|
static |
Definition at line 1741 of file shellpath.c.
|
static |
Definition at line 1754 of file shellpath.c.
Definition at line 4265 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
|
static |
Definition at line 3728 of file shellpath.c.
Referenced by _SHCreateSymbolicLink().
|
static |
Definition at line 2913 of file shellpath.c.
Referenced by _SHGetDefaultValue(), foldermanager_FolderIdToCsidl(), and SHGetKnownFolderPath().
|
static |
Definition at line 5291 of file shellpath.c.
Definition at line 5612 of file shellpath.c.
Referenced by KnownFolderManager_Constructor().
|
static |
Definition at line 5573 of file shellpath.c.
|
static |
Definition at line 5563 of file shellpath.c.
|
static |
Definition at line 5341 of file shellpath.c.
|
static |
Definition at line 5354 of file shellpath.c.
|
static |
Definition at line 5411 of file shellpath.c.
|
static |
Definition at line 5439 of file shellpath.c.
|
static |
Definition at line 5369 of file shellpath.c.
|
static |
Definition at line 5312 of file shellpath.c.
|
static |
Definition at line 5582 of file shellpath.c.
|
static |
Definition at line 5537 of file shellpath.c.
|
static |
Definition at line 5298 of file shellpath.c.
|
static |
Definition at line 5546 of file shellpath.c.
|
static |
Definition at line 4734 of file shellpath.c.
Referenced by get_known_folder_path(), get_known_folder_redirection_place(), knownfolder_GetCategory(), and knownfolder_GetFolderDefinition().
|
static |
Definition at line 5012 of file shellpath.c.
Referenced by get_known_folder_path(), and get_known_folder_path_by_id().
|
static |
Definition at line 5103 of file shellpath.c.
Referenced by knownfolder_GetPath(), and redirect_known_folder().
|
static |
Definition at line 4749 of file shellpath.c.
Referenced by redirect_known_folder().
|
static |
Definition at line 4681 of file shellpath.c.
Referenced by foldermanager_GetFolderByName(), foldermanager_UnregisterFolder(), get_known_folder_path(), get_known_folder_redirection_place(), is_knownfolder(), knownfolder_set_id(), redirect_known_folder(), and register_folder().
|
static |
Definition at line 4711 of file shellpath.c.
Referenced by foldermanager_GetFolderByName(), and knownfolder_GetFolderDefinition().
Definition at line 3664 of file shellpath.c.
Referenced by create_link().
|
inlinestatic |
Definition at line 1582 of file shellpath.c.
Referenced by ApplicationDestinations_AddRef(), ApplicationDestinations_QueryInterface(), ApplicationDestinations_Release(), ApplicationDestinations_RemoveAllDestinations(), ApplicationDestinations_RemoveDestination(), and ApplicationDestinations_SetAppID().
|
inlinestatic |
Definition at line 1701 of file shellpath.c.
Referenced by ApplicationDocumentLists_AddRef(), ApplicationDocumentLists_GetList(), ApplicationDocumentLists_QueryInterface(), ApplicationDocumentLists_Release(), and ApplicationDocumentLists_SetAppID().
|
inlinestatic |
Definition at line 4883 of file shellpath.c.
Referenced by knownfolder_AddRef(), knownfolder_GetCategory(), knownfolder_GetFolderDefinition(), knownfolder_GetId(), knownfolder_GetIDList(), knownfolder_GetPath(), knownfolder_GetShellItem(), knownfolder_QueryInterface(), knownfolder_Release(), and knownfolder_SetPath().
|
inlinestatic |
Definition at line 5286 of file shellpath.c.
Referenced by foldermanager_AddRef(), foldermanager_GetFolder(), foldermanager_GetFolderByName(), foldermanager_GetFolderIds(), foldermanager_QueryInterface(), and foldermanager_Release().
Definition at line 3624 of file shellpath.c.
Referenced by get_xdg_path().
|
static |
Definition at line 5384 of file shellpath.c.
Referenced by foldermanager_GetFolder().
Definition at line 874 of file shellpath.c.
Referenced by IsLFNDriveAW().
Definition at line 899 of file shellpath.c.
Definition at line 886 of file shellpath.c.
Referenced by IsLFNDriveAW().
Definition at line 4888 of file shellpath.c.
|
static |
Definition at line 5260 of file shellpath.c.
Referenced by foldermanager_GetFolder(), and foldermanager_GetFolderByName().
|
static |
Definition at line 4982 of file shellpath.c.
|
static |
Definition at line 5201 of file shellpath.c.
|
static |
Definition at line 5183 of file shellpath.c.
|
static |
Definition at line 4970 of file shellpath.c.
|
static |
Definition at line 5173 of file shellpath.c.
|
static |
Definition at line 5142 of file shellpath.c.
|
static |
Definition at line 5191 of file shellpath.c.
|
static |
Definition at line 5001 of file shellpath.c.
|
static |
Definition at line 4909 of file shellpath.c.
Definition at line 4895 of file shellpath.c.
|
static |
Definition at line 4938 of file shellpath.c.
Referenced by foldermanager_GetFolder(), and foldermanager_GetFolderByName().
|
static |
Definition at line 5153 of file shellpath.c.
Definition at line 5649 of file shellpath.c.
Definition at line 3703 of file shellpath.c.
Referenced by create_link(), and get_link_file().
Definition at line 446 of file shellpath.c.
Definition at line 421 of file shellpath.c.
Definition at line 456 of file shellpath.c.
Definition at line 1155 of file shellpath.c.
Referenced by FinishDlgProc().
Definition at line 433 of file shellpath.c.
Definition at line 781 of file shellpath.c.
Definition at line 480 of file shellpath.c.
Definition at line 470 of file shellpath.c.
Definition at line 1143 of file shellpath.c.
Definition at line 527 of file shellpath.c.
Definition at line 537 of file shellpath.c.
Definition at line 495 of file shellpath.c.
Referenced by PathGetExtensionAW(), and PathIsExeA().
Definition at line 517 of file shellpath.c.
Definition at line 506 of file shellpath.c.
Referenced by PathGetExtensionAW(), and PathIsExeW().
Definition at line 605 of file shellpath.c.
Referenced by PathGetShortPathAW().
Definition at line 635 of file shellpath.c.
Definition at line 620 of file shellpath.c.
Referenced by PathGetShortPathAW().
Definition at line 771 of file shellpath.c.
Definition at line 721 of file shellpath.c.
Referenced by PathIsExeAW().
Definition at line 761 of file shellpath.c.
Definition at line 701 of file shellpath.c.
Definition at line 711 of file shellpath.c.
Definition at line 801 of file shellpath.c.
Definition at line 691 of file shellpath.c.
|
static |
Definition at line 912 of file shellpath.c.
Referenced by PathMakeUniqueNameAW().
| BOOL WINAPI PathMakeUniqueNameAW | ( | LPVOID | lpszBuffer, |
| DWORD | dwBuffSize, | ||
| LPCVOID | lpszShortName, | ||
| LPCVOID | lpszLongName, | ||
| LPCVOID | lpszPathName | ||
| ) |
Definition at line 1093 of file shellpath.c.
|
static |
Definition at line 1076 of file shellpath.c.
Referenced by PathMakeUniqueNameAW().
Definition at line 791 of file shellpath.c.
Definition at line 678 of file shellpath.c.
|
static |
Definition at line 1497 of file shellpath.c.
Referenced by PathProcessCommandAW().
| LONG WINAPI PathProcessCommandAW | ( | LPCVOID | lpszPath, |
| LPVOID | lpszBuff, | ||
| DWORD | dwBuffSize, | ||
| DWORD | dwFlags | ||
| ) |
Definition at line 1531 of file shellpath.c.
|
static |
Definition at line 1514 of file shellpath.c.
Referenced by PathProcessCommandAW().
Definition at line 1387 of file shellpath.c.
Referenced by PathQualifyAW().
Definition at line 1405 of file shellpath.c.
Definition at line 1396 of file shellpath.c.
Referenced by PathQualifyAW().
Definition at line 656 of file shellpath.c.
Definition at line 578 of file shellpath.c.
Definition at line 645 of file shellpath.c.
Definition at line 589 of file shellpath.c.
Definition at line 547 of file shellpath.c.
Definition at line 1412 of file shellpath.c.
Referenced by PathResolveAW().
Definition at line 1485 of file shellpath.c.
Definition at line 1447 of file shellpath.c.
Referenced by FindExecutableW(), PathProcessCommandW(), PathResolveAW(), CShellLink::SetTargetFromPIDLOrPath(), SH32_EvaluateValidExecApp(), and SHELL_FindExecutable().
Definition at line 1549 of file shellpath.c.
Definition at line 557 of file shellpath.c.
Definition at line 568 of file shellpath.c.
Definition at line 667 of file shellpath.c.
| BOOL WINAPI PathYetAnotherMakeUniqueName | ( | LPWSTR | buffer, |
| LPCWSTR | path, | ||
| LPCWSTR | shortname, | ||
| LPCWSTR | longname | ||
| ) |
Definition at line 1108 of file shellpath.c.
Referenced by BrFolder_NewFolder(), CNewMenu::CreateNewFolder(), CDefaultContextMenu::DoCreateNewFolder(), CDeskLinkDropHandler::Drop(), FinishDlgProc(), loadShell32(), and CNewMenu::NewItemByNonCommand().
|
static |
Definition at line 4785 of file shellpath.c.
Referenced by foldermanager_Redirect(), and knownfolder_SetPath().
|
static |
Definition at line 5489 of file shellpath.c.
Referenced by foldermanager_RegisterFolder(), and register_system_knownfolders().
Definition at line 5727 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
Definition at line 4318 of file shellpath.c.
Referenced by SHELL_RegisterShellFolders().
Definition at line 5757 of file shellpath.c.
Referenced by DllRegisterServer().
| HRESULT WINAPI SHGetFolderLocation | ( | HWND | hwndOwner, |
| int | nFolder, | ||
| HANDLE | hToken, | ||
| DWORD | dwReserved, | ||
| LPITEMIDLIST * | ppidl | ||
| ) |
Definition at line 4467 of file shellpath.c.
Referenced by CBandSiteMenu::_CreateBuiltInISFBand(), CShellMenuCallback::AddStartMenuItems(), BrFolder_OnInitDialog(), LoadRdpSettingsFromFile(), loadShell32(), SaveRdpSettingsToFile(), SHCreateFromDesktop(), SHELL32_ReparentAsAliasPidl(), CDesktopFolder::ShellUrlParseDisplayName(), SHEmptyRecycleBinW(), SHGetSpecialFolderLocation(), START_TEST(), TestCommandLine(), and TestCompareIDList().
| HRESULT WINAPI SHGetFolderPathA | ( | HWND | hwndOwner, |
| int | nFolder, | ||
| HANDLE | hToken, | ||
| DWORD | dwFlags, | ||
| LPSTR | pszPath | ||
| ) |
Definition at line 4048 of file shellpath.c.
Referenced by ini_absent(), ini_present(), loadShell32(), pf_exists(), ppc_present(), SHGetSpecialFolderPathA(), test_profile_items(), test_SHGetFolderPathA(), and test_SHGetFolderPathAndSubDirA().
| HRESULT WINAPI SHGetFolderPathAndSubDirA | ( | HWND | hwndOwner, |
| int | nFolder, | ||
| HANDLE | hToken, | ||
| DWORD | dwFlags, | ||
| LPCSTR | pszSubPath, | ||
| LPSTR | pszPath | ||
| ) |
Definition at line 3829 of file shellpath.c.
Referenced by test_SHGetFolderPathAndSubDirA().
| HRESULT WINAPI SHGetFolderPathAndSubDirW | ( | HWND | hwndOwner, |
| int | nFolder, | ||
| HANDLE | hToken, | ||
| DWORD | dwFlags, | ||
| LPCWSTR | pszSubPath, | ||
| LPWSTR | pszPath | ||
| ) |
Definition at line 3881 of file shellpath.c.
Referenced by CBandSiteMenu::_GetQLaunchPidl(), create_extra_folders(), CreateShortcuts(), SHGetFolderPathAndSubDirA(), SHGetFolderPathW(), SHGetKnownFolderPath(), and ThemePageDlgProc().
| HRESULT WINAPI SHGetFolderPathEx | ( | REFKNOWNFOLDERID | rfid, |
| DWORD | flags, | ||
| HANDLE | token, | ||
| LPWSTR | path, | ||
| DWORD | len | ||
| ) |
Definition at line 4648 of file shellpath.c.
Referenced by loadShell32().
| HRESULT WINAPI SHGetFolderPathW | ( | HWND | hwndOwner, |
| int | nFolder, | ||
| HANDLE | hToken, | ||
| DWORD | dwFlags, | ||
| LPWSTR | pszPath | ||
| ) |
Definition at line 3816 of file shellpath.c.
Referenced by _PathFindInFolder(), _PathMatchesSuspicious(), _SHRegisterFolders(), AutoStartupApplications(), BrFolder_NewFolder(), CJournaledTestList::CJournaledTestList(), create_ie_menu(), create_profile_directory(), CreateObjectsFromPersistFolder(), DllRegisterServer(), FILEDLG95_InitControls(), format_filelist_filename(), GetDefaultDownloadDirectory(), GetDefaultUserSendTo(), Initialize(), CFontExt::Initialize(), LoadThemes(), OnAddStartMenuItems(), OnAdvancedStartMenuItems(), OnBrowseButton(), RecentHasShortcut(), RegisterTypeLibraries(), set_installer_properties(), Settings_GetOutputPath(), RegistrySettings::SetWallpaper(), SHGetFolderLocation(), SHGetFolderPathA(), SHGetSpecialFolderPathW(), test_namespace(), TestDefaultFormat(), TestNameSpaceFolder(), and testRegStoreSavedCerts().
| HRESULT WINAPI SHGetKnownFolderIDList | ( | REFKNOWNFOLDERID | rfid, |
| DWORD | flags, | ||
| HANDLE | token, | ||
| PIDLIST_ABSOLUTE * | pidl | ||
| ) |
Definition at line 5661 of file shellpath.c.
Referenced by knownfolder_GetIDList(), loadShell32(), SHCreateItemInKnownFolder(), and SHGetKnownFolderItem().
| HRESULT WINAPI SHGetKnownFolderItem | ( | REFKNOWNFOLDERID | rfid, |
| KNOWN_FOLDER_FLAG | flags, | ||
| HANDLE | hToken, | ||
| REFIID | riid, | ||
| void ** | ppv | ||
| ) |
Definition at line 5707 of file shellpath.c.
Referenced by knownfolder_GetShellItem().
| HRESULT WINAPI SHGetKnownFolderPath | ( | REFKNOWNFOLDERID | rfid, |
| DWORD | flags, | ||
| HANDLE | token, | ||
| WCHAR ** | ret_path | ||
| ) |
Definition at line 4593 of file shellpath.c.
Referenced by get_known_folder_path_by_id(), init_function_pointers(), loadShell32(), open_cached_revocation_file(), SHGetFolderPathEx(), and SHGetKnownFolderIDList().
| HRESULT WINAPI SHGetSpecialFolderLocation | ( | HWND | hwndOwner, |
| INT | nFolder, | ||
| LPITEMIDLIST * | ppidl | ||
| ) |
Definition at line 4574 of file shellpath.c.
Referenced by _GetDocumentsPidl(), CShellMenuCallback::AddOrSetMenuItem(), CreateFolder2Instance(), DoGetPidl(), DoInitAliasPIDLs(), DoTestEntry(), DynamicSHGetSpecialFolderPathW(), ebrowser_browse_to_desktop(), FILEDLG95_InitControls(), FILEDLG95_LOOKIN_Init(), FILEDLG95_OnWMCommand(), filedlg_collect_places_pidls(), GetFavoritesFolder(), GetFavsLocation(), GetMergedFolder(), GetParsingName(), CSendToMenu::GetSpecialFolder(), CSearchBar::Invoke(), CFontBackgroundMenu::InvokeCommand(), IShellBrowserImpl_Construct(), loadShell32(), MRUList_PidlList_0(), CACListISF::NextLocation(), CShellMenuCallback::OnGetContextMenu(), PidlBrowse(), CAddressEditBox::PopulateComboBox(), CShellBrowser::RelayCommands(), RSHELL_CStartMenu_CreateInstance(), SHAddToRecentDocs(), SHCloneSpecialIDList(), Shell_ParsePrinterName(), SHELL_ShowItemIDListProperties(), SHExplorerParseCmdLine(), CRecycleBinCleaner::ShowProperties(), START_TEST(), test_ACListISF_FAVORITES(), test_ACListISF_MYCOMPUTER(), test_get_file_info_iconlist(), test_namespace(), test_parameters(), test_printers_folder(), test_SHCreateShellItem(), test_SHCreateShellItemArray(), test_ShellItemBindToHandler(), test_ShellItemGetAttributes(), test_SHGetIDListFromObject(), test_SHGetNameFromIDList(), test_SHGetPathFromIDList(), VariantToIdlist(), and WshCollection_Item().
Definition at line 4381 of file shellpath.c.
Referenced by get_cache_path(), init_strings(), loadShell32(), main(), SHGetSpecialFolderPathAW(), test_BindToObject(), test_find_file(), and test_GetDisplayName().
Definition at line 4433 of file shellpath.c.
Definition at line 4394 of file shellpath.c.
Referenced by AddUrlToFavorites(), cache_containers_init(), CreateSendToMyDocuments(), delhist_on_command(), DoBuildFilesAndDirs(), DoGetPidl(), CCopyMoveToMenu::DoRealFileOp(), CMyDocsDropHandler::Drop(), CDeskLinkDropHandler::Drop(), CDesktopFolder::FinalConstruct(), get_csidl_dir(), GetDesktopLocations(), GetFsPathFromIDList(), GetSpecialPath(), GetStorageDirectory(), CFSFolder::InitializeEx(), InitPropertyBag_IPropertyBag_Read(), IsPidlPrograms(), CDesktopFolderViewCB::MessageSFVCB(), CShellMenuCallback::OnExec(), profile_items_callback(), SHAddToRecentDocs(), SHGetFolderLocation(), SHGetSpecialFolderPathAW(), START_TEST(), test_FolderShortcut(), test_ITEMIDLIST_format(), test_ParseDisplayName(), test_SHCreateShellItemArray(), and test_SHGetPathFromIDList().
| WINE_DEFAULT_DEBUG_CHANNEL | ( | shell | ) |
|
static |
Definition at line 1662 of file shellpath.c.
Referenced by ApplicationDestinations_Constructor().
|
static |
Definition at line 1775 of file shellpath.c.
Referenced by ApplicationDocumentLists_Constructor().
|
static |
Definition at line 1826 of file shellpath.c.
Referenced by _SHGetAllUsersProfilePath(), _SHGetCurrentVersionPath(), _SHGetDefaultValue(), _SHGetUserProfilePath(), _SHRegisterFolders(), append_relative_path(), csidl_from_id(), foldermanager_create(), foldermanager_FolderIdFromCsidl(), register_system_knownfolders(), and SHGetFolderPathAndSubDirW().
Definition at line 5595 of file shellpath.c.
Referenced by foldermanager_create().
Definition at line 92 of file shellpath.c.
Referenced by _SHGetCurrentVersionPath(), and _SHGetDefaultValue().
Definition at line 5244 of file shellpath.c.
Referenced by knownfolder_create().
|
static |
Definition at line 3621 of file shellpath.c.
Referenced by get_xdg_path(), and init_xdg_dirs().
|
static |
Definition at line 3622 of file shellpath.c.
Referenced by get_xdg_path(), and init_xdg_dirs().