VBoxSFFile.cpp revision 0f0fa99ce6af43d7a38d97fdecc89eae0bf89fdf
089c21a647af46044cad04a78cfdcfae814d2105vboxsync/** $Id$ */
089c21a647af46044cad04a78cfdcfae814d2105vboxsync/** @file
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * VBoxSF - OS/2 Shared Folders, the file level IFS EPs.
089c21a647af46044cad04a78cfdcfae814d2105vboxsync */
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync/*
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * Copyright (c) 2007 knut st. osmundsen <bird-src-spam@anduin.net>
089c21a647af46044cad04a78cfdcfae814d2105vboxsync *
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * Permission is hereby granted, free of charge, to any person
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * obtaining a copy of this software and associated documentation
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * files (the "Software"), to deal in the Software without
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * restriction, including without limitation the rights to use,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * copy, modify, merge, publish, distribute, sublicense, and/or sell
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * copies of the Software, and to permit persons to whom the
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * Software is furnished to do so, subject to the following
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * conditions:
089c21a647af46044cad04a78cfdcfae814d2105vboxsync *
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * The above copyright notice and this permission notice shall be
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * included in all copies or substantial portions of the Software.
089c21a647af46044cad04a78cfdcfae814d2105vboxsync *
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
089c21a647af46044cad04a78cfdcfae814d2105vboxsync * OTHER DEALINGS IN THE SOFTWARE.
089c21a647af46044cad04a78cfdcfae814d2105vboxsync */
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync/*******************************************************************************
089c21a647af46044cad04a78cfdcfae814d2105vboxsync* Header Files *
089c21a647af46044cad04a78cfdcfae814d2105vboxsync*******************************************************************************/
089c21a647af46044cad04a78cfdcfae814d2105vboxsync#define LOG_GROUP LOG_GROUP_DEFAULT
089c21a647af46044cad04a78cfdcfae814d2105vboxsync#include "VBoxSFInternal.h"
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync#include <VBox/log.h>
089c21a647af46044cad04a78cfdcfae814d2105vboxsync#include <iprt/assert.h>
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_OPENCREATE(PCDFSI pcdfsi, PVBOXSFCD pcdfsd, PCSZ pszName, USHORT iCurDirEnd,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PSFFSI psffsi, PVBOXSFFSD psffsd, ULONG ulOpenMode, USHORT usOpenFlag,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PUSHORT pusAction, USHORT usAttr, PBYTE pcEABuf, PUSHORT pfgenflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_CLOSE(ULONG type, ULONG IOflag, PSFFSI psffsi, PVBOXSFFSD psffsd)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_COMMIT(ULONG type, ULONG IOflag, PSFFSI psffsi, PVBOXSFFSD psffsd)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncextern "C" APIRET APIENTRY
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_CHGFILEPTRL(PSFFSI psffsi, PVBOXSFFSD psffsd, LONGLONG off, ULONG ulMethod, ULONG IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync/** Forwards the call to FS32_CHGFILEPTRL. */
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncextern "C" APIRET APIENTRY
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_CHGFILEPTR(PSFFSI psffsi, PVBOXSFFSD psffsd, LONG off, ULONG ulMethod, ULONG IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return FS32_CHGFILEPTRL(psffsi, psffsd, off, ulMethod, IOflag);
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_FILEINFO(ULONG flag, PSFFSI psffsi, PVBOXSFFSD psffsd, ULONG level,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PBYTE pData, ULONG cbData, ULONG IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_NEWSIZEL(PSFFSI psffsi, PVBOXSFFSD psffsd, LONGLONG cbFile, ULONG IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncextern "C" APIRET APIENTRY
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_READ(PSFFSI psffsi, PVBOXSFFSD psffsd, PVOID pvData, PULONG pcb, ULONG IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncextern "C" APIRET APIENTRY
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_WRITE(PSFFSI psffsi, PVBOXSFFSD psffsd, PVOID pvData, PULONG pcb, ULONG IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncextern "C" APIRET APIENTRY
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_READFILEATCACHE(PSFFSI psffsi, PVBOXSFFSD psffsd, ULONG IOflag, LONGLONG off, ULONG pcb, KernCacheList_t **ppCacheList)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncextern "C" APIRET APIENTRY
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_RETURNFILECACHE(KernCacheList_t *pCacheList)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync/* oddments */
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_CANCELLOCKREQUESTL(PSFFSI psffsi, PVBOXSFFSD psffsd, struct filelockl *pLockRange)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_CANCELLOCKREQUEST(PSFFSI psffsi, PVBOXSFFSD psffsd, struct filelock *pLockRange)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_FILELOCKSL(PSFFSI psffsi, PVBOXSFFSD psffsd, struct filelockl *pUnLockRange,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync struct filelockl *pLockRange, ULONG timeout, ULONG flags)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_FILELOCKS(PSFFSI psffsi, PVBOXSFFSD psffsd, struct filelock *pUnLockRange,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync struct filelock *pLockRange, ULONG timeout, ULONG flags)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_IOCTL(PSFFSI psffsi, PVBOXSFFSD psffsd, USHORT cat, USHORT func,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PVOID pParm, USHORT lenParm, PUSHORT plenParmIO,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PVOID pData, USHORT lenData, PUSHORT plenDataIO)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_FILEIO(PSFFSI psffsi, PVBOXSFFSD psffsd, PBYTE pCmdList, USHORT cbCmdList,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PUSHORT poError, USHORT IOflag)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_NMPIPE(PSFFSI psffsi, PVBOXSFFSD psffsd, USHORT OpType, union npoper *pOpRec,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync PBYTE pData, PCSZ pszName)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_OPENPAGEFILE(PULONG pFlag, PULONG pcMaxReq, PCSZ pszName, PSFFSI psffsi, PVBOXSFFSD psffsd,
089c21a647af46044cad04a78cfdcfae814d2105vboxsync USHORT ulOpenMode, USHORT usOpenFlag, USHORT usAttr, ULONG Reserved)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_SETSWAP(PSFFSI psffsi, PVBOXSFFSD psffsd)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_ALLOCATEPAGESPACE(PSFFSI psffsi, PVBOXSFFSD psffsd, ULONG cb, USHORT cbWantContig)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncDECLASM(int)
089c21a647af46044cad04a78cfdcfae814d2105vboxsyncFS32_DOPAGEIO(PSFFSI psffsi, PVBOXSFFSD psffsd, struct PageCmdHeader *pList)
089c21a647af46044cad04a78cfdcfae814d2105vboxsync{
089c21a647af46044cad04a78cfdcfae814d2105vboxsync return ERROR_NOT_SUPPORTED;
089c21a647af46044cad04a78cfdcfae814d2105vboxsync}
089c21a647af46044cad04a78cfdcfae814d2105vboxsync
089c21a647af46044cad04a78cfdcfae814d2105vboxsync