From 1ecce31da498b75ca9f70d99925dc900c7420a8a Mon Sep 17 00:00:00 2001 From: ElectronixTM Date: Fri, 10 Oct 2025 14:06:07 +0300 Subject: [PATCH] feat: minor changes --- OSs/lab6/client_msg.c | 21 +++++++-------------- OSs/lab6/common.h | 14 ++++++++++++++ OSs/lab6/server_msg.c | 33 ++++++--------------------------- 3 files changed, 27 insertions(+), 41 deletions(-) create mode 100644 OSs/lab6/common.h diff --git a/OSs/lab6/client_msg.c b/OSs/lab6/client_msg.c index 78be4c7..7a95a4f 100644 --- a/OSs/lab6/client_msg.c +++ b/OSs/lab6/client_msg.c @@ -6,19 +6,12 @@ #include #include #include -#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); } diff --git a/OSs/lab6/common.h b/OSs/lab6/common.h new file mode 100644 index 0000000..e8b510d --- /dev/null +++ b/OSs/lab6/common.h @@ -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 diff --git a/OSs/lab6/server_msg.c b/OSs/lab6/server_msg.c index 2ddc3b5..ace7964 100644 --- a/OSs/lab6/server_msg.c +++ b/OSs/lab6/server_msg.c @@ -6,19 +6,12 @@ #include #include #include -#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);