Synchronize with trunk revision 59636 (just before Alex's CreateProcess revamp).
[reactos.git] / drivers / storage / inc / physlogi.h
1 /*++
2
3 Copyright (c) 1992 Microsoft Corporation
4
5 Module Name:
6
7 physlogi.h
8
9 Abstract:
10
11 This file contains structures and defines that are used
12 specifically for the tape drivers. Contains #define's,
13 function protypes, etc. for use in calling functions in
14 physlogi.c that do physical to pseudo-logical and pseudo-
15 logical to physical tape block address/position translation.
16
17 Author:
18
19 Mike Colandreo (Maynard)
20
21 Revision History:
22
23 --*/
24
25 // begin_ntminitape
26
27 //
28 // defines for QIC tape density codes
29 //
30
31 #define QIC_XX 0 // ????
32 #define QIC_24 5 // 0x05
33 #define QIC_120 15 // 0x0F
34 #define QIC_150 16 // 0x10
35 #define QIC_525 17 // 0x11
36 #define QIC_1350 18 // 0x12
37 #define QIC_1000 21 // 0x15
38 #define QIC_1000C 30 // 0x1E
39 #define QIC_2100 31 // 0x1F
40 #define QIC_2GB 34 // 0x22
41 #define QIC_5GB 40 // 0x28
42
43 //
44 // defines for QIC tape media codes
45 //
46
47 #define DCXXXX 0
48 #define DC300 1
49 #define DC300XLP 2
50 #define DC615 3
51 #define DC600 4
52 #define DC6037 5
53 #define DC6150 6
54 #define DC6250 7
55 #define DC6320 8
56 #define DC6525 9
57 #define DC9135SL 33 //0x21
58 #define DC9210 34 //0x22
59 #define DC9135 35 //0x23
60 #define DC9100 36 //0x24
61 #define DC9120 37 //0x25
62 #define DC9120SL 38 //0x26
63 #define DC9164 39 //0x27
64 #define DCXXXXFW 48 //0x30
65 #define DC9200SL 49 //0x31
66 #define DC9210XL 50 //0x32
67 #define DC10GB 51 //0x33
68 #define DC9200 52 //0x34
69 #define DC9120XL 53 //0x35
70 #define DC9210SL 54 //0x36
71 #define DC9164XL 55 //0x37
72 #define DC9200XL 64 //0x40
73 #define DC9400 65 //0x41
74 #define DC9500 66 //0x42
75 #define DC9500SL 70 //0x46
76
77 //
78 // defines for translation reference point
79 //
80
81 #define NOT_FROM_BOT 0
82 #define FROM_BOT 1
83
84 //
85 // info/structure returned by/from
86 // TapeLogicalBlockToPhysicalBlock( )
87 //
88
89 typedef struct _TAPE_PHYS_POSITION {
90 ULONG SeekBlockAddress;
91 ULONG SpaceBlockCount;
92 } TAPE_PHYS_POSITION, PTAPE_PHYS_POSITION;
93
94 //
95 // function prototypes
96 //
97
98 TAPE_PHYS_POSITION
99 TapeClassLogicalBlockToPhysicalBlock(
100 IN UCHAR DensityCode,
101 IN ULONG LogicalBlockAddress,
102 IN ULONG BlockLength,
103 IN BOOLEAN FromBOT
104 );
105
106 ULONG
107 TapeClassPhysicalBlockToLogicalBlock(
108 IN UCHAR DensityCode,
109 IN ULONG PhysicalBlockAddress,
110 IN ULONG BlockLength,
111 IN BOOLEAN FromBOT
112 );
113
114 // end_ntminitape
115