fprintf(file, "#define _GNU_SOURCE 1");
fprintf(file, "#define _GNU_SOURCE 1\n");
WriteIncludes(FILE *file){    fprintf(file, "#ifndef _GNU_SOURCE\n");    fprintf(file, "#define _GNU_SOURCE 1");    fprintf(file, "#endif\n\n");    if (IsKernelServer)    {	/*	 *	We want to get the user-side definitions of types	 *	like task_t, ipc_space_t, etc. in mach/mach_types.h.	 */	fprintf(file, "#undef\tKERNEL\n");	if (InternalHeaderFileName != strNULL)	{	    register char *cp;	    /* Strip any leading path from InternalHeaderFileName. */	    cp = strrchr(InternalHeaderFileName, '/');	    if (cp == 0)		cp = InternalHeaderFileName;	    else		cp++;	/* skip '/' */	    fprintf(file, "#include \"%s\"\n", cp);	}    }    if (UserHeaderFileName != strNULL)    {	register char *cp;	/* Strip any leading path from UserHeaderFileName. */	cp = strrchr(UserHeaderFileName, '/');	if (cp == 0)	    cp = UserHeaderFileName;	else	    cp++;	/* skip '/' */	fprintf(file, "#include \"%s\"\n", cp);    }    fprintf(file, "#define EXPORT_BOOLEAN\n");    fprintf(file, "#include <mach/boolean.h>\n");    fprintf(file, "#include <mach/kern_return.h>\n");    fprintf(file, "#include <mach/message.h>\n");    fprintf(file, "#include <mach/notify.h>\n");    fprintf(file, "#include <mach/mach_types.h>\n");    fprintf(file, "#include <mach/mig_errors.h>\n");    fprintf(file, "#include <mach/mig_support.h>\n");    fprintf(file, "#include <mach/msg_type.h>\n");    fprintf(file, "/* LINTLIBRARY */\n");    fprintf(file, "\n");}