Getting parameters in a function call.

What I am trying to do is this ->

I have some class of functions in C which are va_arg functions for e.g
printf(). There might be a number of calls to printf() in the source file. I
want to parse the source code and find all these calls to printf(),
furthermore, I want to find the type of arguments that are passed to
printf(). So, if i have something like

int a, b, c;
printf("%d%d%d", a, b, c)

I want to be able to figure out that the particular call to printf is of
type printf(char*, int, int, int). I don't particularly care about

Could someone tell me how I should go about doing this in clang? Any example
doing anything similar to this would be welcome. If you could even tell me
what all classes I should be looking at and in brief tell me the flow that I
should follow, I would be very grateful. Thanks.