diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-12-14 23:36:30 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-12-14 23:36:30 +0000 |
commit | 70cedacdde512d2ed5984eec242c55f3239b73fc (patch) | |
tree | 48694f38698e4ead3840305333816193c7fcd8a0 /channels/chan_modem.c | |
parent | c60f8a2b8e1551244e674baff85cb1a4f2d5fd5b (diff) |
Merge slimey's Solaris compatibility (with small mods) (bug #2740)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4446 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_modem.c')
-rwxr-xr-x | channels/chan_modem.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/channels/chan_modem.c b/channels/chan_modem.c index 41d95540b..9a1e2074d 100755 --- a/channels/chan_modem.c +++ b/channels/chan_modem.c @@ -709,8 +709,19 @@ static void stty(struct ast_modem_pvt *p) ast_log(LOG_WARNING, "Unable to get serial parameters on %s: %s\n", p->dev, strerror(errno)); return; } +#ifndef SOLARIS cfmakeraw(&mode); - cfsetspeed(&mode, B115200); +#else + mode.c_iflag &= ~(IGNBRK|BRKINT|PARMRK|ISTRIP + |INLCR|IGNCR|ICRNL|IXON); + mode.c_oflag &= ~OPOST; + mode.c_lflag &= ~(ECHO|ECHONL|ICANON|ISIG|IEXTEN); + mode.c_cflag &= ~(CSIZE|PARENB); + mode.c_cflag |= CS8; +#endif + + cfsetispeed(&mode, B115200); + cfsetospeed(&mode, B115200); if (tcsetattr(p->fd, TCSANOW, &mode)) ast_log(LOG_WARNING, "Unable to set serial parameters on %s: %s\n", p->dev, strerror(errno)); |