What is the definition of hamza?

In Arabic script, a hamza is a diacritical mark placed over other letters, or a letter on its own indicating the presence of a glottal stop.