#ifndef CHALLENGE_H#define CHALLENGE_H 1#include<stdint.h>/** challenge_t: This structure contains the pseudo-random challenge used for * authentication. */typedefstructchallenge_t{/** tv_sec as returned by gettimeofday */uint32_tsec;/** tv_usec as returned by gettimeofday + random value */uint32_tusec_rnd;/** random values */uint32_trandom[6];}__attribute__((packed))challenge_t;challenge_t*generate_challenge(void);voidgenerate_response(challenge_t*challenge);intvalidate_challenge(challenge_t*local,challenge_t*remote);#endif