require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_RF__RF_UTILS_H_)) {
    eval 'sub _RF__RF_UTILS_H_ () {1;}' unless defined(&_RF__RF_UTILS_H_);
    require 'rf_types.ph';
    require 'rf_alloclist.ph';
    require 'rf_threadstuff.ph';
    eval 'sub RF_USEC_PER_SEC () {1000000;}' unless defined(&RF_USEC_PER_SEC);
    eval 'sub RF_TIMEVAL_TO_US {
        my($_t_) = @_;
	    eval q(((($_t_). &tv_sec) *  &RF_USEC_PER_SEC + ($_t_). &tv_usec));
    }' unless defined(&RF_TIMEVAL_TO_US);
    eval 'sub RF_TIMEVAL_DIFF {
        my($_start_,$_end_,$_diff_) = @_;
	    eval q( &do {  &if (($_end_)-> &tv_usec < ($_start_)-> &tv_usec) { ($_diff_)-> &tv_usec = (($_end_)-> &tv_usec +  &RF_USEC_PER_SEC) - ($_start_)-> &tv_usec; ($_diff_)-> &tv_sec = (($_end_)-> &tv_sec-1) - ($_start_)-> &tv_sec; }  &else { ($_diff_)-> &tv_usec = ($_end_)-> &tv_usec - ($_start_)-> &tv_usec; ($_diff_)-> &tv_sec = ($_end_)-> &tv_sec - ($_start_)-> &tv_sec; } }  &while (0));
    }' unless defined(&RF_TIMEVAL_DIFF);
}
1;
