docs: fix a typo in history file
[bbaumbach/samba-autobuild/.git] / source3 / include / fake_file.h
1 /* 
2    Unix SMB/CIFS implementation.
3    FAKE FILE suppport, for faking up special files windows want access to
4    Copyright (C) Stefan (metze) Metzmacher      2003
5    
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10    
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15    
16    You should have received a copy of the GNU General Public License
17    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef _FAKE_FILE_H
21 #define _FAKE_FILE_H
22
23 enum FAKE_FILE_TYPE {
24         FAKE_FILE_TYPE_NONE = 0,
25         FAKE_FILE_TYPE_QUOTA,
26         FAKE_FILE_TYPE_NAMED_PIPE,
27         FAKE_FILE_TYPE_NAMED_PIPE_PROXY
28 };
29
30 /*
31 we now get the unix name --metze
32 */
33 #define FAKE_FILE_NAME_QUOTA_WIN32      "\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"
34 #define FAKE_FILE_NAME_QUOTA_UNIX       "$Extend/$Quota:$Q:$INDEX_ALLOCATION"
35
36 struct fake_file_handle {
37         enum FAKE_FILE_TYPE type;
38         void *private_data;
39 };
40
41 enum FAKE_FILE_TYPE is_fake_file_path(const char *path);
42 enum FAKE_FILE_TYPE is_fake_file(const struct smb_filename *smb_fname);
43 NTSTATUS open_fake_file(struct smb_request *req, connection_struct *conn,
44                                 uint64_t current_vuid,
45                                 enum FAKE_FILE_TYPE fake_file_type,
46                                 const struct smb_filename *smb_fname,
47                                 uint32_t access_mask,
48                                 files_struct **result);
49 NTSTATUS close_fake_file(struct smb_request *req, files_struct *fsp);
50
51 #endif /* _FAKE_FILE_H */