error: cannot convert 'uint16_t* ' to 'dn_ipmt_timeIndication_nt*' in argument

I am currently trying to interface my Arduino due to an external device(http://www.linear.com/solutions/4330) to retrieve its timestamp.
I have done everything correctly, but when I try to compile it I get an error of this

error: cannot convert 'uint16_t* {aka short unsigned int*}' to 'dn_ipmt_timeIndication_nt*' in argument passing app_vars.timeIndication_Cb(&dataVal);

I don't really how to go about with this issue.

could anyone help me with this? fullcode is attached here.

IpMtWrapper.cpp (16.5 KB)

Different variable type. This type is probably defined in IpMtWrapper.h. There is probably typedef statement. You should be sure that the dn_ipmt_timeIndication_nt has the same size as uint16_t, 2 bytes.
You can use the cast then:

app_vars.timeIndication_Cb((dn_ipmt_timeIndication_nt*)&dataVal);

or define the dataVal exactly as dn_ipmt_timeIndication_nt type.