Untitled

mail@pastecode.io avatar
unknown
plain_text
2 years ago
702 B
3
Indexable
Never
#include<sys/types.h>
#include<sys/ipc.h>
#include<sys/msg.h>
#include<stdio.h>

struct msqid_ds *buf;	//zmienna przez ktora przekazywane sa parametry operacji

struct msgbuf {	//struktura komunikatu
	long mtype;	//typ komunikatu
	int mnumber;	//tresc komunikatu
};

struct msgbuf bufor;

int main()
{
	int id_msgget, id_ftok;	//identyfikator kolejki
	
	id_ftok = ftok("zad3a.c",120);
	id_msgget = msgget(id_ftok, IPC_CREAT|0660);
	
	int rozmiar = sizeof(struct msgbuf) - sizeof(bufor.mtype);	//rozmiar komunikatu
	msgrcv(id_msgget, &bufor, rozmiar, 1, 0);	//odebranie komunikatu
	printf("Odebrany komunikat: %d\n", bufor.mnumber);
	
	msgctl(id_msgget, IPC_RMID, buf);	//usuniecie kolejki

	return 0;
}