gozalim, its way more complicated than that, and device specific.
As far as WM devices go, The Sprint Mogul has a GPSone chip that is unlocked and visible to the OS. The Touch has the same chip, but last I checked needed some hacked drivers ported over from the Titan (mogul) to make it accessible to the OS. The older devices such as the Apache (ppc6700) technically have GPS for e911 services, however proper device drivers do not exist and therefore it can't be used for much other than spitting out lattitude and longitute numbers from the qpst menu.