Assuming your binary was built with debug info, you can get function type, argument types, etc. etc. by reading DWARF debug format, which readelf -wi
will dump.
If your binary was produced by IBM's compiler, it may have (older) STABS debug info instead, which you can dump with objdump -g
.
If your binary does not have the debug info, then you can't get the info you are looking for -- it's just not there.