Ton programme n'est pas portable, il utilise des fonctions POSIX.
"SUN" c'est la marque, j'imagine que tu travailles sous Solaris. C'est un Unix. Et toutes les fonctions accessibles sous Unix ne le sont pas sous Windows (fonctions "non portables", donc, comme open(), write(), etc).
L'inverse est également vrai, des fonctions Windows ne sont pas exportables vers Unix.
Soit tu modifies ton programmes pour le rendre portable, soit... je ne sais pas. Peut-être (je dis bien "peut-être", j'ai jamais essayé, faudrait que quelqu'un confirme) qu'avec cygwin ou autre logiciel de ce genre, ça peut le faire (plateforme de développement qui "émule" un Unix).