CARS
Defines

/home/nicola/Dropbox/Progetto SOL/CARS_terfram/src/commons.h File Reference

File contenente le dichiarazioni di macro condivise fra il server ed il client. More...

#include "settings.h"
#include <stdlib.h>
#include <stdio.h>

Go to the source code of this file.

Defines

#define __COMMONS_H
#define ec_neg1(s, m)   if ( (s) == -1 ) {perror(m); exit(errno);}
#define ec_null(s, m)   if ( (s) == NULL ) {perror(m); exit(errno);}
#define ec_neg1_c(s, m, c)   if ( (s) == -1 ) {perror(m); c}
#define ec_null_c(s, m, c)   if ( (s) == NULL ) {perror(m); c}
#define ec_zero(s, m)   if ( (s) != 0) {perror(m); exit(errno);}
#define ec_zero_c(s, m, c)   if ( (s) != 0) {perror(m); c}
#define print(s)   {printf(s); fflush(stdout);}
#define print_1(s, p)   {printf(s, p); fflush(stdout);}
#define print_2(s, p, b)   {printf(s, p, b); fflush(stdout);}
#define err_print(s)   {fprintf(stderr, s);}
#define err_print_1(s, p)   {fprintf(stderr, s, p);}
#define sys_print(s)   {printf(s); fflush(stdout);}
#define sys_print_1(s, p)   {printf(s, p); fflush(stdout);}
#define sys_print(s)
#define sys_print_1(s, p)

Detailed Description

File contenente le dichiarazioni di macro condivise fra il server ed il client.

Author:
Nicola Corti Si dichiara che il contenuto di questo file e' in ogni sua parte opera originale dell' autore.

Define Documentation

#define ec_neg1 (   s,
 
)    if ( (s) == -1 ) {perror(m); exit(errno);}

Se il valore ritornano dall'esecuzione di s vale -1, esegue perror con messaggio m ed esce ritornando errno

Referenced by main().

#define ec_neg1_c (   s,
  m,
 
)    if ( (s) == -1 ) {perror(m); c}

Se il valore ritornano dall'esecuzione di s vale -1, esegue perror con messaggio m ed esegue il comando/i comandi indicati come C

Referenced by listen_thread(), match(), signal_handler(), and worker_thread().

#define ec_null (   s,
 
)    if ( (s) == NULL ) {perror(m); exit(errno);}

Se il valore ritornano dall'esecuzione di s vale NULL, esegue perror con messaggio m ed esce ritornando errno

Referenced by main().

#define ec_null_c (   s,
  m,
 
)    if ( (s) == NULL ) {perror(m); c}

Se il valore ritornano dall'esecuzione di s vale NULL, esegue perror con messaggio m ed esegue il comando/i comandi indicati come C

Referenced by main().

#define ec_zero (   s,
 
)    if ( (s) != 0) {perror(m); exit(errno);}

Se il valore ritornano dall'esecuzione di s e' diverso da zero, esegue perror con messaggio m ed esce ritornando errno

Referenced by main().

#define ec_zero_c (   s,
  m,
 
)    if ( (s) != 0) {perror(m); c}

Se il valore ritornano dall'esecuzione di s e' diverso da zero, esegue perror con messaggio m ed esegue il comando/i comandi indicati come C

Referenced by listen_thread(), match(), signal_handler(), and worker_thread().

#define err_print (   s)    {fprintf(stderr, s);}

Stampa la stringa S su standard error secondo la classica sintassi di printf.

Referenced by main(), and print_invalid_command().

#define err_print_1 (   s,
 
)    {fprintf(stderr, s, p);}

Stampa la stringa S su standard error secondo la classica sintassi di printf, dando la possibilita' di indicare un parametro.

Referenced by main(), printIncomingMessage(), tryStartThread(), and worker_thread().

#define print (   s)    {printf(s); fflush(stdout);}

Stampa la stringa S, secondo la sintassi del comando printf, e svuota il buffer di standard output

Referenced by listen_thread(), main(), match(), printEnv(), printIncomingMessage(), and signal_handler().

#define print_1 (   s,
 
)    {printf(s, p); fflush(stdout);}

Stampa la stringa S, secondo la sintassi del comando printf, dando la possibilita' di indicare un parametro, e svuota il buffer di standard output

Referenced by goingBackToSleep(), main(), match(), printEnv(), printIncomingMessage(), and worker_thread().

#define print_2 (   s,
  p,
 
)    {printf(s, p, b); fflush(stdout);}

Stampa la stringa S, secondo la sintassi del comando printf, dando la possibilita' di indicare un parametro, e svuota il buffer di standard output

Referenced by main(), and worker_thread().

#define sys_print (   s)

Stampa la stringa S, secondo la sintassi del comando printf, e svuota il buffer di standard output. Esegue le stesse cose di print(s), con l'unica differenza che puo' essere ridefinita se non e' stata settata la macro VERBOSE

See also:
print(s)
Note:
Nel caso in cui sia definita la macro VERBOSE provvede a ridefinire il comportamento delle macro sys_print(s) e sys_print_1(s, p)
See also:
sys_print(s)
sys_print_1(s, p)
#define sys_print (   s)    {printf(s); fflush(stdout);}

Stampa la stringa S, secondo la sintassi del comando printf, e svuota il buffer di standard output. Esegue le stesse cose di print(s), con l'unica differenza che puo' essere ridefinita se non e' stata settata la macro VERBOSE

See also:
print(s)
Note:
Nel caso in cui sia definita la macro VERBOSE provvede a ridefinire il comportamento delle macro sys_print(s) e sys_print_1(s, p)
See also:
sys_print(s)
sys_print_1(s, p)

Referenced by listen_thread(), main(), match(), and signal_handler().

#define sys_print_1 (   s,
 
)

Stampa la stringa S, secondo la sintassi del comando printf, offrendo la possibilita' di indicare un parametro, e svuota il buffer di standard output. Esegue le stesse cose di print_1(s), con l'unica differenza che puo' essere ridefinita se non e' stata settata la macro VERBOSE

See also:
print_1(s)
#define sys_print_1 (   s,
 
)    {printf(s, p); fflush(stdout);}

Stampa la stringa S, secondo la sintassi del comando printf, offrendo la possibilita' di indicare un parametro, e svuota il buffer di standard output. Esegue le stesse cose di print_1(s), con l'unica differenza che puo' essere ridefinita se non e' stata settata la macro VERBOSE

See also:
print_1(s)

Referenced by findAssociation(), main(), signal_handler(), updateOfferList(), and worker_thread().