US could be in Iraq for years: general