Desde la línea 123 de sys.c :
void *sys_call_table[__NR_syscalls] =
{
[0 ... __NR_syscalls-1] = sys_ni_syscall,
#include <asm/unistd.h>
};
sys_call_tablees un puntero genérico a matrices, puedo ver eso. Sin embargo, cuál es la notación:
[0 ... __NR_syscalls-1]
¿Qué es el ...?
EDITAR:
Aprendí otro truco de C aquí: #include <asm/unistd.h>será preprocesado y reemplazado con su contenido y asignado a [0 ... _NR_syscalls-1].

void (*sys_call_table)[__NR_syscalls]char *argv[]. Fijo.Respuestas:
Es la inicialización mediante inicializadores designados .
La inicialización basada en rango es una extensión gnu gcc.
No es portátil. Compilar con
-pedanticte lo digo.¿Cómo funciona aquí?
El preprocesador reemplaza
#include <asm/unistd.h>con su contenido real ( define diversas constantes y tipos simbólicos, y declara diversas funciones ) en la construcción basada en rango, que luego se utiliza para inicializar la matriz de punteros.fuente