At least three people have been taken to hospital after a gunman opened fire at a Greyhound bus station in Richmond, Virginia.

Two Virginia state troopers and a female civilian were shot in the attack, said police spokeswoman Corinne Geller.

She said a male suspect was in custody after the attack on Thursday afternoon.

Ms Geller gave no details on the condition of the casualties.

A local NBC station is reporting that six people have been injured, two critically.

NBC12’s Mike Valerio¬†quotes¬†police sources as saying a man walked up to an officer and shot him in the chest.

US Homeland Security officials are at the scene among dozens of officers, reports a local CBS station.

According to the Richmond Times-Dispatch, witnesses reported seeing up to 10 muzzle flashes from gunfire.

The station is on a main road near the city centre, a minor league baseball stadium, a residential district and restaurants.