diff options
author | Paul Mackerras <paulus@samba.org> | 2003-04-07 00:01:46 +0000 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2003-04-07 00:01:46 +0000 |
commit | e5b7cafa28aeba66499fa26b286192529e5fde15 (patch) | |
tree | d75ccb887e42bfda3b68d4b56cd5180ae43a5742 /pppd/sys-solaris.c | |
parent | b347aa1c9a90ebc790baab556275436960ac8754 (diff) | |
download | ppp-e5b7cafa28aeba66499fa26b286192529e5fde15.tar.gz |
Revert the previous change that required channel send_config and
recv_config routines to return a status code. Instead we consider
that an error has occurred if the channel routine calls error()
or bumps error_count explicitly.
Diffstat (limited to 'pppd/sys-solaris.c')
-rw-r--r-- | pppd/sys-solaris.c | 40 |
1 files changed, 15 insertions, 25 deletions
diff --git a/pppd/sys-solaris.c b/pppd/sys-solaris.c index d3675f6..d134fe9 100644 --- a/pppd/sys-solaris.c +++ b/pppd/sys-solaris.c @@ -90,7 +90,7 @@ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -#define RCSID "$Id: sys-solaris.c,v 1.10 2003/03/03 05:11:46 paulus Exp $" +#define RCSID "$Id: sys-solaris.c,v 1.11 2003/04/07 00:01:46 paulus Exp $" #include <limits.h> #include <stdio.h> @@ -1539,38 +1539,33 @@ netif_set_mtu(unit, mtu) * tty_send_config - configure the transmit characteristics of * the ppp interface. */ -int +void tty_send_config(mtu, asyncmap, pcomp, accomp) int mtu; u_int32_t asyncmap; int pcomp, accomp; { int cf[2]; - int ret = 0; link_mtu = mtu; if (strioctl(pppfd, PPPIO_MTU, &mtu, sizeof(mtu), 0) < 0) { - if (hungup && errno == ENXIO) - return -1; + if (hungup && errno == ENXIO) { + ++error_count; + return; + } error("Couldn't set MTU: %m"); - ret = -1; } if (fdmuxid >= 0) { if (!sync_serial) { - if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) { + if (strioctl(pppfd, PPPIO_XACCM, &asyncmap, sizeof(asyncmap), 0) < 0) error("Couldn't set transmit ACCM: %m"); - ret = -1; - } } cf[0] = (pcomp? COMP_PROT: 0) + (accomp? COMP_AC: 0); cf[1] = COMP_PROT | COMP_AC; if (any_compressions() && - strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) { + strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) error("Couldn't set prot/AC compression: %m"); - ret = -1; - } } - return ret; } /* @@ -1594,38 +1589,33 @@ tty_set_xaccm(accm) * tty_recv_config - configure the receive-side characteristics of * the ppp interface. */ -int +void tty_recv_config(mru, asyncmap, pcomp, accomp) int mru; u_int32_t asyncmap; int pcomp, accomp; { int cf[2]; - int ret = 0; link_mru = mru; if (strioctl(pppfd, PPPIO_MRU, &mru, sizeof(mru), 0) < 0) { - if (hungup && errno == ENXIO) - return -1; + if (hungup && errno == ENXIO) { + ++error_count; + return; + } error("Couldn't set MRU: %m"); - ret = -1; } if (fdmuxid >= 0) { if (!sync_serial) { - if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) { + if (strioctl(pppfd, PPPIO_RACCM, &asyncmap, sizeof(asyncmap), 0) < 0) error("Couldn't set receive ACCM: %m"); - ret = -1; - } } cf[0] = (pcomp? DECOMP_PROT: 0) + (accomp? DECOMP_AC: 0); cf[1] = DECOMP_PROT | DECOMP_AC; if (any_compressions() && - strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) { + strioctl(pppfd, PPPIO_CFLAGS, cf, sizeof(cf), sizeof(int)) < 0) error("Couldn't set prot/AC decompression: %m"); - ret = -1; - } } - return ret; } /* |