Changeset 133 for trunk/include/helpers/dosh.h
- Timestamp:
- Jan 26, 2002, 4:59:23 PM (24 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/helpers/dosh.h
r132 r133 78 78 79 79 #ifdef INCL_DOSDEVIOCTL 80 81 // flags for DRIVEPARMS.usDeviceAttrs (see DSK_GETDEVICEPARAMS in CPREF):82 #define DEVATTR_REMOVEABLE 0x0001 // drive is removeable83 #define DEVATTR_CHANGELINE 0x0002 // media has been removed since last I/O operation84 #define DEVATTR_GREATER16MB 0x0004 // physical device driver supports physical addresses > 16 MB85 80 86 81 // #pragma pack(1) … … 167 162 PBIOSPARAMETERBLOCK pdp); 168 163 169 BOOL XWPENTRY doshIsCDROM(PBIOSPARAMETERBLOCK pdp); 164 BYTE doshQueryRemoveableType(PBIOSPARAMETERBLOCK pdp); 165 166 APIRET XWPENTRY doshHasAudioCD(ULONG ulLogicalDrive, 167 HFILE hfDrive, 168 BOOL fMixedModeCD, 169 PBOOL pfAudio); 170 170 171 171 #endif 172 173 APIRET XWPENTRY doshHasAudioCD(ULONG ulLogicalDrive,174 HFILE hfDrive,175 BOOL fMixedModeCD,176 PBOOL pfAudio);177 172 178 173 VOID XWPENTRY doshEnumDrives(PSZ pszBuffer, … … 186 181 CHAR doshQueryBootDrive(VOID); 187 182 188 #define ERROR_AUDIO_CD_ROM 10000 189 190 #define ASSERTFL_MIXEDMODECD 0x0001 183 #define ERROR_AUDIO_CD_ROM 10000 184 185 #define DRVFL_MIXEDMODECD 0x0001 186 #define DRVFL_TOUCHFLOPPIES 0x0002 191 187 192 188 APIRET doshAssertDrive(ULONG ulLogicalDrive, 193 189 ULONG fl); 190 191 #ifdef INCL_DOSDEVIOCTL 192 193 /* 194 *@@ XDISKINFO: 195 * 196 *@@added V0.9.16 (2002-01-13) [umoeller] 197 */ 198 199 typedef struct _XDISKINFO 200 { 201 CHAR cDriveLetter; // drive letter 202 CHAR cLogicalDrive; // logical drive no. 203 204 BOOL fPresent; // if FALSE, drive does not exist 205 206 // the following are only valid if fPresent == TRUE 207 208 BIOSPARAMETERBLOCK bpb; 209 // 0x00 USHORT usBytesPerSector; 210 // 0x02 BYTE bSectorsPerCluster; 211 // 0x03 USHORT usReservedSectors; 212 // 0x05 BYTE cFATs; 213 // 0x06 USHORT cRootEntries; 214 // 0x08 USHORT cSectors; 215 // 0x0a BYTE bMedia; 216 // 0x0b USHORT usSectorsPerFAT; 217 // 0x0d USHORT usSectorsPerTrack; 218 // 0x0f USHORT cHeads; 219 // 0x11 ULONG cHiddenSectors; 220 // 0x15 ULONG cLargeSectors; 221 // 0x19 BYTE abReserved[6]; 222 // 0x1a USHORT cCylinders; 223 // 0x1c BYTE bDeviceType; 224 // DEVTYPE_48TPI 0x0000 225 // DEVTYPE_96TPI 0x0001 226 // DEVTYPE_35 0x0002 227 // DEVTYPE_8SD 0x0003 228 // DEVTYPE_8DD 0x0004 229 // DEVTYPE_FIXED 0x0005 230 // DEVTYPE_TAPE 0x0006 231 // DEVTYPE_UNKNOWN 0x0007 232 // 0x1d USHORT fsDeviceAttr; 233 #define DEVATTR_REMOVEABLE 0x0001 234 // drive is removeable 235 #define DEVATTR_CHANGELINE 0x0002 236 // device can determine whether media has 237 // been removed since last I/O operation 238 #define DEVATTR_GREATER16MB 0x0004 239 // physical device driver supports physical 240 // addresses > 16 MB 241 #define DEVATTR_PARTITIONALREMOVEABLE 0x0008 242 243 BYTE bType; 244 // do not change these codes, XWorkplace relies 245 // on them too to parse WPDisk data 246 #define DRVTYPE_HARDDISK 0 247 #define DRVTYPE_FLOPPY 1 248 #define DRVTYPE_TAPE 2 249 #define DRVTYPE_VDISK 3 250 #define DRVTYPE_CDROM 4 251 #define DRVTYPE_LAN 5 252 #define DRVTYPE_PARTITIONABLEREMOVEABLE 6 253 #define DRVTYPE_UNKNOWN 255 254 255 ULONG flDevice; 256 // any combination of the following: 257 #define DFL_REMOTE 0x0001 258 // drive is remote (not local) 259 #define DFL_FIXED 0x0002 260 // drive is fixed; otherwise it is removeable! 261 #define DFL_PARTITIONABLEREMOVEABLE 0x0004 262 // in that case, DFL_FIXED is set also 263 #define DFL_BOOTDRIVE 0x0008 264 // drive was booted from 265 266 // media flags: 267 268 #define DFL_MEDIA_PRESENT 0x1000 269 // media is present in drive; always 270 // true for fixed and remove drives and 271 // drives A: and B: 272 #define DFL_AUDIO_CD 0x2000 273 // set for CD-ROMs only, if an audio CD 274 // is currently inserted; in that case, 275 // DFL_MEDIA_PRESENT is _not_ set 276 #define DFL_SUPPORTS_EAS 0x4000 277 // drive supports extended attributes 278 #define DFL_SUPPORTS_LONGNAMES 0x8000 279 // drive supports long names; this does not 280 // necessarily mean that we support all IFS 281 // characters also 282 283 // the following are only valid if DFL_MEDIA_PRESENT is set; 284 // they are always set for drives A: and B: 285 286 CHAR szFileSystem[30]; 287 // e.g. "FAT" or "HPFS" or "JFS" or "CDFS" 288 289 BYTE bFileSystem; 290 // do not change these codes, XWorkplace relies 291 // on them too to parse WPDisk data 292 #define FSYS_FAT 1 293 #define FSYS_HPFS_JFS 2 294 #define FSYS_CDFS 3 295 #define FSYS_FAT32 8 // not used by WPS! 296 #define FSYS_RAMFS 9 // not used by WPS! 297 #define FSYS_REMOTE 10 298 299 } XDISKINFO, *PXDISKINFO; 300 301 APIRET doshGetDriveInfo(ULONG ulLogicalDrive, 302 ULONG fl, 303 PXDISKINFO pdi); 304 305 #endif 194 306 195 307 APIRET doshSetLogicalMap(ULONG ulLogicalDrive);
Note:
See TracChangeset
for help on using the changeset viewer.