VirtualBox

source: vbox/trunk/src/VBox/HostServices/SharedFolders/shfl.h@ 76199

Last change on this file since 76199 was 75993, checked in by vboxsync, 6 years ago

SharedFolders: Track mappings made by a client session so we can unmap when the session closes, and more importantly when the VM resets.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 2.1 KB
Line 
1/** @file
2 * Shared Folders: Main header - Common data and function prototypes definitions.
3 */
4
5/*
6 * Copyright (C) 2006-2017 Oracle Corporation
7 *
8 * This file is part of VirtualBox Open Source Edition (OSE), as
9 * available from http://www.virtualbox.org. This file is free software;
10 * you can redistribute it and/or modify it under the terms of the GNU
11 * General Public License (GPL) as published by the Free Software
12 * Foundation, in version 2 as it comes in the "COPYING" file of the
13 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
14 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
15 */
16
17#ifndef ___SHFL_H
18#define ___SHFL_H
19
20#include <VBox/err.h>
21#include <VBox/hgcmsvc.h>
22#include <VBox/shflsvc.h>
23
24#include <VBox/log.h>
25
26/**
27 * Shared Folders client flags.
28 * @{
29 */
30
31/** Client has queried mappings at least once and, therefore,
32 * the service can process its other requests too.
33 */
34#define SHFL_CF_MAPPINGS_QUERIED (0x00000001)
35
36/** Mappings have been changed since last query. */
37#define SHFL_CF_MAPPINGS_CHANGED (0x00000002)
38
39/** Client uses UTF8 encoding, if not set then unicode 16 bit (UCS2) is used. */
40#define SHFL_CF_UTF8 (0x00000004)
41
42/** Client both supports and wants to use symlinks. */
43#define SHFL_CF_SYMLINKS (0x00000008)
44
45/** The call to SHFL_FN_WAIT_FOR_MAPPINGS_CHANGES will return immediately
46 * because of a SHFL_FN_CANCEL_MAPPINGS_CHANGES_WAITS call. */
47#define SHFL_CF_CANCEL_NEXT_WAIT (0x00000010)
48
49/** @} */
50
51typedef struct _SHFLCLIENTDATA
52{
53 /** Client flags */
54 uint32_t fu32Flags;
55 /** Path delimiter. */
56 RTUTF16 PathDelimiter;
57 /** Currently unused. */
58 uint8_t bPadding;
59 /** Set if the client has mapping usage counts.
60 * This is for helping with saved state. */
61 uint8_t fHasMappingCounts;
62 /** Mapping counts for each root ID so we can unmap the folders when the
63 * session disconnects or the VM resets. */
64 uint16_t acMappings[SHFL_MAX_MAPPINGS];
65} SHFLCLIENTDATA;
66/** Pointer to a SHFLCLIENTDATA structure. */
67typedef SHFLCLIENTDATA *PSHFLCLIENTDATA;
68
69#endif /* !___SHFL_H */
70
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette