mappings.h revision b5a32aac83c6637d0aad8d5e9e67e8e423b115fe
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync/** @file
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync *
5b281ba489ca18f0380d7efc7a5108b606cce449vboxsync * Shared folders:
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * Mappings header.
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync */
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync/*
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * Copyright (C) 2006-2007 innotek GmbH
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync *
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * available from http://www.virtualbox.org. This file is free software;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * you can redistribute it and/or modify it under the terms of the GNU
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * General Public License (GPL) as published by the Free Software
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync */
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync#ifndef __MAPPINGS__H
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync#define __MAPPINGS__H
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync#include "shfl.h"
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync#include <VBox/shflsvc.h>
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsynctypedef struct
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync{
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync PSHFLSTRING pFolderName;
1c94c0a63ba68be1a7b2c640e70d7a06464e4fcavboxsync PSHFLSTRING pMapName;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync uint32_t cMappings;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync bool fValid;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync bool fHostCaseSensitive;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync bool fGuestCaseSensitive;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync bool fWritable;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync} MAPPING, *PMAPPING;
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsyncextern MAPPING FolderMapping[SHFL_MAX_MAPPINGS];
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
2d059d153e5d436dd4c6b8a15bb8f17ad1b3fa26vboxsyncbool vbsfMappingQuery(uint32_t iMapping, PMAPPING *pMapping);
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsyncint vbsfMappingsAdd (PSHFLSTRING pFolderName, PSHFLSTRING pMapName, uint32_t fWritable);
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsyncint vbsfMappingsRemove (PSHFLSTRING pMapName);
5e91fc5e5ea9cccb7a40636f73253d489fbe340bvboxsync
1ba8a0ccd2665ea7cdb82f6b0f65c5145265c786vboxsyncint vbsfMappingsQuery (SHFLCLIENTDATA *pClient, SHFLMAPPING *pMappings, uint32_t *pcMappings);
1ba8a0ccd2665ea7cdb82f6b0f65c5145265c786vboxsyncint vbsfMappingsQueryName (SHFLCLIENTDATA *pClient, SHFLROOT root, SHFLSTRING *pString);
1ba8a0ccd2665ea7cdb82f6b0f65c5145265c786vboxsyncint vbsfMappingsQueryWritable (SHFLCLIENTDATA *pClient, SHFLROOT root, bool *fWritable);
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsync
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsyncint vbsfMapFolder (SHFLCLIENTDATA *pClient, PSHFLSTRING pszMapName, RTUCS2 delimiter, bool fCaseSensitive, SHFLROOT *pRoot);
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsyncint vbsfUnmapFolder (SHFLCLIENTDATA *pClient, SHFLROOT root);
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsync
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsyncconst RTUCS2 *vbsfMappingsQueryHostRoot (SHFLROOT root, uint32_t *pcbRoot);
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsyncbool vbsfIsGuestMappingCaseSensitive (SHFLROOT root);
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsyncbool vbsfIsHostMappingCaseSensitive (SHFLROOT root);
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsync
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsync#endif /* __MAPPINGS__H */
bd4d5b99a9ad50d23a13cf695bbf48f8d9364618vboxsync