9 void *vga_shm_get(void) {
14 //create shared memory
15 key = ftok(VGA_SHM, VGA_SHM_PRJ_ID);
17 fprintf(stderr, "error preparing shared memory.\n");
21 if((shmid = shmget(key, VGA_SHM_SIZE, IPC_CREAT|IPC_EXCL|0666)) == -1)
23 //printf("Shared memory segment exists - opening as client\n");
25 /* Segment probably already exists - try as a client */
26 if((shmid = shmget(key, VGA_SHM_SIZE, 0)) == -1)
28 fprintf(stderr, "error opening shared memory.\n");
33 /* Attach (map) the shared memory segment into the current process */
34 if((ret = shmat(shmid, 0, 0)) == (void*)-1)
36 fprintf(stderr, "error attaching shared memory.\n");
43 void vga_shm_free(void* addr) {