From: Andreas Höschler (ahoesch@smartsoft.de)
Date: Mon Oct 31 2005 - 04:15:27 EST
Dear maangers,
thanks for your replies (less than usual). :-)
> we are building C-code on MacOSX, Solaris, Linux,... using gcc. We
> just realized, that cfsetspeed and cfmakeraw do not exist on Solaris.
> Does anybody know the corresponding replacements?
I googled some more and finally found that the replacements would
probably be:
// cfmakeraw(&options); // <--- not available on Solaris, so we
better do it manually
// begin of cfmakeraw replacement
options.c_iflag &=
~(IGNBRK|BRKINT|PARMRK|ISTRIP|INLCR|IGNCR|ICRNL|IXON);
options.c_oflag &= ~OPOST;
options.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN);
options.c_cflag &= ~(CSIZE|PARENB);
options.c_cflag |= CS8;
// end of cfmakeraw replacement
// cfsetspeed(&options, speed); // not available on Solaris, so we
better do it manually
// begin of cfsetspeed replacement
cfsetospeed(&options, speed); // Set 9600 baud
cfsetispeed(&options, speed); // Set 9600 baud
// end of cfsetspeed replacement
> On MacOSX we use "#ifdef __APPLE__" to comment out code that does not
> work on MacOSX. What definition can we use to comment out code on
> Solaris (e.g. the lines containing cfsetspeed,...)?
Special thanks to Dale Ghent <daleg@elemental.org> who outlined that we
can use
touch foo.h; cpp -dM foo.h
to get a list of defined macros on each platform. It seems that
#ifdef __sparc
...
#endif
would be it.
Thanks a lot!
Regards,
Andreas
_______________________________________________
sunmanagers mailing list
sunmanagers@sunmanagers.org
http://www.sunmanagers.org/mailman/listinfo/sunmanagers
This archive was generated by hypermail 2.1.7 : Wed Apr 09 2008 - 23:34:07 EDT