vbsf.h revision 09c9a430ad2caac61753f90b04a4989c6d54d13a
/** @file
*
* VirtualBox Windows Guest Shared Folders
*
* File System Driver header file
*/
/*
* Copyright (C) 2012 Oracle Corporation
*
* This file is part of VirtualBox Open Source Edition (OSE), as
* available from http://www.virtualbox.org. This file is free software;
* General Public License (GPL) as published by the Free Software
* Foundation, in version 2 as it comes in the "COPYING" file of the
* VirtualBox OSE distribution. VirtualBox OSE is distributed in the
* hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
*/
#ifndef VBSF_H
#define VBSF_H
/*
* This must be defined before including RX headers.
*/
#define MINIRDR__NAME VBoxMRx
/*
* System and RX headers.
*/
#include <ntifs.h>
#include <windef.h>
#include "rx.h"
/*
* VBox shared folders.
*/
#include "vbsfhlp.h"
#include "vbsfshared.h"
/*
* Maximum drive letters (A - Z).
*/
#define _MRX_MAX_DRIVE_LETTERS 26
/*
* The shared folders device extension.
*/
typedef struct _MRX_VBOX_DEVICE_EXTENSION
{
/* The shared folders device object pointer. */
/*
* Keep a list of local connections used.
* The size (_MRX_MAX_DRIVE_LETTERS = 26) of the array presents the available drive letters C: - Z: of Windows.
*/
/* The HGCM client information. */
/* Saved pointer to the original IRP_MJ_DEVICE_CONTROL handler. */
/*
* The shared folders NET_ROOT extension.
*/
typedef struct _MRX_VBOX_NETROOT_EXTENSION
{
/* The pointert to HGCM client information in device extension. */
/* The shared folder map handle of this netroot. */
/*
* The shared folders file extension.
*/
typedef struct _MRX_VBOX_FOBX_
{
#define VBoxMRxGetDeviceExtension(RxContext) \
#define VBoxMRxGetNetRootExtension(pNetRoot) \
#define VBoxMRxGetSrvOpenExtension(pSrvOpen) \
#define VBoxMRxGetFileObjectExtension(pFobx) \
/*
* Prototypes for the dispatch table routines.
*/
/*
* Support functions.
*/
#endif /* VBSF_H */