Signal handler question

Hemos estado cubriendo señales en C / Unix, y el profesor dio un ejemplo en clase que me está confundiendo. En el método principal a continuación, la función de señal se llama con los argumentos incluidos.

main()
{
  signal(SIGALRM, handler);   // install handler

handler es una función definida comostatic void handler(int param){

Según el Ubuntuman 7 signal, SIGALRM es un valor entero 14, y handler es una función definida por el programador. Sin embargo, el parámetro entero no se define explícitamente en la llamada de señal, entonces, ¿cómo recibe el controlador el argumento?

EDITA

Gracias por la ayuda. El verdadero problema que me hizo tropezar fue que la clase no ha cubierto typedefs, así que no sabía cómo se incorporó a la función, y esa fue la pieza que faltaba.

Respuestas a la pregunta(5)

Su respuesta a la pregunta