1 /* 2 Unix SMB/CIFS implementation. 3 NT ioctl code constants 4 Copyright (C) Andrew Tridgell 2002 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 _NTIOCTL_H 21 #define _NTIOCTL_H 22 23 #define IO_REPARSE_TAG_SYMLINK 0xA000000C 24 #define SYMLINK_FLAG_RELATIVE 0x00000001 25 26 #define IO_REPARSE_TAG_MOUNT_POINT 0xA0000003 27 #define IO_REPARSE_TAG_HSM 0xC0000004 28 #define IO_REPARSE_TAG_SIS 0x80000007 29 #define IO_REPARSE_TAG_DFS 0x8000000A 30 #define IO_REPARSE_TAG_NFS 0x80000014 31 32 /* Sub-types for IO_REPARSE_TAG_NFS */ 33 #define NFS_SPECFILE_LNK 0x00000000014B4E4C 34 #define NFS_SPECFILE_CHR 0x0000000000524843 35 #define NFS_SPECFILE_BLK 0x00000000004B4C42 36 #define NFS_SPECFILE_FIFO 0x000000004F464946 37 #define NFS_SPECFILE_SOCK 0x000000004B434F53 38 39 /* For FSCTL_GET_SHADOW_COPY_DATA ...*/ 40 typedef char SHADOW_COPY_LABEL[25]; /* sizeof("@GMT-2004.02.18-15.44.00") + 1 */ 41 42 struct shadow_copy_data { 43 /* Total number of shadow volumes currently mounted */ 44 uint32_t num_volumes; 45 /* Concatenated list of labels */ 46 SHADOW_COPY_LABEL *labels; 47 }; 48 49 50 #endif /* _NTIOCTL_H */ 51