00001 #include <stdio.h>
00002 #include <sys/shm.h>
00003 #include <sys/stat.h>
00004 #include "map_definitions.h"
00005
00006 int main ()
00007 {
00008 int segment_id;
00009 char *shared_memory;
00010 char c;
00011 int i, j ;
00012 const int shared_segment_size = sizeof(char) * MAP_WIDTH * MAP_HEIGHT;
00013
00014
00015 segment_id = shmget (SHM_MAP_KEY, shared_segment_size,
00016 S_IRUSR );
00017
00018
00019 shared_memory = (char*) shmat (segment_id, (void*) 0, 0);
00020
00021
00022 do{
00023 printf("\n+");
00024 for(i=0;i<MAP_WIDTH;i++) printf("-");
00025 printf("+\n");
00026 for (j=0;j<MAP_HEIGHT;j++){
00027 printf("|");
00028 for(i=0;i<MAP_WIDTH;i++) printf("%c", *(shared_memory+i+j*MAP_WIDTH));
00029 printf("|\n");
00030 }
00031 printf("+");
00032 for(i=0;i<MAP_WIDTH;i++) printf("-");
00033 printf("+\n");
00034 printf("\n\nPress any key to reload map, q to quit\n");
00035 scanf ("%c",&c);
00036
00037 } while (c!= 'q');
00038
00039 shmdt (shared_memory);
00040
00041 return 0;
00042 }