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 2 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, write to the Free Software
18   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19*/
20
21#ifndef _FAKE_FILE_H
22#define _FAKE_FILE_H
23
24enum FAKE_FILE_TYPE {
25	FAKE_FILE_TYPE_NONE = 0,
26	FAKE_FILE_TYPE_QUOTA
27};
28
29#define FAKE_FILE_NAME_QUOTA	"\\$Extend\\$Quota:$Q:$INDEX_ALLOCATION"
30
31typedef struct _FAKE_FILE_HANDLE {
32	enum FAKE_FILE_TYPE type;
33	TALLOC_CTX *mem_ctx;
34	void *pd; /* for private data */
35	void (*free_pd)(void **pd); /* free private_data */
36} FAKE_FILE_HANDLE;
37
38typedef struct _FAKE_FILE {
39	const char *name;
40	enum FAKE_FILE_TYPE type;
41	void *(*init_pd)(TALLOC_CTX *men_ctx);
42	void (*free_pd)(void **pd);
43} FAKE_FILE;
44
45
46#endif /* _FAKE_FILE_H */
47