Annotation of 43BSDReno/contrib/isode-beta/quipu/dish/dishhelp.c, revision 1.1.1.1

1.1       root        1: /* dishhelp.c - */
                      2: 
                      3: #ifndef        lint
                      4: static char *rcsid = "$Header: /f/osi/quipu/dish/RCS/dishhelp.c,v 7.4 90/07/09 14:47:05 mrose Exp $";
                      5: #endif
                      6: 
                      7: /* 
                      8:  * $Header: /f/osi/quipu/dish/RCS/dishhelp.c,v 7.4 90/07/09 14:47:05 mrose Exp $
                      9:  *
                     10:  *
                     11:  * $Log:       dishhelp.c,v $
                     12:  * Revision 7.4  90/07/09  14:47:05  mrose
                     13:  * sync
                     14:  * 
                     15:  * Revision 7.3  90/04/18  08:49:34  mrose
                     16:  * 6.2
                     17:  * 
                     18:  * Revision 7.2  90/03/15  11:18:21  mrose
                     19:  * quipu-sync
                     20:  * 
                     21:  * Revision 7.1  90/01/11  18:37:37  mrose
                     22:  * real-sync
                     23:  * 
                     24:  * Revision 7.0  89/11/23  22:20:03  mrose
                     25:  * Release 6.0
                     26:  * 
                     27:  */
                     28: 
                     29: /*
                     30:  *                               NOTICE
                     31:  *
                     32:  *    Acquisition, use, and distribution of this module and related
                     33:  *    materials are subject to the restrictions of a license agreement.
                     34:  *    Consult the Preface in the User's Manual for the full terms of
                     35:  *    this agreement.
                     36:  *
                     37:  */
                     38: 
                     39: 
                     40: #include "quipu/util.h"
                     41: #include "quipu/name.h"
                     42: 
                     43: #define        OPT     (!frompipe || rps -> ps_byteno == 0 ? opt : rps)
                     44: #define        RPS     (!frompipe || opt -> ps_byteno == 0 ? rps : opt)
                     45: extern char    frompipe;
                     46: extern PS      opt, rps;
                     47: #define MAXARG 50
                     48: 
                     49: struct {
                     50:        char           *command;
                     51:        char           *args;
                     52:        char            serv;
                     53:        char            other;
                     54:        char           *use;
                     55:        
                     56: } help_info[MAXARG];
                     57: int num_help = 0;
                     58: 
                     59: add_dish_help (command,args,serv,other,use)
                     60: char           *command;
                     61: char           *args;
                     62: char            serv;
                     63: char           other;
                     64: char          *use;
                     65: {
                     66:        help_info[num_help].command = command;
                     67:        help_info[num_help].args = args;
                     68:        help_info[num_help].serv = serv;
                     69:        help_info[num_help].other = other;
                     70:        help_info[num_help].use = use;
                     71:        num_help++;
                     72: }
                     73: 
                     74: dish_help_init () {
                     75:        add_dish_help (
                     76:        "dish",         "[-pipe] [-noconnect] [-user <name>]\n[-password [<password>]] [-call <dsa name>] [-fast]\n[-simple] [-protected] [-strong] [-noauthentication]", FALSE, FALSE,
                     77:                        "Directory Shell," );
                     78:        add_dish_help (
                     79:        "showentry",    "[-[no]cache] [-[no]name] [-[no]move]", TRUE,TRUE,
                     80:                        "show an entry, read it if not cached," );
                     81:        add_dish_help (
                     82:        "list",         "[-nocache] [-noshow] [-[no]move]", TRUE,FALSE,
                     83:                        "list children of the current node" );
                     84:        add_dish_help (
                     85:        "search",       "[-baseobject] [-singlelevel] [-subtree]\n[-filter <filter>]\n[-[no]relative] [-[no]searchaliases] [-[no]partial] [-hitone]", TRUE, TRUE,
                     86:                        "search the tree for an object," );
                     87:        add_dish_help (
                     88:        "moveto",       "[-[no]pwd] [-[no]check] [-sequence <name>] [-nosequence] <position>", FALSE, FALSE,
                     89:                        "move to position in the DIT" );
                     90:        add_dish_help (
                     91:        "modify",       "[-draft <draft> [-noedit]] [-newdraft] ", TRUE, FALSE,
                     92:                        "modify an existing node," );
                     93:        add_dish_help (
                     94:        "showname",     "[-[no]compact] [-[no]cache]", TRUE,TRUE,
                     95:                        "show the name of an entry," );
                     96:        add_dish_help (
                     97:        "compare",      "-attribute <attributeType '=' attributeValue>\n[-[no]print]", TRUE,FALSE,
                     98:                        "compare attribute with the supplied value," );
                     99:        add_dish_help (
                    100:        "add",          "[-draft <draft> [-noedit]] [-template <draft>] [-newdraft]\n [-objectclass <objectclass>]", TRUE,FALSE,
                    101:                        "add a new node," );
                    102:        add_dish_help (
                    103:        "delete",       "", TRUE,FALSE,
                    104:                        "delete an object," );
                    105:        add_dish_help (
                    106:        "modifyrdn",    "-name <attributeType '=' attributeValue> [-[no]delete]", TRUE, FALSE,
                    107:                        "modify the name of a node," );
                    108:        add_dish_help (
                    109:        "squid",        "[-sequence <name>] [-alias <position>] [-version]",FALSE, FALSE,
                    110:                        "status of dish," );
                    111:        add_dish_help (
                    112:        "bind",         "[-noconnect] [[-user] <name>]\n[-password [<password>]] [-[no]refer]\n[-call <dsa name>]\n[-simple] [-protected] [-strong] [-noauthentication]", FALSE, FALSE,
                    113:                        "connect to the directory," );
                    114:        add_dish_help (
                    115:        "unbind",       "[-noquit]", FALSE, FALSE,
                    116:                        "disconnect from the directory," );
                    117:        add_dish_help (
                    118:        "fred",         "[-dm2dn <domain>] [-ufn <name...>]", FALSE, FALSE,
                    119:                        "back-end to FrED," );
                    120:        add_dish_help (
                    121:        "dsacontrol",   "[-[un]lock <entry>] [-dump <directory>]\n[-tailor <string>] [-abort] [-restart] [-info]\n[-refresh <entry>] [-resync <entry>] [-slave [<entry>]]", FALSE, FALSE,
                    122:                        "control the operation of the DSA (managers only)," );
                    123: };
                    124: 
                    125: Usage (rtn)
                    126: char           *rtn;
                    127: {
                    128:        extern DN       dn,
                    129:                        savename;
                    130:        int             i;
                    131: 
                    132:        dn_free (dn);
                    133:        dn = savename;
                    134:        savename = NULLDN;
                    135: 
                    136:        if (print_arg_error (OPT) == OK)
                    137:                return;
                    138: 
                    139:        for (i = 0; help_info[i].command != 0; i++)
                    140:                if (strcmp (help_info[i].command, rtn) == 0) {
                    141:                        if (help_info[i].serv) {
                    142:                                ps_printf (OPT, "Usage %s [-help] [<object>] %s \n", rtn, help_info[i].args);
                    143:                                print_other(OPT, help_info[i].other);
                    144:                                ps_printf (OPT, "\n[<service controls>]\n");
                    145:                        } else
                    146:                                ps_printf (OPT, "Usage %s [-help] %s\n", rtn, help_info[i].args);
                    147:                        return;
                    148:                }
                    149:        ps_print (OPT, "Usage...\n");
                    150: }
                    151: 
                    152: help_arg (rtn)
                    153: char           *rtn;
                    154: {
                    155:        int             i;
                    156: 
                    157:        for (i = 0; help_info[i].command != 0; i++)
                    158:                if (strcmp (help_info[i].command, rtn) == 0) {
                    159:                        if (help_info[i].serv) {
                    160:                                ps_printf (RPS, "%-10s - %s\n[<object>] %s ", rtn, help_info[i].use,help_info[i].args);
                    161:                                print_other(RPS,help_info[i].other);
                    162:                                ps_print (RPS,"\n");
                    163:                                print_service();
                    164:                        } else
                    165:                                ps_printf (RPS, "%-10s - %s\n%s\n", rtn, help_info[i].use,help_info[i].args);
                    166:                        return;
                    167:                }
                    168:        ps_print (OPT,"Sorry - No help available\n");
                    169: }
                    170: 
                    171: print_other (aps,x) 
                    172: PS aps;
                    173: char x;
                    174: {
                    175:        if (x == FALSE)
                    176:                return;
                    177:                
                    178:        ps_print (aps,"\n[-[no]types <attribute-type> *] [-[no]all]\n[-[no]value] [-[no]show] \n[-[no]key] [-edb]\n[-proc <syntax> <process>]");
                    179: }
                    180: 
                    181: print_service ()
                    182: {
                    183:        ps_print (RPS,"[-sequence <name>] [-nosequence]\n");
                    184:        ps_print (RPS,"[-[no]preferchain] [-[no]chaining]\n");
                    185:        ps_print (RPS,"[-[dont]usecopy] [-[dont]dereferencealias]\n");
                    186:        ps_print (RPS,"[-low] [-medium] [-high]\n");
                    187:        ps_print (RPS,"[-timelimit n] [-notimelimit]\n");
                    188:        ps_print (RPS,"[-sizelimit n] [-nosizelimit]\n");
                    189:        ps_print (RPS,"[-strong] [-[no]refer]\n");
                    190:        ps_print (RPS,"[-[no]localscope] [-help]\n");
                    191: 
                    192: }
                    193: 
                    194: call_help ()
                    195: {
                    196:        int             i;
                    197: 
                    198:        ps_print (RPS, "The following commands are recognised...\n\n");
                    199: 
                    200:        for (i = 0; help_info[i].command != 0; i++)
                    201:                ps_printf (RPS, "%-10s - %s\n", help_info[i].command, help_info[i].use);
                    202: 
                    203:        ps_print (RPS,"\nEnter <command> -help for help on that command\n");
                    204:        ps_print (RPS, "See the DISH manual for full details\n\n");
                    205: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.