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