-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfuncli.h
More file actions
75 lines (63 loc) · 2.17 KB
/
funcli.h
File metadata and controls
75 lines (63 loc) · 2.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
\file funcli.h
\author Marco Ponza
\brief header per la libreria di funzioni per msgcli
Si dichiara che ogni singolo bit presente in questo file è solo ed esclusivamente "farina del sacco" del rispettivo autore :D
*/
#ifndef __FUNCLI__H
#define __FUNCLI__H
/** ========== Variabili globali ========== */
extern pthread_t handler; /* variabile globale per far terminare l handler in caso di %EXIT */
extern pthread_t sender; /* variabile globale per far terminare il sender in caso di SIGINT o SIGTERM */
extern pthread_t receiver; /* variabile globale per far terminare il receiver in caso di SIGINT o SIGTERM */
/** Esegue il locking sulla variabile mtx
\param mtx variabile per la mutua esclusione
*/
void Lock (pthread_mutex_t * mtx);
/** Esegue l'unlocking sulla variabile mtx
\param mtx variabile per la mutua esclusione
*/
void Unlock (pthread_mutex_t * mtx);
/** Chiude la socket gestendo l'errore
* \param skt, socket da chiudere
*/
void Close_skt (int skt);
/** Lettura dalla socket gestendo l'errore
*
* \param skt, socket da cui leggere
* \param msg, messaggio da leggere
*
* \retval n, numero di byte letti
*/
int Receive_skt (int skt, message_t * msg);
/** Scrittura sulla socket gestendo l'errore
*
* \param skt, socket su cui scrivere
* \param msg, messaggio da scrivere
*
* \retval n, numero di byte scritti
*/
int Send_skt (int skt, message_t * msg);
/** Funzione che permette di valutare se una stringa contiene solo
* caratteri definiti dal nostro "standard" per il progetto
*
* \param str, stringa da valutare
* \retval 1, se la stringa è ben formata
* \retval 0, se non lo è
*/
int Is_good_str (char * str);
/** Funzione che permette di valutare se una stringa ripsetta la sintassi
* per l'invio di un messaggio MSG_TO_ONE
*
* \param str, stringa da valutare
* \retval 1, se rispetta la sintassi "destinatario messaggio"
* \retval 0, se non la rispetta
*/
int To_one_good_str (char * str);
/** Funzione che shifta una stringa di n posizioni verso sinistra
*
* \param str, stringa da shiftare
* \param n, valore che indica di quanto shiftare str
*/
void Left_shift (char * str, int n);
#endif