As a general knowledge question, is the miner doing more than the 2 SHA256 hashes needed for bitcoin? I kind of saw it as each miner running the hashes through a group of nonces and reporting back the results. Is that correct? Do they return all hash values, or only the first one to meet the target? Or am I completely off on how I see this?
The particulars probably vary per miner, but generally it's the latter case - so you send it the information to hash
and the target difficulty, and the hardware then hashes until it finds one that is below ( or is that above? depends on how you look at it
) that difficulty at which point it returns the data needed for that calculation so that software can verify/etc.
One way that you
could do what you're trying to do - sort of - is by setting that difficulty really high (or is that low...), so that the hardware basically finds a result on the first try. I'm not sure if that's entirely possible, or if hardware is going to freak out, but... theoretically anyway.
As for particulars, again, see cgminer source code - or
bfgminer source code /
MultiMiner source code (there's probably others). You'll probably have to do a bit of untangling as most of these projects are set up to work with various pieces of hardware, so they modularize their functions, files, etc. If you get stuck, you can also ask their authors for some help, they're decent chaps
Dare we ask what it is you're trying to do?