Maybe I am missing something but the following manpages don't really need sys/types.h.
I compiled some small programs without sys/types.h. thanks, amit Index: mincore.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/mincore.2,v retrieving revision 1.10 diff -u mincore.2 --- mincore.2 31 May 2007 19:19:33 -0000 1.10 +++ mincore.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm mincore .Nd determine residency of memory pages .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn mincore "void *addr" "size_t len" "char *vec" Index: minherit.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/minherit.2,v retrieving revision 1.13 diff -u minherit.2 --- minherit.2 31 May 2007 19:19:33 -0000 1.13 +++ minherit.2 27 Apr 2011 03:22:38 -0000 @@ -36,7 +36,6 @@ .Nm minherit .Nd control the inheritance of pages .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn minherit "void *addr" "size_t len" "int inherit" Index: mlock.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/mlock.2,v retrieving revision 1.16 diff -u mlock.2 --- mlock.2 31 May 2007 19:19:33 -0000 1.16 +++ mlock.2 27 Apr 2011 03:22:38 -0000 @@ -38,7 +38,6 @@ .Nm munlock .Nd lock (unlock) physical pages in memory .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn mlock "void *addr" "size_t len" Index: mlockall.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/mlockall.2,v retrieving revision 1.5 diff -u mlockall.2 --- mlockall.2 26 Jun 2008 05:42:05 -0000 1.5 +++ mlockall.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm munlockall .Nd lock (unlock) the address space of a process .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn mlockall "int flags" Index: mmap.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/mmap.2,v retrieving revision 1.38 diff -u mmap.2 --- mmap.2 11 Apr 2011 17:46:19 -0000 1.38 +++ mmap.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm mmap .Nd map files or devices into memory .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft void * .Fn mmap "void *addr" "size_t len" "int prot" "int flags" "int fd" "off_t offset" Index: mprotect.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/mprotect.2,v retrieving revision 1.15 diff -u mprotect.2 --- mprotect.2 12 Feb 2010 21:49:10 -0000 1.15 +++ mprotect.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm mprotect .Nd control the protection of pages .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn mprotect "void *addr" "size_t len" "int prot" Index: msync.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/msync.2,v retrieving revision 1.21 diff -u msync.2 --- msync.2 31 May 2007 19:19:33 -0000 1.21 +++ msync.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm msync .Nd synchronize a mapped region .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn msync "void *addr" "size_t len" "int flags" Index: munmap.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/munmap.2,v retrieving revision 1.14 diff -u munmap.2 --- munmap.2 31 Jan 2009 16:52:15 -0000 1.14 +++ munmap.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm munmap .Nd remove a mapping .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/mman.h> .Ft int .Fn munmap "void *addr" "size_t len" Index: ptrace.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/ptrace.2,v retrieving revision 1.26 diff -u ptrace.2 --- ptrace.2 16 Sep 2008 19:41:06 -0000 1.26 +++ ptrace.2 27 Apr 2011 03:22:38 -0000 @@ -9,7 +9,6 @@ .Nm ptrace .Nd process tracing and debugging .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/ptrace.h> .Ft int .Fn ptrace "int request" "pid_t pid" "caddr_t addr" "int data" Index: shmat.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/shmat.2,v retrieving revision 1.14 diff -u shmat.2 --- shmat.2 31 May 2007 19:19:33 -0000 1.14 +++ shmat.2 27 Apr 2011 03:22:38 -0000 @@ -38,7 +38,6 @@ .Nm shmdt .Nd map/unmap shared memory .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/ipc.h> .Fd #include <sys/shm.h> .Ft void * Index: shmctl.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/shmctl.2,v retrieving revision 1.13 diff -u shmctl.2 --- shmctl.2 31 May 2007 19:19:33 -0000 1.13 +++ shmctl.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm shmctl .Nd shared memory control operations .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/ipc.h> .Fd #include <sys/shm.h> .Ft int Index: shmget.2 =================================================================== RCS file: /cvs/src/lib/libc/sys/shmget.2,v retrieving revision 1.16 diff -u shmget.2 --- shmget.2 5 Apr 2008 14:56:39 -0000 1.16 +++ shmget.2 27 Apr 2011 03:22:38 -0000 @@ -37,7 +37,6 @@ .Nm shmget .Nd get shared memory area identifier .Sh SYNOPSIS -.Fd #include <sys/types.h> .Fd #include <sys/ipc.h> .Fd #include <sys/shm.h> .Ft int
