Операционные системы. Замятин А.В - 115 стр.

UptoLike

Составители: 

115
#include <fcntl.h>
#define SVMSG_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
int main(int argc, char **argv)
{
int c, oflag, mqid;
oflag = SVMSG_MODE | IPC_CREAT;
while ( (c = getopt(argc, argv, "e")) != -1) {
switch (c) {
case 'e':
oflag |= IPC_EXCL;
break;
}
}
if (optind != argc - 1)
{
printf("usage: msgcreate [ -e ] <path_to_file>");
return 0;
}
mqid = msgget(ftok(argv[optind], 0), oflag);
return 0;
}
Программа msgsnd помещает в очередь одно сообщение заданной
длины и типа. В программе создается указатель на структуру msgbuf обще-
го вида, а затем путем вызова callос выделяется место под реальную струк-
туру (буфер записи) соответствующего размера.
#include <stdio.h>
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <unistd.h>
#include <error.h>
#include <fcntl.h>
#define MSG_W (S_IWUSR)
int main(int argc, char **argv)