Elaborato_SO/src/client.c

57 lines
1.2 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
#include <server.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <sys/stat.h>
#include <string.h>
#include <errExit.h>
#include <signal.h>
#include <custom_msgq.h>
#include <custom_sem.h>
#include <custom_shm.h>
#include <custom_sig.h>
#include <forza4.h>
int ID;
pid_t SERVER_PID;
void checkClientinput(int argc, char *argv[]);
void setupClient(int argc, char *argv[]) {
// CHECK INPUT
checkClientinput(argc, argv);
// MSGQ
setupClientMsgq();
printf("msgq: %d\n", _MSGQID);
// SIGNAL
setupClientSignalHandler();
// SHM
setupClientShm();
printf("shm: %d\n", _SHMID);
setupClientSem();
printf("sem: %d\n", _SEMID);
}
void checkClientinput(int argc, char *argv[]){
if (argc < 2) {
printf(PHELP "./F4Client PLAYER_NAME\n"
"\t- PLAYER_NAME \t\tplayer name\n"
);
exit(EXIT_SUCCESS);
} else if (argc > 2) {
printf(PCLIENT "To many arguments!");
exit(EXIT_FAILURE);
}
if (!argv[1] || strlen(argv[1]) > MAX_NAME) {
errExitMsg("Invalid player name");
}
}