home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / usr.bin / mail / cmdtab.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-18  |  5.2 KB  |  128 lines

  1. /*
  2.  * Copyright (c) 1980 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  */
  33.  
  34. #ifndef lint
  35. static char sccsid[] = "@(#)cmdtab.c    5.11 (Berkeley) 6/1/90";
  36. #endif /* not lint */
  37.  
  38. #include "def.h"
  39.  
  40. /*
  41.  * Mail -- a mail program
  42.  *
  43.  * Define all of the command names and bindings.
  44.  */
  45.  
  46. extern int type(), preserve(), delete(), undelete(), next(), shell(), schdir();
  47. extern int save(), help(), headers(), pdot(), respond(), editor();
  48. extern int quitcmd(), rexit(), pcmdlist(), sendmail(), from(), copycmd();
  49. extern int messize(), psalloc(), deltype(), unset(), set(), source();
  50. extern int pversion(), group(), top(), core(), null(), stouch(), visual();
  51. extern int swrite(), dosh(), file(), echo(), Respond(), scroll(), ifcmd();
  52. extern int elsecmd(), endifcmd(), mboxit(), clobber(), alternates();
  53. extern int folders(), igfield(), Type(), retfield(), more(), More();
  54. extern int saveigfield(), saveretfield();
  55. extern int unread();    /* , Header(); */
  56.  
  57. struct cmd cmdtab[] = {
  58.     "next",        next,        NDMLIST,    0,    MMNDEL,
  59.     "alias",    group,        M|RAWLIST,    0,    1000,
  60.     "print",    type,        MSGLIST,    0,    MMNDEL,
  61.     "type",        type,        MSGLIST,    0,    MMNDEL,
  62.     "Type",        Type,        MSGLIST,    0,    MMNDEL,
  63.     "Print",    Type,        MSGLIST,    0,    MMNDEL,
  64.     "visual",    visual,        I|MSGLIST,    0,    MMNORM,
  65.     "top",        top,        MSGLIST,    0,    MMNDEL,
  66.     "touch",    stouch,        W|MSGLIST,    0,    MMNDEL,
  67.     "preserve",    preserve,    W|MSGLIST,    0,    MMNDEL,
  68.     "delete",    delete,        W|P|MSGLIST,    0,    MMNDEL,
  69.     "dp",        deltype,    W|MSGLIST,    0,    MMNDEL,
  70.     "dt",        deltype,    W|MSGLIST,    0,    MMNDEL,
  71.     "undelete",    undelete,    P|MSGLIST,    MDELETED,MMNDEL,
  72.     "unset",    unset,        M|RAWLIST,    1,    1000,
  73.     "mail",        sendmail,    R|M|I|STRLIST,    0,    0,
  74.     "mbox",        mboxit,        W|MSGLIST,    0,    0,
  75.     "more",        more,        MSGLIST,    0,    MMNDEL,
  76.     "page",        more,        MSGLIST,    0,    MMNDEL,
  77.     "More",        More,        MSGLIST,    0,    MMNDEL,
  78.     "Page",        More,        MSGLIST,    0,    MMNDEL,
  79.     "unread",    unread,        MSGLIST,    0,    MMNDEL,
  80.     "!",        shell,        I|STRLIST,    0,    0,
  81.     "copy",        copycmd,    M|STRLIST,    0,    0,
  82.     "chdir",    schdir,        M|RAWLIST,    0,    1,
  83.     "cd",        schdir,        M|RAWLIST,    0,    1,
  84.     "save",        save,        STRLIST,    0,    0,
  85.     "source",    source,        M|RAWLIST,    1,    1,
  86.     "set",        set,        M|RAWLIST,    0,    1000,
  87.     "shell",    dosh,        I|NOLIST,    0,    0,
  88.     "version",    pversion,    M|NOLIST,    0,    0,
  89.     "group",    group,        M|RAWLIST,    0,    1000,
  90.     "write",    swrite,        STRLIST,    0,    0,
  91.     "from",        from,        MSGLIST,    0,    MMNORM,
  92.     "file",        file,        T|M|RAWLIST,    0,    1,
  93.     "folder",    file,        T|M|RAWLIST,    0,    1,
  94.     "folders",    folders,    T|M|NOLIST,    0,    0,
  95.     "?",        help,        M|NOLIST,    0,    0,
  96.     "z",        scroll,        M|STRLIST,    0,    0,
  97.     "headers",    headers,    MSGLIST,    0,    MMNDEL,
  98.     "help",        help,        M|NOLIST,    0,    0,
  99.     "=",        pdot,        NOLIST,        0,    0,
  100.     "Reply",    Respond,    R|I|MSGLIST,    0,    MMNDEL,
  101.     "Respond",    Respond,    R|I|MSGLIST,    0,    MMNDEL,
  102.     "reply",    respond,    R|I|MSGLIST,    0,    MMNDEL,
  103.     "respond",    respond,    R|I|MSGLIST,    0,    MMNDEL,
  104.     "edit",        editor,        I|MSGLIST,    0,    MMNORM,
  105.     "echo",        echo,        M|RAWLIST,    0,    1000,
  106.     "quit",        quitcmd,    NOLIST,        0,    0,
  107.     "list",        pcmdlist,    M|NOLIST,    0,    0,
  108.     "xit",        rexit,        M|NOLIST,    0,    0,
  109.     "exit",        rexit,        M|NOLIST,    0,    0,
  110.     "size",        messize,    MSGLIST,    0,    MMNDEL,
  111.     "hold",        preserve,    W|MSGLIST,    0,    MMNDEL,
  112.     "if",        ifcmd,        F|M|RAWLIST,    1,    1,
  113.     "else",        elsecmd,    F|M|RAWLIST,    0,    0,
  114.     "endif",    endifcmd,    F|M|RAWLIST,    0,    0,
  115.     "alternates",    alternates,    M|RAWLIST,    0,    1000,
  116.     "ignore",    igfield,    M|RAWLIST,    0,    1000,
  117.     "discard",    igfield,    M|RAWLIST,    0,    1000,
  118.     "retain",    retfield,    M|RAWLIST,    0,    1000,
  119.     "saveignore",    saveigfield,    M|RAWLIST,    0,    1000,
  120.     "savediscard",    saveigfield,    M|RAWLIST,    0,    1000,
  121.     "saveretain",    saveretfield,    M|RAWLIST,    0,    1000,
  122. /*    "Header",    Header,        STRLIST,    0,    1000,    */
  123.     "core",        core,        M|NOLIST,    0,    0,
  124.     "#",        null,        M|NOLIST,    0,    0,
  125.     "clobber",    clobber,    M|RAWLIST,    0,    1,
  126.     0,        0,        0,        0,    0
  127. };
  128.