1/* port.c 2 Find a port. 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA. 21 22 The author of the program may be contacted at ian@airs.com. 23 */ 24 25#include "uucnfi.h" 26 27#if USE_RCS_ID 28const char _uuconf_port_rcsid[] = "$Id: port.c,v 1.7 2002/03/05 19:10:42 ian Rel $"; 29#endif 30 31/* Find a port by name, baud rate, and special purpose function. */ 32 33int 34uuconf_find_port (pglobal, zname, ibaud, ihighbaud, pifn, pinfo, qport) 35 pointer pglobal; 36 const char *zname; 37 long ibaud; 38 long ihighbaud; 39 int (*pifn) P((struct uuconf_port *, pointer)); 40 pointer pinfo; 41 struct uuconf_port *qport; 42{ 43#if HAVE_V2_CONFIG || HAVE_HDB_CONFIG 44 struct sglobal *qglobal = (struct sglobal *) pglobal; 45#endif 46 int iret; 47 48#if HAVE_TAYLOR_CONFIG 49 iret = uuconf_taylor_find_port (pglobal, zname, ibaud, ihighbaud, pifn, 50 pinfo, qport); 51 if (iret != UUCONF_NOT_FOUND) 52 return iret; 53#endif 54 55#if HAVE_V2_CONFIG 56 if (qglobal->qprocess->fv2) 57 { 58 iret = uuconf_v2_find_port (pglobal, zname, ibaud, ihighbaud, pifn, 59 pinfo, qport); 60 if (iret != UUCONF_NOT_FOUND) 61 return iret; 62 } 63#endif 64 65#if HAVE_HDB_CONFIG 66 if (qglobal->qprocess->fhdb) 67 { 68 iret = uuconf_hdb_find_port (pglobal, zname, ibaud, ihighbaud, pifn, 69 pinfo, qport); 70 if (iret != UUCONF_NOT_FOUND) 71 return iret; 72 } 73#endif 74 75 return UUCONF_NOT_FOUND; 76} 77