Message structure and partial “server” code -using IPC mechanism message queue- seen below. a. Write needed code for creating message queue b. Write needed code for deleting message queue c. Write the corresponding partial “client” code for this partial server. Message Structure: typedef struct { long int msg_to; // Message in queue for this type long int msg_fm; // Placed in the queue by this type char buffer[BUFSIZ]; // The actual message }MESSAGE; Partial Server Code: 1. while (1) {
The Message structure and partial “server” code -using IPC
a. Write needed code for creating message queue
b. Write needed code for deleting message queue
c. Write the corresponding partial “client” code for this partial server.
Message Structure:
typedef struct {
long int msg_to; // Message in queue for this type
long int msg_fm; // Placed in the queue by this type
char buffer[BUFSIZ]; // The actual message
}MESSAGE;
Partial Server Code:
1. while (1) {
2. memset( msg.buffer, 0x0, BUFSIZ );
3. if ((n=msgrcv(mid, &msg, BUFSIZ, SERVER, 0)) == -1 ) {
4. perror("Server: msgrcv");
5. return 2;
6. } else if (n == 0) break;
7. process_msg(msg.buffer, strlen(msg.buffer));
8. msg.msg_to = msg.msg_fm;
9. msg.msg_fm = SERVER;
10. n += sizeof(msg.msg_fm);
11. if (msgsnd(mid, &msg, n, 0) == -1 ) {
12. perror("Server: msgsnd");
13. return 3;
14. }
15. }
![3.
The Message structure and partial "server" code -using IPC mechanism message queue- seen
below.
Write needed code for creating message queue
Write needed code for deleting message queue
Write the corresponding partial “client" code for this partial server.
а.
b.
C.
Message Structure:
typedef struct {
long int msg_to;
long int msg_fm;
char buffer[BUFSIZ];
}MESSAGE;
// Message in queue for this type
// Placed in the queue by this type
// The actual message
Partial Server Code:
while (1) {
memset( msg.buffer, 0x0, BUFSIZ );
if ((n=msgrcv(mid, &msg, BUFSIZ, SERVER, 0)) == -1 ) {
perror("Server: msgrcv");
return 2;
} else if (n == 0) break;
process_msg(msg.buffer, strlen(msg.buffer));
msg.msg_to = msg.msg_fm;
msg.msg_fm = SERVER;
n += sizeof(msg.msg_fm);
if (msgsnd(mid, &msg, n, 0) == -1){
12.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
perror("Server: msgsnd");
13.
return 3;
14. }
15. }](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2Fa3ba23ed-c7f0-46ae-8248-c092f69c266f%2F7dc3b005-92a1-4f16-a324-edaf75956b9e%2Fctbve18_processed.png&w=3840&q=75)
![](/static/compass_v2/shared-icons/check-mark.png)
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)