1 /*- 2 *********************************************************************** 3 * 4 * $Id: fsinfo.h,v 1.47 2014/07/18 06:40:44 mavrik Exp $ 5 * 6 *********************************************************************** 7 * 8 * Copyright 2000-2014 The FTimes Project, All Rights Reserved. 9 * 10 *********************************************************************** 11 */ 12 #ifndef _FSINFO_H_INCLUDED 13 #define _FSINFO_H_INCLUDED 14 15 /*- 16 *********************************************************************** 17 * 18 * Defines 19 * 20 *********************************************************************** 21 */ 22 #define FSINFO_MAX_STRING 255 23 24 enum eFSTypes 25 { 26 FSTYPE_UNSUPPORTED = 0, 27 FSTYPE_AIX, 28 FSTYPE_CDFS, 29 FSTYPE_CIFS, 30 FSTYPE_CRAMFS, 31 FSTYPE_DATAPLOW_ZFS, 32 FSTYPE_DEVFS, 33 FSTYPE_EXT2, 34 FSTYPE_FAT, 35 FSTYPE_FAT_REMOTE, 36 FSTYPE_FFS, 37 FSTYPE_GETDATAFS, 38 FSTYPE_HFS, 39 FSTYPE_JFS, 40 FSTYPE_MINIX, 41 FSTYPE_NA, 42 FSTYPE_NFS, 43 FSTYPE_NFS3, 44 FSTYPE_NTFS, 45 FSTYPE_NTFS3G, 46 FSTYPE_NTFS_REMOTE, 47 FSTYPE_NWCOMPAT, 48 FSTYPE_NWCOMPAT_REMOTE, 49 FSTYPE_NWFS, 50 FSTYPE_NWFS_REMOTE, 51 FSTYPE_PTS, 52 FSTYPE_RAMFS, 53 FSTYPE_REISER, 54 FSTYPE_SMB, 55 FSTYPE_SQUASHFS, 56 FSTYPE_TMPFS, 57 FSTYPE_UDF, 58 FSTYPE_UFS, 59 FSTYPE_UFS2, 60 FSTYPE_VXFS, 61 FSTYPE_VZFS, 62 FSTYPE_XFS, 63 FSTYPE_YAFFS, 64 FSTYPE_ZFS 65 }; 66 67 68 /*- 69 *********************************************************************** 70 * 71 * Platform Specific Defines 72 * 73 *********************************************************************** 74 */ 75 #ifdef FTimes_AIX 76 #ifndef MNT_AIX 77 #define MNT_AIX 0 /* AIX physical fs "oaix" */ 78 #endif 79 #ifndef MNT_NFS 80 #define MNT_NFS 2 /* SUN Network File System "nfs" */ 81 #endif 82 #ifndef MNT_JFS 83 #define MNT_JFS 3 /* AIX R3 physical fs "jfs" */ 84 #endif 85 #ifndef MNT_CDROM 86 #define MNT_CDROM 5 /* CDROM File System "cdrom" */ 87 #endif 88 #ifndef MNT_SFS 89 #define MNT_SFS 16 /* AIX Special FS (STREAM mounts) */ 90 #endif 91 #ifndef MNT_CACHEFS 92 #define MNT_CACHEFS 17 /* Cachefs file system */ 93 #endif 94 #ifndef MNT_NFS3 95 #define MNT_NFS3 18 /* NFSv3 file system */ 96 #endif 97 #ifndef MNT_AUTOFS 98 #define MNT_AUTOFS 19 /* Automount file system */ 99 #endif 100 #ifndef MNT_VXFS 101 #define MNT_VXFS 0x20 /* Veritas file system */ 102 #endif 103 #endif 104 105 #ifdef FTimes_LINUX 106 #ifndef CIFS_SUPER_MAGIC 107 #define CIFS_SUPER_MAGIC 0xff534d42 108 #endif 109 #ifndef CRAMFS_SUPER_MAGIC 110 #define CRAMFS_SUPER_MAGIC 0x28cd3d45 111 #endif 112 #ifndef EXT2_OLD_SUPER_MAGIC 113 #define EXT2_OLD_SUPER_MAGIC 0xEF51 114 #endif 115 #ifndef EXT2_SUPER_MAGIC 116 #define EXT2_SUPER_MAGIC 0xEF53 117 #endif 118 #ifndef ISOFS_SUPER_MAGIC 119 #define ISOFS_SUPER_MAGIC 0x9660 120 #endif 121 #ifndef JFS_SUPER_MAGIC 122 #define JFS_SUPER_MAGIC 0x3153464a /* JFS1 */ 123 #endif 124 #ifndef MINIX_SUPER_MAGIC 125 #define MINIX_SUPER_MAGIC 0x138f 126 #endif 127 #ifndef MSDOS_SUPER_MAGIC 128 #define MSDOS_SUPER_MAGIC 0x4d44 129 #endif 130 #ifndef NFS_SUPER_MAGIC 131 #define NFS_SUPER_MAGIC 0x6969 132 #endif 133 #ifndef NTFS_SUPER_MAGIC 134 #define NTFS_SUPER_MAGIC 0x5346544e 135 #endif 136 #ifndef NTFS3G_SUPER_MAGIC 137 #define NTFS3G_SUPER_MAGIC 0x65735546 138 #endif 139 #ifndef PROC_SUPER_MAGIC 140 #define PROC_SUPER_MAGIC 0x9fa0 141 #endif 142 #ifndef PTS_SUPER_MAGIC 143 #define PTS_SUPER_MAGIC 0x1cd1 144 #endif 145 #ifndef UFS_MAGIC 146 #define UFS_MAGIC 0x00011954 147 #endif 148 #ifndef UFS2_MAGIC 149 #define UFS2_MAGIC 0x19540119 150 #endif 151 #ifndef REISERFS_SUPER_MAGIC 152 #define REISERFS_SUPER_MAGIC 0x52654973 153 #endif 154 #ifndef SMB_SUPER_MAGIC 155 #define SMB_SUPER_MAGIC 0x517B 156 #endif 157 #ifndef SQUASHFS_SUPER_MAGIC 158 #define SQUASHFS_SUPER_MAGIC 0x71736873 159 #endif 160 #ifndef TMPFS_SUPER_MAGIC 161 #define TMPFS_SUPER_MAGIC 0x1021994 162 #endif 163 #ifndef VXFS_SUPER_MAGIC 164 #define VXFS_SUPER_MAGIC 0xa501fcf5 165 #endif 166 #ifndef VZFS_SUPER_MAGIC 167 #define VZFS_SUPER_MAGIC 0x565a4653 168 #endif 169 #ifndef RAMFS_SUPER_MAGIC 170 #define RAMFS_SUPER_MAGIC 0x858458f6 171 #endif 172 #ifndef XFS_SUPER_MAGIC 173 #define XFS_SUPER_MAGIC 0x58465342 174 #endif 175 #ifndef UDF_SUPER_MAGIC 176 #define UDF_SUPER_MAGIC 0x15013346 177 #endif 178 #ifndef YAFFS_SUPER_MAGIC 179 #define YAFFS_SUPER_MAGIC 0x5941ff53 180 #endif 181 #endif 182 183 184 /*- 185 *********************************************************************** 186 * 187 * Function Prototypes 188 * 189 *********************************************************************** 190 */ 191 int GetFileSystemType(char *pcPath, char *pcError); 192 193 194 /*- 195 *********************************************************************** 196 * 197 * External Variables 198 * 199 *********************************************************************** 200 */ 201 extern char gaacFSType[][FSINFO_MAX_STRING]; 202 203 #endif /* !_FSINFO_H_INCLUDED */ 204