started server
This commit is contained in:
parent
67b9cb2f39
commit
f1e992a40d
|
@ -0,0 +1,7 @@
|
|||
#ifndef ERREXIT_H
|
||||
#define ERREXIT_H
|
||||
|
||||
void errExit(char *func, char *where);
|
||||
void errExitMsg(char *msg);
|
||||
|
||||
#endif
|
|
@ -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
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef SERVER_H
|
||||
#define SERVER_H
|
||||
|
||||
void check_input(int argc, char *argv[]);
|
||||
|
||||
#endif
|
|
@ -0,0 +1,7 @@
|
|||
#include <../inc/server.h>
|
||||
|
||||
int main(int argc, char *argv[]){
|
||||
check_input(argc, argv);
|
||||
|
||||
return 0;
|
||||
}
|
|
@ -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);
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
|
@ -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");
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue