Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*
Copyright (c) 1992 Microsoft Corporation
Module Name:
nwtrash.h
Abstract:
This file defines the file network trash folder routine prototypes
Author:
Sue Adams (microsoft!suea)
Revision History: 13 Aug 1992 Initial Version
Notes: Tab stop: 4 --*/
#ifndef _NWTRASH_
#define _NWTRASH_
//
// NtOpenFile/NtCreateFile values for the network trash folder
//
#define AFP_NWT_ACCESS FILEIO_ACCESS_DELETE
#define AFP_NWT_SHAREMODE FILE_SHARE_READ | FILE_SHARE_WRITE
#define AFP_NWT_OPTIONS FILEIO_OPEN_DIR
#define AFP_NWT_ATTRIBS FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_HIDDEN
#define AFP_NWT_DISPOSITION FILEIO_CREATE_SOFT
typedef struct _WalkDirNode { BOOLEAN wdn_Enumerated; FILESYSHANDLE wdn_Handle; UNICODE_STRING wdn_RelativePath; struct _WalkDirNode *wdn_Next; } WALKDIR_NODE, *PWALKDIR_NODE;
typedef NTSTATUS (*WALKDIR_WORKER)(PFILESYSHANDLE phRelative, PWCHAR Name, ULONG Namelen, BOOLEAN IsDir);
extern NTSTATUS AfpCreateNetworkTrash( IN PVOLDESC pVolDesc );
extern NTSTATUS AfpDeleteNetworkTrash( IN PVOLDESC pVolDesc, IN BOOLEAN VolumeStart );
extern NTSTATUS AfpWalkDirectoryTree( IN PFILESYSHANDLE phTargetDir, IN WALKDIR_WORKER NodeWorker );
extern NTSTATUS AfpGetNextDirectoryInfo( IN OUT PFILE_DIRECTORY_INFORMATION * ppInfoBuf, OUT PWCHAR * pNodeName, OUT PULONG pNodeNameLen, OUT PBOOLEAN pIsDir );
#ifdef NWTRASH_LOCALS
LOCAL NTSTATUS afpCleanNetworkTrash( IN PVOLDESC pVolDesc, IN PFILESYSHANDLE phNWT, IN PDFENTRY pDfeNWT OPTIONAL );
LOCAL NTSTATUS afpPushDirNode( IN OUT PWALKDIR_NODE * ppStackTop, IN PUNICODE_STRING pParentPath, // path to parent (NULL iff walk target)
IN PUNICODE_STRING pDirName // name of current directory node
);
LOCAL VOID afpPopDirNode( IN OUT PWALKDIR_NODE * ppStackTop );
LOCAL NTSTATUS afpNwtDeleteFileEntity( IN PFILESYSHANDLE phRelative, IN PWCHAR Name, IN ULONG Namelen, IN BOOLEAN IsDir );
#endif // NWTRASH_LOCALS
#endif // _NWTRASH_
|