struct type_htable { int drv_number; int cyl_number; int head_number; int sec_number; int blk_size; int max_cyl; int max_head; int max_sec; int precomp; int skew; int alt_sector; int retry; int step; int ileave; int ecc_len; int ecc; int sec_size; float bits_read; }; struct type_task_file { int error; int secnt; int sector; int cyllo; int cylhi; int SDH; int status; int secstat; int DIR; }; struct type_esfile { int xfrlo; int xfrhi; int plo; int gap; int stat; }; union type_scan { int c; char ch[2]; }; struct type_error { int cyl; unsigned int offset; unsigned char head; unsigned char sector; };