/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1996-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Phong Vo <[email protected]> *17* Glenn Fowler <[email protected]> *18* *19***********************************************************************/20#pragma prototyped2122/*23* rskey method by name24*/2526#include "rskeyhdr.h"2728static Rsmethod_t** methods[] =29{30&Rsrasp,31&Rsradix,32&Rssplay,33&Rsverify,34&Rscopy,35};3637/*38* return rs method given name39*/4041Rsmethod_t*42#if __STD_C43rskeymeth(register Rskey_t* kp, const char* name)44#else45rskeymeth(kp, name)46register Rskey_t* kp;47char* name;48#endif49{50register int n;5152if (!name || !*name || streq(name, "-") || streq(name, "default"))53return Rsrasp;54for (n = 0; n < elementsof(methods); n++)55if (streq(name, (*methods[n])->name))56return *methods[n];57return 0;58}5960/*61* list rs method names on fp62*/6364int65#if __STD_C66rskeylist(register Rskey_t* kp, Sfio_t* fp, int usage)67#else68rskeylist(kp, fp, usage)69register Rskey_t* kp;70Sfio_t* fp;71int usage;72#endif73{74register int i;75register int n;7677n = 0;78for (i = 0; i < elementsof(methods); i++)79if (usage)80n += sfprintf(fp, "[+%s?%s]", (*methods[i])->name, (*methods[i])->desc);81else82n += sfprintf(fp, "%-10s %s\n", (*methods[i])->name, (*methods[i])->desc);83return n;84}858687