feat: minor changes

This commit is contained in:
2025-10-10 14:06:07 +03:00
parent 5dbe188b08
commit 1ecce31da4
3 changed files with 27 additions and 41 deletions

View File

@ -6,19 +6,12 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/msg.h>
#define MQ_KEY1 1234L
#define MQ_KEY2 2345L
#define MAXMESGDATA 4096
struct mymesg {
long mesg_len;
long mesg_type;
char mesg_data[MAXMESGDATA];
};
#include "common.h"
void client(int readid, int writeid);
ssize_t mesg_send(int id, struct mymesg *mptr);
ssize_t mesg_recv(int id, struct mymesg *mptr);
ssize_t mesg_send(int id, struct msg *mptr);
ssize_t mesg_recv(int id, struct msg *mptr);
int main(int argc,char **argv)
{
@ -57,7 +50,7 @@ void client(int readid, int writeid)
{
size_t len;
ssize_t n;
struct mymesg ourmesg;
struct msg ourmesg;
printf("Client:readid=%d writeid=%d\n",readid,writeid);
printf("Input file name, please\n");
@ -81,18 +74,18 @@ void client(int readid, int writeid)
write(1,ourmesg.mesg_data, n);
}
ssize_t mesg_send(int id, struct mymesg *mptr)
ssize_t mesg_send(int id, struct msg *mptr)
{
return(msgsnd(id, &(mptr->mesg_type),mptr->mesg_len, 0));
}
ssize_t mesg_recv(int id, struct mymesg *mptr)
ssize_t mesg_recv(int id, struct msg *mptr)
{
ssize_t n;
n=msgrcv(id, &(mptr->mesg_type),MAXMESGDATA,mptr->mesg_type, 0);
mptr->mesg_len=n;
printf("Client: n=%d\n",n);
printf("Client: n=%ld\n",n);
return(n);
}

14
OSs/lab6/common.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef COMMON_H_
#define COMMON_H_
#define MQ_KEY1 1234L
#define MQ_KEY2 2345L
#define MAXMESGDATA 4096
struct msg {
long mesg_len;
long mesg_type;
char mesg_data[MAXMESGDATA];
};
#endif

View File

@ -6,19 +6,12 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/msg.h>
#define MQ_KEY1 1234L
#define MQ_KEY2 2345L
#define MAXMESGDATA 4096
struct mymesg {
long mesg_len;
long mesg_type;
char mesg_data[MAXMESGDATA];
};
#include "common.h"
void server(int readid, int writeid);
ssize_t mesg_send(int id, struct mymesg *mptr);
ssize_t mesg_recv(int id, struct mymesg *mptr);
ssize_t mesg_send(int id, struct msg *mptr);
ssize_t mesg_recv(int id, struct msg *mptr);
int main(int argc,char **argv)
{
@ -27,25 +20,11 @@ int main(int argc,char **argv)
printf("Server: Hello tvk!\n");
/*
if((key1=ftok("/home/tvk/IPC/input.txt",'A'))<0)
{
printf("Server: can not get key!\n"); exit(1);
}
printf("key1=%x\n",key1);
*/
if((readid=msgget(MQ_KEY1, 0666|IPC_CREAT)) < 0)
{
printf("Server: can not get readid!\n"); exit(1);
}
printf("Server: readid=%d\n",readid);
/*
if((key2=ftok("/home/tvk/IPC/server_msg.c",'B'))<0)
{
printf("Server: can not get key!\n"); exit(1);
}
printf("key2=%x\n",key2);
*/
if((writeid=msgget(MQ_KEY2, 0666|IPC_CREAT)) < 0)
{
printf("Server: can not get readid!\n"); exit(1);
@ -61,7 +40,7 @@ void server(int readid, int writeid)
{
FILE *fp;
ssize_t n;
struct mymesg ourmesg;
struct msg ourmesg;
printf("Server:readid=%d writeid=%d\n",readid,writeid);
@ -97,12 +76,12 @@ void server(int readid, int writeid)
mesg_send(writeid,&ourmesg);
}
ssize_t mesg_send(int id, struct mymesg *mptr)
ssize_t mesg_send(int id, struct msg *mptr)
{
return(msgsnd(id, &(mptr->mesg_type),mptr->mesg_len, 0));
}
ssize_t mesg_recv(int id, struct mymesg *mptr)
ssize_t mesg_recv(int id, struct msg *mptr)
{
ssize_t n;
n=msgrcv(id, &(mptr->mesg_type),MAXMESGDATA,mptr->mesg_type, 0);