/*
 * This is a sample use of mmap() when used as a way to edit a file
 */

#include <string.h>
#include <sys/mman.h>
#include <syscall.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>

int main(int argcchar **argvchar **envp) {
        int fd=open("test"O_RDWR);
        char *data;
        /*
         * We want to open "fd" as memory in data, with memory which can be shared, read and write,
         * without any want about base address
         */

        data=mmap(NULL100PROT_READ|PROT_WRITEMAP_SHAREDfd0);
        printf("%s\n"data);
        //Write to a file using strcpy !
        strcpy(data"test\n");
        //Ok now stop playing
        munmap(data100);
        close(fd);
        return 0;
}