#ifndef FUNC_H_
#define FUNC_H_

#endif /*FUNC_H_*/

/* usage()
 * No comments ;-)
 */
void usage(void);
/* parsing_cmd_arguments()
 * Function for parsed command line.
 */
uint32_t parsing_cmd_arguments(uint32_t arg_count, char * cmd_args[], struct config * config_params);
/* keyboard_interrupt_handler()
 * Ctrl + C handler. 
 */
BOOL WINAPI keyboard_interrupt_handler(DWORD event);
/* one_ping()
 * Function sending ICMP echoes to one host. Execute from separate threads.
 */
unsigned __stdcall one_ping( void* arg );
/* rev_ns_resolve()
 * Function for reverse name resolving.
 */
int8_t * rev_ns_resolve(uint32_t ip_addr, char *hostname, uint32_t hostname_len);
/* safe_inc_dec()
 * Safe incrementing or decremented variable from different threads.
 */
inline int32_t safe_inc_dec(CRITICAL_SECTION * critical_section, int32_t * counter, uint8_t inc_dec);