started server

This commit is contained in:
Lorenzo Bianchi 2023-05-14 17:07:34 +02:00
parent 67b9cb2f39
commit f1e992a40d
7 changed files with 89 additions and 0 deletions

7
inc/errExit.h Normal file
View File

@ -0,0 +1,7 @@
#ifndef ERREXIT_H
#define ERREXIT_H
void errExit(char *func, char *where);
void errExitMsg(char *msg);
#endif

12
inc/semaphore.h Normal file
View File

@ -0,0 +1,12 @@
#ifndef SEMAPHORE_H
#define SEMAPHORE_H
union semun {
int val;
struct semid_ds * buf;
unsigned short * array;
};
void semOp (int semid, short sem_num, short sem_op);
#endif

6
inc/server.h Normal file
View File

@ -0,0 +1,6 @@
#ifndef SERVER_H
#define SERVER_H
void check_input(int argc, char *argv[]);
#endif

7
src/F4Server.c Normal file
View File

@ -0,0 +1,7 @@
#include <../inc/server.h>
int main(int argc, char *argv[]){
check_input(argc, argv);
return 0;
}

16
src/errExit.c Normal file
View File

@ -0,0 +1,16 @@
#include <stdio.h>
#include <stdlib.h>
#include <../inc/errExit.h>
void errExit(char *func, char *where) {
fprintf(stderr, "\033[91m<Error>\033[39m %s failed in %s\n", func, where);
perror("");
exit(1);
}
void errExitMsg(char *msg) {
fprintf(stderr, "\033[91m<Error>\033[39m\n");
perror(msg);
exit(1);
}

12
src/semaphore.c Normal file
View File

@ -0,0 +1,12 @@
#include <sys/sem.h>
#include <../inc/semaphore.h>
#include <../inc/errExit.h>
void semOp(int semid, short sem_num, short sem_op) {
struct sembuf sop = {.sem_num = sem_num, .sem_op = sem_op, .sem_flg = 0};
if (semop(semid, &sop, 1) == -1) {
errExit("semop", "semOp");
}
}

29
src/server.c Normal file
View File

@ -0,0 +1,29 @@
#include <stdio.h>
#include <stdlib.h>
#include <../inc/server.h>
#include <../inc/errExit.h>
void check_input(int argc, char *argv[]){
if (argc < 5) {
//TODO: print help
exit(0); //TODO: togliere
} else if (argc > 5) {
//TODO: print error
exit(EXIT_FAILURE);
}
int collums = atoi(argv[1]);
int rows = atoi(argv[2]);
char *player1 = argv[3];
char *player2 = argv[4];
if (collums<5 || rows<5) {
errExitMsg("To few rows or collums");
}
if (player1 == NULL || player2 == NULL) {
errExitMsg("Invalid player names");
}
}