strace output show that it does some reading from the device itself...

It does some lseek(), read and then simply doing the mount()...

I tried by doing the same... but not able to extract the filesystem from the data...

by reading in the filesystems and then mounting the device won't be write approach I guess, b'cz same device can be mounted using different filesystems and there will be no error but that won't reflect the data...
that's why I need exact filesystem information...

even though I could do this by invoking system(mount <other parameters>), but I am not interested in doing that...

Thanks,
Amit Sahrawat