Elaborato_SO/inc/custom_msgq.h

56 lines
972 B
C
Raw Normal View History

2023-05-19 14:48:00 +02:00
#ifndef CUSTOM_MSG_H
#define CUSTOM_MSG_H
#include <server.h> //FIXME: non penso vada incluso ma serve al momento
2023-05-25 10:12:14 +02:00
#include <structures.h>
2023-05-19 14:48:00 +02:00
#define MAX_NAME 16
2023-05-29 15:01:11 +02:00
#define MSGQKEY '9'
2023-05-23 15:47:34 +02:00
extern int _MSGQID;
2023-05-19 14:48:00 +02:00
#define MSG 1
#define MOVE 2
#define PLAYER 3
#define GAME_END 4
typedef struct {
long mtype; // type 1
int player_id;
2023-05-31 11:52:32 +02:00
pid_t server_pid;
2023-05-19 14:48:00 +02:00
input_server_t server_in;
} msg_t;
typedef struct {
long mtype; // type 2
int move;
} move_t;
typedef struct {
long mtype; // type 3
int id;
char name_player[MAX_NAME];
pid_t pid;
} player_ds;
typedef struct {
long mtype; // type 4
int winner; // -1 se draw
} game_end_t;
2023-05-22 10:27:46 +02:00
void setupServerMsgq();
2023-05-29 12:35:04 +02:00
void setupClientMsgq();
2023-05-19 14:48:00 +02:00
void rcvMsg(msg_t *msg);
void rcvMove(move_t *move);
void rcvPlayer(player_ds *player);
void rcvGame_end(game_end_t *game);
void sndMsg(msg_t *msg);
void sndMove(move_t *move);
void sndPlayer(player_ds *player);
void sndGame_end(game_end_t *game);
#endif