dir.h revision 1a67a600361fc41256d608f08735d2bb6d905f20
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * IPRT - Directory Manipulation.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * available from http://www.virtualbox.org. This file is free software;
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * you can redistribute it and/or modify it under the terms of the GNU
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * General Public License (GPL) as published by the Free Software
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * The contents of this file may alternatively be used under the terms
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * of the Common Development and Distribution License Version 1.0
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * VirtualBox OSE distribution, in which case the provisions of the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * CDDL are applicable instead of those of the GPL.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * You may elect to license modified versions of this file under the
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * terms and conditions of either the GPL or the CDDL or both.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * additional information or have any questions.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync/** @defgroup grp_rt_dir RTDir - Directory Manipulation
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @ingroup grp_rt
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Check for the existence of a directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @returns true if exist and is a directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @returns flase if exists or isn't a directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @param pszPath Path to the directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Creates a directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @returns iprt status code.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @param pszPath Path to the directory to create.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @param fMode The mode of the new directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncRTDECL(int) RTDirCreate(const char *pszPath, RTFMODE fMode);
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Creates a directory including all parent directories in the path
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * if they don't exist.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @returns iprt status code.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @param pszPath Path to the directory to create.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @param fMode The mode of the new directories.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsyncRTDECL(int) RTDirCreateFullPath(const char *pszPath, RTFMODE fMode);
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Removes a directory.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @returns iprt status code.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * @param pszPath Path to the directory to remove.
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync/** Pointer to an open directory (sort of handle). */
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync * Filter option for RTDirOpenFiltered().
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync /** The usual invalid 0 entry. */
b0dfb334954c0552bb583967a3077ec88fd00471vboxsync /** No filter should be applied (and none was specified). */
} RTDIRFILTER;
typedef enum RTDIRENTRYTYPE
typedef struct RTDIRENTRY
} RTDIRENTRY;
#pragma pack()
typedef struct RTDIRENTRYEX
} RTDIRENTRYEX;
#pragma pack()
RTDECL(int) RTDirReadEx(PRTDIR pDir, PRTDIRENTRYEX pDirEntry, unsigned *pcbDirEntry, RTFSOBJATTRADD enmAdditionalAttribs);