MAP_ANONYMOUS con el estándar C99

Tengo una aplicación que usa la llamada al sistema mmap, tuve un problema para que se compilara durante horas al ver por qué estaba obteniendo MAP_ANON y MAP_ANONYMOUS sin declarar, tenía una sección de código más pequeña que usé y vi que podría compilarlo bien, así que probé solo una compilación básica y funcionó, vi que falla cuando agrega -std = c99. ¿Hay alguna razón específica por la que MAP_ANON y MAP_ANONYMOUS no sean válidos en el estándar C99? Sé que POSIX no los define, pero sí los define BSD SOURCE, así que solo quiero saber por qué.

Respuestas a la pregunta(1)

Su respuesta a la pregunta