|
|
1.1 ! root 1: /* sinfo.c ! 2: Get information about a system. ! 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_sinfo_rcsid[] = "$Id: sinfo.c,v 1.1 93/07/30 08:07:32 bin Exp Locker: bin $"; ! 30: #endif ! 31: ! 32: /* Get information about a particular system. We combine the ! 33: definitions for this system from each type of configuration file, ! 34: by passing what we have so far into each one. */ ! 35: ! 36: int ! 37: uuconf_system_info (pglobal, zsystem, qsys) ! 38: pointer pglobal; ! 39: const char *zsystem; ! 40: struct uuconf_system *qsys; ! 41: { ! 42: struct sglobal *qglobal = (struct sglobal *) pglobal; ! 43: int iret; ! 44: boolean fgot; ! 45: ! 46: fgot = FALSE; ! 47: ! 48: #if HAVE_TAYLOR_CONFIG ! 49: iret = _uuconf_itaylor_system_internal (qglobal, zsystem, qsys); ! 50: if (iret == UUCONF_SUCCESS) ! 51: fgot = TRUE; ! 52: else if (iret != UUCONF_NOT_FOUND) ! 53: return iret; ! 54: #endif ! 55: ! 56: #if HAVE_V2_CONFIG ! 57: if (qglobal->qprocess->fv2) ! 58: { ! 59: struct uuconf_system *q; ! 60: struct uuconf_system sv2; ! 61: ! 62: if (fgot) ! 63: q = &sv2; ! 64: else ! 65: q = qsys; ! 66: iret = _uuconf_iv2_system_internal (qglobal, zsystem, q); ! 67: if (iret == UUCONF_SUCCESS) ! 68: { ! 69: if (fgot) ! 70: { ! 71: iret = _uuconf_isystem_default (qglobal, qsys, &sv2, TRUE); ! 72: if (iret != UUCONF_SUCCESS) ! 73: return iret; ! 74: } ! 75: fgot = TRUE; ! 76: } ! 77: else if (iret != UUCONF_NOT_FOUND) ! 78: return iret; ! 79: } ! 80: #endif ! 81: ! 82: #if HAVE_HDB_CONFIG ! 83: if (qglobal->qprocess->fhdb) ! 84: { ! 85: struct uuconf_system *q; ! 86: struct uuconf_system shdb; ! 87: ! 88: if (fgot) ! 89: q = &shdb; ! 90: else ! 91: q = qsys; ! 92: iret = _uuconf_ihdb_system_internal (qglobal, zsystem, q); ! 93: if (iret == UUCONF_SUCCESS) ! 94: { ! 95: if (fgot) ! 96: { ! 97: iret = _uuconf_isystem_default (qglobal, qsys, &shdb, TRUE); ! 98: if (iret != UUCONF_SUCCESS) ! 99: return iret; ! 100: } ! 101: fgot = TRUE; ! 102: } ! 103: else if (iret != UUCONF_NOT_FOUND) ! 104: return iret; ! 105: } ! 106: #endif ! 107: ! 108: if (! fgot) ! 109: return UUCONF_NOT_FOUND; ! 110: ! 111: return _uuconf_isystem_basic_default (qglobal, qsys); ! 112: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.