]> wirehaze git hosting - MS-DOS.git/blob - v4.0/src/CMD/FDISK/FDISK.H

wirehaze git hosting

MZ is back!
[MS-DOS.git] / v4.0 / src / CMD / FDISK / FDISK.H
1 /* \f */
2 /* */
3 /****************************************************************************/
4 /* Define statements */
5 /****************************************************************************/
6 /* */
7
8 #define FLAG char /* AN000 */
9 #define BEGIN {
10 #define END }
11 #define ESC 0x1B
12 #define ESC_FLAG -2 /* AN000 */
13 #define NUL 0x00
14 #define NOT_FOUND 0xFF
15 #define DELETED -2 /* AC011 */
16 #define INVALID 0xFF
17 #define PRIMARY 0x00
18 #define EXTENDED 0x05
19 #define BAD_BLOCK 0xFF
20 #define XENIX1 0x02
21 #define XENIX2 0x03
22 #define PCIX 0x75
23 #define DOS12 0x01
24 #define DOS16 0x04
25 #define DOSNEW 0x06 /* AN000 */
26 #define FAT16_SIZE 32680
27 #define VOLUME 0x00
28 #define FALSE (char) (1==0) /* AC000 */
29 #define TRUE (char) !FALSE /* AC000 */
30 #define LOGICAL 0x05
31 #define CR 0x0D
32 #define BACKSPACE 0x08
33 #define ACTIVE 0x80
34 #define DOS_MAX 65535 /* Allow exactly 32mb worth of partitions */
35 #define SYSTEM_FILE_SECTORS 250
36 #define BYTES_PER_SECTOR 512 /* AN000 */
37
38 #include <version.h>
39
40 #define NETWORK 0x2F
41 #define INSTALLATION_CHECK 0xB800
42 #define SERVER_CHECK 0x40
43
44
45 #define FILE_NAME ":\\????????.???" /* AN000 */
46 #define NOVOLUME "" /* AN000 */
47 #define NOFORMAT "UNKNOWN " /* AN000 */
48 #define FAT12 "FAT12 " /* AN000 */
49 #define FAT16 "FAT16 " /* AN000 */
50 #define SEA 'C' /* AN000 */
51 #define ZERO 0 /* AN000 */
52 #define NO_GOOD 0x02 /* AN000 */
53 #define FIND_FIRST_MATCH 0x4E /* AN000 */
54 #define GET_DTA 0x2F /* AN000 */
55 #define NETWORK_IOCTL 0x4409 /* AN000 */
56 #define GENERIC_IOCTL 0x440D /* AN000 */
57 #define GET_MEDIA_ID 0x0866 /* AN007 */
58 #define SPECIAL_FUNCTION 0x0867 /* AN002 AC008 */
59 #define CAPCHAR 0x6520 /* AN000 */
60 #define CAPSTRING 0x6521 /* AN000 */
61 #define CAP_YN 0x6523 /* AN000 */
62 #define INT21 0x21 /* AN000 */
63 #define DISK 0x13 /* AN000 */
64 #define NOERROR 0 /* AN000 */
65 #define BLANKS " " /* AN000 */
66 #define MAX_STRING_INPUT_LENGTH 11 /* AN000 */
67 #define ERR_LEVEL_0 0 /* AN001 */
68 #define ERR_LEVEL_1 1 /* AN001 */
69 #define ERR_LEVEL_2 2 /* AN005 */
70
71 #define READ_DISK 2
72 #define WRITE_DISK 3
73 #define DISK_INFO 8
74
75 #define CURRENT_VIDEO_ATTRIBUTE 8 /* AN006 */
76 #define CURRENT_VIDEO_STATE 15
77 #define SET_ACTIVE_DISPLAY_PAGE 5
78 #define SET_MODE 0
79 #define SET_PAGE 5
80 #define SET_CURSOR 0x02 /* AN006 */
81 #define WRITE_ATTRCHAR 0x09 /* AN006 */
82 #define VIDEO 0x10
83 #define SCROLL_PAGE_UP 0x0600 /* AN006 */
84 #define BW40_25 0
85 #define Color40_25 1
86 #define BW80_25 2
87 #define Color80_25 3
88 #define Color320_200 4
89 #define BW320_200 5
90 #define BW640_200 6
91 #define MONO80_25 7
92 #define MONO80_25A 15 /* AN006 */
93
94 #define NORMAL_PRELOAD 0 /* AN000 */
95 #define ALL_UTILITY_MESSAGES -1 /* AN000 */
96 #define NO_SUBST_TEXT 0 /* AN000 */
97 #define NO_RESPONSE 0 /* AN000 */
98 #define CLASS -1 /* AN000 */ * AN000 */
99 #define NUL_POINTER 0 /* AN000 */
100 #define SUBST_LIST 0 /* AN000 */
101 #define SUBST_COUNT 0 /* AN000 */
102
103 #define VOL_LABEL 0x08 /* AN000 */
104 #define PERCENT 0x25 /* AN000 */
105 #define DECIMAL 0x2E /* AN000 */
106 #define PERIOD 0x2E /* AN000 */
107 #define ONE_MEG 1048576 /* AN000 */
108
109 #if IBMCOPYRIGHT
110 #define HIWHITE_ON_BLUE 0x1F /* AN006 */
111 #define WHITE_ON_BLUE 0x17 /* AN006 */
112 #define BLINK_HIWHITE_ON_BLUE 0x9F /* AN006 */
113 #define HIWHITE_ON_BLACK 0x0F /* AN006 */
114 #define GRAY_ON_BLACK 0x07 /* AN006 */
115 #else
116 #define HIWHITE_ON_BLUE 0x0F /* AN006 */
117 #define WHITE_ON_BLUE 0x07 /* AN006 */
118 #define BLINK_HIWHITE_ON_BLUE 0x8F /* AN006 */
119 #define HIWHITE_ON_BLACK 0x0F /* AN006 */
120 #define GRAY_ON_BLACK 0x07
121 #endif
122
123
124 #define BYTE unsigned char /* AN000 */
125 #define WORD unsigned short /* AN000 */
126 #define DWORD unsigned long /* AN000 */
127 #define sw_type /* AN000 */
128 #define sw_item_tag /* AN000 */
129 #define sw_synonym /* AN000 */
130 #define sw_value /* AN000 */
131
132 #define CARRY_FLAG 0x0001 /* mask for carry flag */ /* AN000 */
133 #define PARITY_FLAG 0x0004 /* mask for parity flag */ /* AN000 */
134 #define ACARRY_FLAG 0x0010 /* mask for aux carry flag */ /* AN000 */
135 #define ZERO_FLAG 0x0040 /* mask for zero flag */ /* AN000 */
136 #define SIGN_FLAG 0x0080 /* mask for sign flag */ /* AN000 */
137 #define TRAP_FLAG 0x0100 /* mask for trap flag */ /* AN000 */
138 #define INTERRUPT_FLAG 0x0200 /* mask for interrupt flag */ /* AN000 */
139 #define DIRECTION_FLAG 0x0400 /* mask for direction flag */ /* AN000 */
140 #define OVERFLOW_FLAG 0x0800 /* mask for overflow flag */ /* AN000 */
141
142 #define SEMICOLON 0x3B /* AN000 - VALID COMMAND LINE DELIMITER*/
143
144 #define XFLOAT unsigned
145
146 #define u(c) ((unsigned)(c)) /* AN000 */
147 #define f(c) ((XFLOAT)(c)) /* AN000 */
148 #define c(c) ((char)(c)) /* AN000 */
149 #define d(c) ((double)(c)) /* AN004 */
150 #define uc(c) ((unsigned char)(c)) /* AN000 */
151 #define ui(c) ((unsigned int)(c)) /* AN000 */
152 #define ul(c) ((unsigned long)(c)) /* AN000 */
153
154
155 struct entry
156 BEGIN
157 unsigned char boot_ind;
158 unsigned char start_head;
159 unsigned char start_sector;
160 unsigned start_cyl;
161 unsigned char sys_id;
162 unsigned char end_head;
163 unsigned char end_sector;
164 unsigned end_cyl;
165 unsigned long rel_sec;
166 unsigned long num_sec;
167 char order;
168 FLAG changed;
169 unsigned mbytes_used; /* AN000 */
170 unsigned percent_used; /* AN000 */
171 char vol_label[12]; /* AN000 */
172 char system[9]; /* AN000 */
173 char drive_letter; /* AN000 */
174 END;
175
176 struct freespace
177 BEGIN
178 unsigned space;
179 unsigned start;
180 unsigned end;
181 unsigned mbytes_unused; /* AN000 */
182 unsigned percent_unused; /* AN000 */
183 char volume_id[12]; /* AN000 */
184 END;
185
186 struct diskaccess /* AN002 */
187 BEGIN /* AN002 */
188 char dac_special_func; /* AN002 */
189 char dac_access_flag; /* AN002 */
190 END; /* AN002 */
191
192 struct dx_buffer_ioctl /* AN000 */
193 BEGIN /* AN000 */
194 unsigned int info_level; /* Information level */ /* AN000 */
195 unsigned long serial_num; /* serial number */ /* AN000 */
196 char vol_label[11]; /* volume label */ /* AN000 */
197 char file_system[8]; /* file system */ /* AN000 */
198 END; /* AN000 */
199
200 struct subst_list /* AN000 */
201 BEGIN /* AN000 */
202 char sl_size1; /* Size of List */ /* AN000 */
203 char zero1; /* Reserved */ /* AN000 */
204 char far *value1; /* Time, date, or ptr to data item*/ /* AN000 */
205 char one; /* n of %n */ /* AN000 */
206 char flags1; /* Data Type flags */ /* AN000 */
207 char max_width1; /* Maximum FIELD width */ /* AN000 */
208 char min_width1; /* Minimum FIELD width */ /* AN000 */
209 char pad_char1; /* Character for pad FIELD */ /* AN000 */
210 END; /* AN000 */
211
212 struct sublistx /* ;an000; */
213 BEGIN /* ;an000; */
214 unsigned char size; /* sublist size */ /* ;an000; */
215 unsigned char reserved; /* reserved for future growth */ /* ;an000; */
216 unsigned far *value; /* pointer to replaceable parm */ /* ;an000; */
217 unsigned char id; /* type of replaceable parm */ /* ;an000; */
218 unsigned char flags; /* how parm is to be displayed */ /* ;an000; */
219 unsigned char max_width; /* max width of replaceable field */ /* ;an000; */
220 unsigned char min_width; /* min width of replaceable field */ /* ;an000; */
221 unsigned char pad_char; /* pad character for replaceable field */ /* ;an000; */
222 END;
223 /* ;an000; */
224 \1a