
#ifndef UTILS_H_
#define UTILS_H_

#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include "estructures.h"


/*
 *Fitxers de configuracio
 */
#define LIMIT_CONFIG_FILE "limit.cfg"					//Limits de recursos
#define SYSCALL_CONFIG_FILE "syscall.cfg"				//Limits de crides a sistema
#define SYSCALL_TABLE_GENERATOR "syscalltable.sh"		//Script que obté la taula de crides a sistema
#define SYSCALL_TABLE_CONFIG_FILE "syscalltable.cfg" 	//Fitxer on es guarda la taula generada per l'script anterior


//Numero maxim de vegades que es pot executar una syscall
#define MAXCALLS 400

int file_exists (char * fileName);
void generate_syscall_table();
void load_limit_config(one_limit *limits);
void load_syscall_table(one_call *syscalls, int *syscalltable_size);
void load_syscall_limits(one_call *syscalls, int *syscalltable_size);
void set_resource_limits(one_limit *limits);

#endif /* UTILS_H_ */
