📄 protocol.c
字号:
0x00, 0x00, // minimum pre-fetch
0x00, 0x00, // maximum pre-fetch
0x00, 0x00, // maximum pre-fetch ceiling
0x00, // fsw, lbcss, dra, vs, vs
0x00, // number of cache segments
0x00, 0x00, // cache segment size
0x00, // reserved
0x00, 0x00, 0x00 // non-cache segment size
};
// control
code t_mode_page_control mode_page_control =
{
k_mode_page_control, // page code
k_mode_page_control_page_length, // page length
0x00, // GltsdRlec
0x00, // QueuemodQerrDQue
0x00, // RacSwpRaerpUaaerpEaerp
0x00, // reserved
0x00, 0x00, // ready aer holdoff period
0x00, 0x00, // busy timeout period
0x00, 0x00 // reserved [2]
};
// medium types supported
code t_buf_medium_types_page mode_page_medium_types =
{
k_mode_page_medium_types, // page code
k_mode_page_medium_types_page_length, // page length
0x00, 0x00, // reserved [2]
0x00, // medium type 1 supported
0x00, // medium type 2 supported
0x00, // medium type 3 supported
0x00 // medium type 4 supported
};
// notch and partition page
code t_buf_notch_page mode_page_notch =
{
k_mode_page_notch, // page code
k_mode_page_notch_page_length, // page length
0x00, // nd, lpn
0x00, // reserved
0x00, 0x00, // maximum number of notches
0x00, 0x00, // active notch
0x00, 0x00, // starting boundry
0x00, 0x00, // ending boundry
0x00, 0x00 // pages notched
};
// power condition 0d page (alternative to 1a)
code t_buf_power_condition mode_page_power_condition =
{
k_mode_page_power_condition, // page code
k_mode_page_power_condition_page_length, // page length
0x00, // reserved
0x00, // idle, standby
0x00, 0x00, 0x00, 0x00, // idle condition timer
0x00, 0x00, 0x00, 0x00 // standby condition timer
};
// XOR Control Page
code t_buf_xor_control_page mode_page_xor_control =
{
k_mode_page_xor_control, // page code
k_mode_page_xor_control_page_length, // page length
0x00, // options 2
0x00, // reserved
0x00, 0x00, 0x00, 0x00, // max_xor_write_size
0x00, 0x00, 0x00, 0x00, // reserved
0x00, 0x00, 0x00, 0x00, // max_regenerate_size
0x00, 0x00, 0x00, 0x00, // max_rebuild_read_size
0x00, 0x00, // reserved
0x00, 0x00 // rebuild delay
};
// Informational Exceptions Control
code t_buf_info_excpt_ctl mode_page_info_excpt_ctl =
{
k_mode_page_info_excpt_ctl, // PageCode
k_mode_page_info_excpt_ctl_page_length, // PageLength
0x00, // PerfDExcptTestLogerr
0x00, // MRIE (method of reporting info exceptions
0x00, 0x00, 0x00, 0x00, // interval timer
0x00, 0x00, 0x00, 0x00 // report count
};
// all mode pages
code uint8 mode_page_all[]=
{
// read-write-error recovery page
k_mode_page_rw_err_recovery, // page code
k_mode_page_rw_err_recovery_page_length, // page length
0x00, // awre, arre, tb, rc, eer, per, dte, dcr
0x00, // read retry count
0x00, // correction span
0x00, // head offset count
0x00, // data strobe offset count
0x00, // reserved
0x00, // write retry count
0x00, // reserved
0x00, 0x00, // recovery time limit
// Disconnect-Reconnect Page
k_mode_page_dct_rct, // page code
k_mode_page_dct_rct_page_length, // page length
0x00, // buffer full ratio
0x00, // buffer empty ratio
0x00, 0x00, // bus inactivity limit
0x00, 0x00, // disconnect time limit
0x00, 0x00, // connect time limit
0x00, 0x00, // maximum burst size (in 512 byte increments)
0x00, // EmdpFardFawrtFastatDimmDtdc
0x00, // reserved
0x00, 0x00, // first burst size
// format device page
k_mode_page_format_device, // page code
k_mode_page_format_device_page_length, // page length
0x00, 0x00, // tracks per zone
0x00, 0x00, // alternate sectors per zone
0x00, 0x00, // alternate tracks per zone
0x00, 0x00, // alternate tracks per logical unit
0x00, 0x00, // sectors per track
0x00, 0x00, // data bytes per physical sector
0x00, 0x00, // interleave
0x00, 0x00, // track skew factor
0x00, 0x00, // cylinder skew factor
0x00, // ssec, hsec, rmb, surf
0x00, 0x00, // reserved [2]
// rigid disk page
k_mode_page_rigid_disk, // page code
k_mode_page_rigid_disk_page_length, // length of page in bytes
0x00, 0x00, // number of cylinders
0x00, // number of heads
0x00, 0x00, // starting cylinder-write precompensation
0x00, 0x00, // starting cylinder-reduced write current
0x00, 0x00, // device step rate
0x00, 0x00, // landing zone cylinder
0x00, // rpl
0x00, // rotational offset
0x00, // reserved
0x00, 0x00, // medium rotation rate
0x00, 0x00, // reserved [2]
#if 0
// flexible disk page
k_mode_page_flex_disk_page,
k_mode_page_flex_disk_page_length,
0x00, 0x00, // transfer rate
0x00, // number of heads
0x00, // sectors per track
0x00, 0x00, // bytes per sector
0x00, 0x00, // number of cylinders
0x00, 0x00, // start cylinder-write precompensation
0x00, 0x00, // start cylinder-reduced write current
0x00, 0x00, // device step rate
0x00, // device step pulse width
0x00, 0x00, // head settle delay
0x00, // motor on delay
0x00, // motor off delay
0x00, // options
0x00, // spc
0x00, // write recompensation
0x00, // head_load_delay
0x00, // head unload delay
0x00, // Pin34 | Pin 2
0x00, // Pin4 | Pin 1
0x00, 0x00, // medium rotation rate
0x00, 0x00, // reserved
#endif
// verify error recovery page
k_mode_page_verify_error_recovery, // page code
k_mode_page_verify_error_recovery_page_length, // parameter length
0x00, // eer, per, dte, dcr
0x00, // verify retry count
0x00, // verify correction span
0x00, 0x00, 0x00, 0x00, 0x00, // reserved[5]
0x00, 0x00, // verify recovery time-limit
// caching page
k_mode_page_caching, // page code
k_mode_page_caching_page_length, // page length
0x00, // ic, abpf, cap, disc, size, wce, mf, rcd
0x00, // demand retention priority, write retention priority
0x00, 0x00, // disable pre-fetch transfer length
0x00, 0x00, // minimum pre-fetch
0x00, 0x00, // maximum pre-fetch
0x00, 0x00, // maximum pre-fetch ceiling
0x00, // fsw, lbcss, dra, vs, vs
0x00, // number of cache segments
0x00, 0x00, // cache segment size
0x00, // reserved
0x00, 0x00, 0x00, // non-cache segment size
// control
k_mode_page_control, // page code
k_mode_page_control_page_length, // page length
0x00, // GltsdRlec
0x00, // QueuemodQerrDQue
0x00, // RacSwpRaerpUaaerpEaerp
0x00, // reserved
0x00, 0x00, // ready aer holdoff period
0x00, 0x00, // busy timeout period
0x00, 0x00, // reserved [2]
// medium types supported
k_mode_page_medium_types, // page code
k_mode_page_medium_types_page_length, // page length
0x00, 0x00, // reserved [2]
0x00, // medium type 1 supported
0x00, // medium type 2 supported
0x00, // medium type 3 supported
0x00, // medium type 4 supported
// notch and partition page
k_mode_page_notch, // page code
k_mode_page_notch_page_length, // page length
0x00, // nd, lpn
0x00, // reserved
0x00, 0x00, // maximum number of notches
0x00, 0x00, // active notch
0x00, 0x00, // starting boundry
0x00, 0x00, // ending boundry
0x00, 0x00, // pages notched
// power condition page
k_mode_page_power_condition, // page code
k_mode_page_power_condition_page_length, // page length
0x00, // reserved
0x00, // idle, standby
0x00, 0x00, 0x00, 0x00, // idle condition timer
0x00, 0x00, 0x00, 0x00, // standby condition timer
#if 0
// XOR Control Page
k_mode_page_xor_control, // page code
k_mode_page_xor_control_page_length, // page length
0x00, // options 2
0x00, // reserved
0x00, 0x00, 0x00, 0x00, // max_xor_write_size
0x00, 0x00, 0x00, 0x00, // reserved
0x00, 0x00, 0x00, 0x00, // max_regenerate_size
0x00, 0x00, 0x00, 0x00, // max_rebuild_read_size
0x00, 0x00, // reserved
0x00, 0x00, // rebuild delay
#endif
// Informational Exceptions Control
k_mode_page_info_excpt_ctl, // PageCode
k_mode_page_info_excpt_ctl_page_length, // PageLength
0x00, // PerfDExcptTestLogerr
0x00, // MRIE (method of reporting info exceptions
0x00, 0x00, 0x00, 0x00, // interval timer
0x00, 0x00, 0x00, 0x00, // report count
};
#endif
//---eof------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -