Home | History | Annotate | Download | only in examples
      1 #include <stdlib.h>
      2 #include <stdio.h>
      3 #include <sys/stat.h>
      4 #include <sys/mman.h>
      5 #include <string.h>
      6 
      7 #ifndef	MAP_NORESERVE
      8 #define	MAP_NORESERVE	0
      9 #endif
     10 
     11 volatile char ch;
     12 
     13 main(){
     14     struct stat statbuf;
     15     uchar *buf;
     16     fstat(0, &statbuf);
     17     buf = mmap(NULL, statbuf.st_size, PROT_READ, MAP_SHARED|MAP_NORESERVE,
     18 	0, 0);
     19     if(buf != (uchar*)(-1)){
     20 	uchar *cur, *lim = &buf[statbuf.st_size];
     21 	for(cur = buf; buf != lim; ++cur){
     22 	    ch = *cur;
     23 	}
     24 	munmap(buf, statbuf.st_size);
     25     }
     26 }
     27