|
|
1.1 ! root 1: /* reliab.c ! 2: Subroutines to handle reliability commands for ports and dialers. ! 3: ! 4: Copyright (C) 1992 Ian Lance Taylor ! 5: ! 6: This file is part of the Taylor UUCP uuconf library. ! 7: ! 8: This library is free software; you can redistribute it and/or ! 9: modify it under the terms of the GNU Library General Public License ! 10: as published by the Free Software Foundation; either version 2 of ! 11: the License, or (at your option) any later version. ! 12: ! 13: This library is distributed in the hope that it will be useful, but ! 14: WITHOUT ANY WARRANTY; without even the implied warranty of ! 15: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ! 16: Library General Public License for more details. ! 17: ! 18: You should have received a copy of the GNU Library General Public ! 19: License along with this library; if not, write to the Free Software ! 20: Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ! 21: ! 22: The author of the program may be contacted at [email protected] or ! 23: c/o Infinity Development Systems, P.O. Box 520, Waltham, MA 02254. ! 24: */ ! 25: ! 26: #include "uucnfi.h" ! 27: ! 28: #if USE_RCS_ID ! 29: const char _uuconf_reliab_rcsid[] = "$Id: reliab.c,v 1.1 93/07/30 08:07:31 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: /* Handle the "seven-bit" command for a port or a dialer. The pvar ! 33: argument points to an integer which should be set to hold ! 34: reliability information. */ ! 35: ! 36: /*ARGSUSED*/ ! 37: int ! 38: _uuconf_iseven_bit (pglobal,argc, argv, pvar, pinfo) ! 39: pointer pglobal; ! 40: int argc; ! 41: char **argv; ! 42: pointer pvar; ! 43: pointer pinfo; ! 44: { ! 45: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 46: int *pi = (int *) pvar; ! 47: int fval; ! 48: int iret; ! 49: ! 50: iret = _uuconf_iboolean (qglobal, argv[1], &fval); ! 51: if ((iret &~ UUCONF_CMDTABRET_KEEP) != UUCONF_SUCCESS) ! 52: return iret; ! 53: ! 54: *pi |= UUCONF_RELIABLE_SPECIFIED; ! 55: if (fval) ! 56: *pi &=~ UUCONF_RELIABLE_EIGHT; ! 57: else ! 58: *pi |= UUCONF_RELIABLE_EIGHT; ! 59: ! 60: return iret; ! 61: } ! 62: ! 63: /* Handle the "reliable" command for a port or a dialer. The pvar ! 64: argument points to an integer which should be set to hold ! 65: reliability information. */ ! 66: ! 67: /*ARGSUSED*/ ! 68: int ! 69: _uuconf_ireliable (pglobal, argc, argv, pvar, pinfo) ! 70: pointer pglobal; ! 71: int argc; ! 72: char **argv; ! 73: pointer pvar; ! 74: pointer pinfo; ! 75: { ! 76: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 77: int *pi = (int *) pvar; ! 78: int fval; ! 79: int iret; ! 80: ! 81: iret = _uuconf_iboolean (qglobal, argv[1], &fval); ! 82: if ((iret &~ UUCONF_CMDTABRET_KEEP) != UUCONF_SUCCESS) ! 83: return iret; ! 84: ! 85: *pi |= UUCONF_RELIABLE_SPECIFIED; ! 86: if (fval) ! 87: *pi |= UUCONF_RELIABLE_RELIABLE; ! 88: else ! 89: *pi &=~ UUCONF_RELIABLE_RELIABLE; ! 90: ! 91: return iret; ! 92: } ! 93: ! 94: /* Handle the "half-duplex" command for a port or a dialer. The pvar ! 95: argument points to an integer which should be set to hold ! 96: reliability information. */ ! 97: ! 98: /*ARGSUSED*/ ! 99: int ! 100: _uuconf_ihalf_duplex (pglobal, argc, argv, pvar, pinfo) ! 101: pointer pglobal; ! 102: int argc; ! 103: char **argv; ! 104: pointer pvar; ! 105: pointer pinfo; ! 106: { ! 107: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 108: int *pi = (int *) pvar; ! 109: int fval; ! 110: int iret; ! 111: ! 112: iret = _uuconf_iboolean (qglobal, argv[1], &fval); ! 113: if ((iret &~ UUCONF_CMDTABRET_KEEP) != UUCONF_SUCCESS) ! 114: return iret; ! 115: ! 116: *pi |= UUCONF_RELIABLE_SPECIFIED; ! 117: if (fval) ! 118: *pi &=~ UUCONF_RELIABLE_FULLDUPLEX; ! 119: else ! 120: *pi |= UUCONF_RELIABLE_FULLDUPLEX; ! 121: ! 122: return iret; ! 123: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.