00001 #ifndef fm2def_h 00002 #define fm2def_h 00003 00004 #define FM2_C_PLACEMENT 0 00005 #define FM2_C_FORMAT1 1 00006 #define FM2_C_FORMAT2 2 00007 #define FM2_C_FORMAT3 3 00008 00009 #define FM2_K_LENGTH0 2 00010 #define FM2_C_LENGTH0 2 00011 #define FM2_K_LENGTH1 4 00012 #define FM2_C_LENGTH1 4 00013 #define FM2_S_FM2DEF 4 00014 00015 struct _fm2 { 00016 union { 00017 unsigned short int fm2_w_word0; 00018 struct { 00019 unsigned fm2_$_fill_1 : 14; 00020 unsigned fm2_v_format : 2; 00021 }; 00022 struct { 00023 unsigned fm2_v_exact : 1; 00024 unsigned fm2_v_oncyl : 1; 00025 unsigned fm2_$_fill_2 : 10; 00026 unsigned fm2_v_lbn : 1; 00027 unsigned fm2_v_rvn : 1; 00028 unsigned fm2_v_fill_3_ : 2; 00029 }; 00030 struct { 00031 unsigned fm2_$_fill_3 : 8; 00032 unsigned fm2_v_highlbn : 6; 00033 unsigned fm2_v_fill_4_ : 2; 00034 }; 00035 struct { 00036 unsigned fm2_v_count2 : 14; 00037 unsigned fm2_v_fill_5_ : 2; 00038 }; 00039 unsigned char fm2_b_count1; 00040 }; 00041 unsigned short int fm2_w_lowlbn; 00042 }; 00043 00044 #define FM2_K_LENGTH2 6 00045 #define FM2_C_LENGTH2 6 00046 #define FM2_S_FM2DEF1 6 00047 00048 struct _fm2_1 { 00049 char fm2_$_fill_4 [2]; 00050 unsigned int fm2_l_lbn2; 00051 }; 00052 00053 #define FM2_K_LENGTH3 8 00054 #define FM2_C_LENGTH3 8 00055 #define FM2_S_FM2DEF2 8 00056 00057 struct _fm2_2 { 00058 char fm2_$_fill_5 [2]; 00059 unsigned short int fm2_w_lowcount; 00060 unsigned int fm2_l_lbn3; 00061 }; 00062 00063 #endif 00064 00065