#include #include #include #include #include #include #define PROJECTID 0xABCDEF int main( void ) { key_t key; int id,size,flag; struct shmid_ds buffer; key = ftok( "/tmp",PROJECTID ); flag = IPC_CREAT | 0x100 | 0x80; size = 1024*64; id = shmget( key,size,flag ); if( id>0 ) { printf( "SEGMENT [key=0x%x,id=%u],process=%u\n", id,(unsigned)key,(unsigned)getpid() ); (void)shmctl( id,IPC_STAT,&buffer ); printf( "właściciel %u\n",(unsigned)(buffer.shm_cpid) ); printf( "rozmiar %u [B]\n",(unsigned)(buffer.shm_segsz) ); printf( "%s\n",ctime( &(buffer.shm_ctime) ) ); (void)shmctl( id,IPC_RMID,&buffer ); } else{ perror( "!.!.!..shmget()..." ); exit( 1 ); } return 0; }