fs.h revision 077137f1c602268ce62c760701f619a2ae929923
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/* $Id$ */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/** @file
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * IPRT - Internal RTFs header.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync/*
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Copyright (C) 2006-2007 Sun Microsystems, Inc.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * available from http://www.virtualbox.org. This file is free software;
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * you can redistribute it and/or modify it under the terms of the GNU
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * General Public License (GPL) as published by the Free Software
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * The contents of this file may alternatively be used under the terms
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * of the Common Development and Distribution License Version 1.0
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * (CDDL) only, as it comes in the "COPYING.CDDL" file of the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * VirtualBox OSE distribution, in which case the provisions of the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * CDDL are applicable instead of those of the GPL.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * You may elect to license modified versions of this file under the
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * terms and conditions of either the GPL or the CDDL or both.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync *
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * Clara, CA 95054 USA or visit http://www.sun.com if you need
f78b12e570284aa8291f4ca1add24937fd107403vboxsync * additional information or have any questions.
f78b12e570284aa8291f4ca1add24937fd107403vboxsync */
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifndef ___internal_fs_h
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#define ___internal_fs_h
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#include <iprt/types.h>
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifndef RT_OS_WINDOWS
f78b12e570284aa8291f4ca1add24937fd107403vboxsync# include <sys/stat.h>
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncRT_C_DECLS_BEGIN
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncRTFMODE rtFsModeFromDos(RTFMODE fMode, const char *pszName, size_t cbName);
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncRTFMODE rtFsModeFromUnix(RTFMODE fMode, const char *pszName, size_t cbName);
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncRTFMODE rtFsModeNormalize(RTFMODE fMode, const char *pszName, size_t cbName);
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncbool rtFsModeIsValid(RTFMODE fMode);
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncbool rtFsModeIsValidPermissions(RTFMODE fMode);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifndef RT_OS_WINDOWS
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncvoid rtFsConvertStatToObjInfo(PRTFSOBJINFO pObjInfo, const struct stat *pStat, const char *pszName, unsigned cbName);
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#ifdef RT_OS_LINUX
f78b12e570284aa8291f4ca1add24937fd107403vboxsync# ifdef __USE_MISC
f78b12e570284aa8291f4ca1add24937fd107403vboxsync# define HAVE_STAT_TIMESPEC_BRIEF
f78b12e570284aa8291f4ca1add24937fd107403vboxsync# else
f78b12e570284aa8291f4ca1add24937fd107403vboxsync# define HAVE_STAT_NSEC
f78b12e570284aa8291f4ca1add24937fd107403vboxsync# endif
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsyncRT_C_DECLS_END
f78b12e570284aa8291f4ca1add24937fd107403vboxsync
f78b12e570284aa8291f4ca1add24937fd107403vboxsync#endif
f78b12e570284aa8291f4ca1add24937fd107403vboxsync