#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/ipc.h>
#include <sys/msg.h>
// Define the message structure
struct msg_buffer {
long msg_type;
char msg_text[100];
};
int main() {
key_t key;
int msgid;
// Generate unique key
key = ftok("progfile", 65);
// Create message queue and return id
msgid = msgget(key, 0666 | IPC_CREAT);
struct msg_buffer message;
message.msg_type = 1;
fgets(message.
msg_text, sizeof(message.
msg_text), stdin
);
// Send message
msgsnd(msgid, &message, sizeof(message.msg_text), 0);
printf("Message sent: %s\n", message.
msg_text); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+IAojaW5jbHVkZSA8c3RkbGliLmg+IAojaW5jbHVkZSA8c3RyaW5nLmg+IAojaW5jbHVkZSA8c3lzL2lwYy5oPiAKI2luY2x1ZGUgPHN5cy9tc2cuaD4gCiAKLy8gRGVmaW5lIHRoZSBtZXNzYWdlIHN0cnVjdHVyZSAKc3RydWN0IG1zZ19idWZmZXIgeyAKICAgIGxvbmcgbXNnX3R5cGU7IAogICAgY2hhciBtc2dfdGV4dFsxMDBdOyAKfTsgCiAKaW50IG1haW4oKSB7IAogICAga2V5X3Qga2V5OyAKICAgIGludCBtc2dpZDsgCiAKICAgIC8vIEdlbmVyYXRlIHVuaXF1ZSBrZXkgCiAgICBrZXkgPSBmdG9rKCJwcm9nZmlsZSIsIDY1KTsgCiAKICAgIC8vIENyZWF0ZSBtZXNzYWdlIHF1ZXVlIGFuZCByZXR1cm4gaWQgCiAgICBtc2dpZCA9IG1zZ2dldChrZXksIDA2NjYgfCBJUENfQ1JFQVQpOyAKIAogICAgc3RydWN0IG1zZ19idWZmZXIgbWVzc2FnZTsgCiAgICBtZXNzYWdlLm1zZ190eXBlID0gMTsgCiAKICAgIHByaW50ZigiRW50ZXIgbWVzc2FnZTogIik7IAogICAgZmdldHMobWVzc2FnZS5tc2dfdGV4dCwgc2l6ZW9mKG1lc3NhZ2UubXNnX3RleHQpLCBzdGRpbik7IAogCiAgICAvLyBTZW5kIG1lc3NhZ2UgCiAgICBtc2dzbmQobXNnaWQsICZtZXNzYWdlLCBzaXplb2YobWVzc2FnZS5tc2dfdGV4dCksIDApOyAKIAogICAgcHJpbnRmKCJNZXNzYWdlIHNlbnQ6ICVzXG4iLCBtZXNzYWdlLm1zZ190ZXh0KTsgCiAgICByZXR1cm4gMDsgCn0gCg==