09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/** @file
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync *
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * VirtualBox Windows Guest Shared Folders
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync *
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * File System Driver header file shared with the network provider dll
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/*
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * Copyright (C) 2012 Oracle Corporation
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync *
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * This file is part of VirtualBox Open Source Edition (OSE), as
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * available from http://www.virtualbox.org. This file is free software;
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * you can redistribute it and/or modify it under the terms of the GNU
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * General Public License (GPL) as published by the Free Software
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * Foundation, in version 2 as it comes in the "COPYING" file of the
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#ifndef VBSFSHARED_H
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define VBSFSHARED_H
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/* The network provider name for shared folders. */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define MRX_VBOX_PROVIDER_NAME_U L"VirtualBox Shared Folders"
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/* The filesystem name for shared folders. */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define MRX_VBOX_FILESYS_NAME_U L"VBoxSharedFolderFS"
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/* The redirector device name. */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define DD_MRX_VBOX_FS_DEVICE_NAME_U L"\\Device\\VBoxMiniRdr"
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define VBOX_VOLNAME_PREFIX L"VBOX_"
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define VBOX_VOLNAME_PREFIX_SIZE (sizeof(VBOX_VOLNAME_PREFIX) - sizeof(VBOX_VOLNAME_PREFIX[0]))
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/* Name of symbolic link, which is used by the user mode dll to open the driver. */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define DD_MRX_VBOX_USERMODE_SHADOW_DEV_NAME_U L"\\??\\VBoxMiniRdrDN"
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define DD_MRX_VBOX_USERMODE_DEV_NAME_U L"\\\\.\\VBoxMiniRdrDN"
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_BASE FILE_DEVICE_NETWORK_FILE_SYSTEM
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define _MRX_VBOX_CONTROL_CODE(request, method, access) \
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync CTL_CODE(IOCTL_MRX_VBOX_BASE, request, method, access)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync/* VBoxSF IOCTL codes. */
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_ADDCONN _MRX_VBOX_CONTROL_CODE(100, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_GETCONN _MRX_VBOX_CONTROL_CODE(101, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_DELCONN _MRX_VBOX_CONTROL_CODE(102, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_GETLIST _MRX_VBOX_CONTROL_CODE(103, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_GETGLOBALLIST _MRX_VBOX_CONTROL_CODE(104, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_GETGLOBALCONN _MRX_VBOX_CONTROL_CODE(105, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_START _MRX_VBOX_CONTROL_CODE(106, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#define IOCTL_MRX_VBOX_STOP _MRX_VBOX_CONTROL_CODE(107, METHOD_BUFFERED, FILE_ANY_ACCESS)
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync
09c9a430ad2caac61753f90b04a4989c6d54d13avboxsync#endif /* VBSFSHARED_H */