|
|
1.1 ! root 1: /* servbysel.c - getisoserventbyselector */ ! 2: ! 3: #ifndef lint ! 4: static char *rcsid = "$Header: /f/osi/compat/RCS/servbysel.c,v 7.0 89/11/23 21:23:27 mrose Rel $"; ! 5: #endif ! 6: ! 7: /* ! 8: * $Header: /f/osi/compat/RCS/servbysel.c,v 7.0 89/11/23 21:23:27 mrose Rel $ ! 9: * ! 10: * ! 11: * $Log: servbysel.c,v $ ! 12: * Revision 7.0 89/11/23 21:23:27 mrose ! 13: * Release 6.0 ! 14: * ! 15: */ ! 16: ! 17: /* ! 18: * NOTICE ! 19: * ! 20: * Acquisition, use, and distribution of this module and related ! 21: * materials are subject to the restrictions of a license agreement. ! 22: * Consult the Preface in the User's Manual for the full terms of ! 23: * this agreement. ! 24: * ! 25: */ ! 26: ! 27: ! 28: /* LINTLIBRARY */ ! 29: ! 30: #include <stdio.h> ! 31: #include "general.h" ! 32: #include "manifest.h" ! 33: #include "isoservent.h" ! 34: #include "tailor.h" ! 35: ! 36: /* */ ! 37: ! 38: struct isoservent *getisoserventbyselector (provider, selector, selectlen) ! 39: char *provider, ! 40: *selector; ! 41: int selectlen; ! 42: { ! 43: register struct isoservent *is; ! 44: ! 45: isodetailor (NULLCP, 0); ! 46: DLOG (addr_log, LLOG_TRACE, ! 47: ("getisoserventbyselector \"%s\" %s", ! 48: provider, sel2str (selector, selectlen, 1))); ! 49: ! 50: (void) setisoservent (0); ! 51: while (is = getisoservent ()) ! 52: if (selectlen == is -> is_selectlen ! 53: && bcmp (selector, is -> is_selector, is -> is_selectlen) == 0 ! 54: && strcmp (provider, is -> is_provider) == 0) ! 55: break; ! 56: (void) endisoservent (); ! 57: ! 58: if (is) { ! 59: #ifdef DEBUG ! 60: if (addr_log -> ll_events & LLOG_DEBUG) ! 61: _printsrv (is); ! 62: #endif ! 63: } ! 64: else ! 65: SLOG (addr_log, LLOG_EXCEPTIONS, NULLCP, ! 66: ("lookup of local service %s %s failed", ! 67: provider, sel2str (selector, selectlen, 1))); ! 68: ! 69: return is; ! 70: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.