タイトルがすべてを物語っています。
std::chrono::system_clock::duration 値を受け取り、それを timeval sruct に変換する必要がある関数を実装して、システム関数に渡すことができるようにする必要があります。
dを入力期間値とし、tvをconvert関数によって埋められた出力timeval 構造体とします。注: 期間が負の場合、この関数は timeval を 0 に設定します。
void convert( const std::chrono::system_clock::duration &d, timeval &tv )
{
chrono::microseconds usec = chrono::duration_cast<chrono::microseconds>(d);
if( usec <= chrono::microseconds(0) )
tv.tv_sec = tv.tv_usec = 0;
else
{
tv.tv_sec = usec.count()/1000000;
tv.tv_usec = usec.count()%1000000;
}
}