Please name the arguments where you pass fixed values. Also, the first argument should be a pointer, i.e.:

```c
p = mmap (/* addr = */ NULL, sb.st_size, PROT_READ, MAP_SHARED, fd, /* offset = */ 0);
```