! Definition of MBU commands MODULE MBUCLD IDENT "V01-003" ! COPYRIGHT NOTICE ! ! This software is COPYRIGHT © 2004, Ian Miller. ALL RIGHTS RESERVED. ! Permission is granted for not-for-profit redistribution, provided all source ! and object code remain unchanged from the original distribution, and that all ! copyright notices remain intact. ! ! DISCLAIMER ! ! This software is provided "AS IS". The author makes no representations or ! warranties with respect to the software and specifically disclaim any implied ! warranties of merchantability or fitness for any particular purpose. ! ! define create command syntax DEFINE VERB CREATE ROUTINE CREATE_CMD PARAMETER P1,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) QUALIFIER BUFFER_QUOTA,NONNEGATABLE,LABEL=BUFQUO VALUE(NOCONCATENATE,TYPE=$NUMBER,REQUIRED) QUALIFIER MAXIMUM_MESSAGE_SIZE,NONNEGATABLE,LABEL=MAXMSG VALUE(NOCONCATENATE,TYPE=$NUMBER,REQUIRED) QUALIFIER PERMANENT,NONNEGATABLE QUALIFIER PROTECTION,NONNEGATABLE,LABEL=PROMSK VALUE(NOCONCATENATE,TYPE=$ACL,REQUIRED) QUALIFIER TEMPORARY,NONNEGATABLE DISALLOW TEMPORARY AND PERMANENT ! define delete command syntax DEFINE VERB DELETE ROUTINE DELETE_CMD PARAMETER P1,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) NOQUALIFIERS ! define exit command syntax DEFINE VERB EXIT ROUTINE EXIT_CMD NOPARAMETERS NOQUALIFIERS ! define help command syntax DEFINE VERB HELP ROUTINE HELP_CMD PARAMETER P1,LABEL=TOPIC,PROMPT="Topic" VALUE(NOCONCATENATE,TYPE=$REST_OF_LINE) NOQUALIFIERS ! define read command syntax DEFINE VERB READ ROUTINE READ_CMD PARAMETER P1,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) QUALIFIER FORMAT,NONNEGATABLE,VALUE(TYPE=FORMAT_TYPE) !! QUALIFIER DESCRIPTION,NONNEGATABLE,VALUE(TYPE=$FILE) QUALIFIER DATA_SIZE,NONNEGATABLE,VALUE(REQUIRED,TYPE=SIZE_TYPE) QUALIFIER OUTPUT,NONNEGATABLE,VALUE(TYPE=$FILE) QUALIFIER LENGTH,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER COUNT,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER WIDTH,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER WAIT,NEGATABLE !! DISALLOW FORMAT AND DESCRIPTION ! define rewind command syntax DEFINE VERB REWIND ROUTINE REWIND_CMD NOPARAMETERS NOQUALIFIERS ! define set command syntax DEFINE VERB SET PARAMETER P1,LABEL=WHAT,PROMPT="What" VALUE(REQUIRED,TYPE=SET_TYPE,NOCONCATENATE) ! define set command keywords DEFINE TYPE SET_TYPE KEYWORD DEFAULTS,NONNEGATABLE,SYNTAX=SET_DEFAULT_SYN KEYWORD MAILBOX,NONNEGATABLE,SYNTAX=SET_MAILBOX_SYN KEYWORD OUTPUT,NONNEGATABLE,SYNTAX=SET_OUTPUT_SYN KEYWORD VERIFY,NEGATABLE,SYNTAX=SET_VERIFY_SYN ! define set verify syntax DEFINE SYNTAX SET_VERIFY_SYN ROUTINE SET_VERIFY_CMD NOQUALIFIERS ! define set default syntax DEFINE SYNTAX SET_DEFAULT_SYN ROUTINE SET_DEFAULT_CMD QUALIFIER FORMAT,NONNEGATABLE,VALUE(REQUIRED,TYPE=FORMAT_TYPE) !! QUALIFIER DESCRIPTION,NEGATABLE,VALUE(REQUIRED,TYPE=$FILE) QUALIFIER DATA_SIZE,NONNEGATABLE,VALUE(REQUIRED,TYPE=SIZE_TYPE) QUALIFIER OUTPUT,NONNEGATABLE,VALUE(REQUIRED,TYPE=$FILE) QUALIFIER INPUT,NONNEGATABLE,VALUE(REQUIRED,TYPE=$FILE) QUALIFIER LENGTH,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER COUNT,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER MAXIMUM_MESSAGE_SIZE,NONNEGATABLE,LABEL=MAXMSG VALUE(NOCONCATENATE,TYPE=$NUMBER,REQUIRED) QUALIFIER BUFFER_QUOTA,NONNEGATABLE,LABEL=BUFQUO VALUE(NOCONCATENATE,TYPE=$NUMBER,REQUIRED) QUALIFIER PROTECTION,NONNEGATABLE,LABEL=PROMSK VALUE(NOCONCATENATE,TYPE=$ACL,REQUIRED) QUALIFIER WIDTH,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) ! define set mailbox syntax DEFINE SYNTAX SET_MAILBOX_SYN ROUTINE SET_MAILBOX_CMD PARAMETER P1,LABEL=WHAT,PROMPT="What" VALUE(REQUIRED,TYPE=SET_TYPE,NOCONCATENATE) PARAMETER P2,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) QUALIFIER MAXIMUM_MESSAGE_SIZE,NONNEGATABLE,LABEL=MAXMSG VALUE(NOCONCATENATE,TYPE=$NUMBER,REQUIRED) QUALIFIER BUFFER_QUOTA,NONNEGATABLE,LABEL=BUFQUO VALUE(NOCONCATENATE,TYPE=$NUMBER,REQUIRED) QUALIFIER PROTECTION,NONNEGATABLE,LABEL=PROMSK VALUE(NOCONCATENATE,TYPE=$ACL,REQUIRED) ! define set output syntax DEFINE SYNTAX SET_OUTPUT_SYN ROUTINE SET_OUTPUT_CMD PARAMETER P1,LABEL=WHAT,PROMPT="What" VALUE(REQUIRED,TYPE=SET_TYPE,NOCONCATENATE) PARAMETER P2,LABEL=FILE VALUE(TYPE=$FILE,NOCONCATENATE) ! define show command syntax DEFINE VERB SHOW PARAMETER P1,LABEL=SHOW_WHAT,PROMPT="What" VALUE(REQUIRED,TYPE=SHOW_TYPE,NOCONCATENATE) NOQUALIFIERS ! define show command keywords DEFINE TYPE SHOW_TYPE KEYWORD DEFAULTS,NONNEGATABLE,SYNTAX=SHOW_DEFAULT_SYN KEYWORD MAILBOX,NONNEGATABLE,SYNTAX=SHOW_MAILBOX_SYN KEYWORD DEVICE,NONNEGATABLE,SYNTAX=SHOW_MAILBOX_SYN KEYWORD VERSION,NONNEGATABLE,SYNTAX=SHOW_VERSION_SYN ! define show default command syntax DEFINE SYNTAX SHOW_DEFAULT_SYN ROUTINE SHOW_DEFAULT_CMD NOQUALIFIERS ! define show default command syntax DEFINE SYNTAX SHOW_VERSION_SYN ROUTINE SHOW_VERSION_CMD NOQUALIFIERS ! define show mailbox command syntax DEFINE SYNTAX SHOW_MAILBOX_SYN ROUTINE SHOW_MAILBOX_CMD PARAMETER P1,LABEL=SHOW_WHAT,PROMPT="What" VALUE(REQUIRED,TYPE=SHOW_TYPE,NOCONCATENATE) PARAMETER P2,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) QUALIFIER TEMPORARY, NONNEGATABLE QUALIFIER PERMANENT, NONNEGATABLE QUALIFIER INUSE QUALIFIER EMPTY DISALLOW TEMPORARY AND PERMANENT ! define use command syntax !!DEFINE VERB USE !! ROUTINE USE_CMD !! PARAMETER P1,LABEL=FILENAME,PROMPT="Description filename" !! VALUE(REQUIRED,NOCONCATENATE,TYPE=$FILE) !! NOQUALIFIERS ! define view command syntax DEFINE VERB VIEW ROUTINE VIEW_CMD PARAMETER P1,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) QUALIFIER FORMAT,NONNEGATABLE,VALUE(TYPE=FORMAT_TYPE) !! QUALIFIER DESCRIPTION,NONNEGATABLE,VALUE(TYPE=$FILE) QUALIFIER DATA_SIZE,NONNEGATABLE,VALUE(REQUIRED,TYPE=SIZE_TYPE) QUALIFIER OUTPUT,NONNEGATABLE,VALUE(TYPE=$FILE) QUALIFIER LENGTH,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER COUNT,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) QUALIFIER WIDTH,NONNEGATABLE,VALUE(TYPE=$NUMBER,REQUIRED) !! DISALLOW FORMAT AND DESCRIPTION ! define WAIT command syntax DEFINE VERB WAIT ROUTINE WAIT_CMD PARAMETER P1,LABEL=TIME,PROMPT="Time" VALUE(REQUIRED,NOCONCATENATE,TYPE=$DELTATIME) NOQUALIFIERS ! define write command syntax DEFINE VERB WRITE ROUTINE WRITE_CMD PARAMETER P1,LABEL=NAME,PROMPT="Mailbox name" VALUE(REQUIRED,NOCONCATENATE) QUALIFIER FORMAT,NONNEGATABLE,VALUE(TYPE=FORMAT_TYPE) !! QUALIFIER DESCRIPTION,NONNEGATABLE,VALUE(TYPE=$FILE) QUALIFIER DATA_SIZE,NONNEGATABLE,VALUE(REQUIRED,TYPE=SIZE_TYPE) QUALIFIER INPUT,NONNEGATABLE,VALUE(TYPE=$FILE) QUALIFIER WAIT,NEGATABLE,DEFAULT QUALIFIER EOF !! DISALLOW FORMAT AND DESCRIPTION DISALLOW EOF AND DATA_SIZE DISALLOW EOF AND FORMAT DISALLOW EOF AND INPUT ! define format keywords DEFINE TYPE FORMAT_TYPE KEYWORD HEX,NONNEGATABLE KEYWORD DECIMAL,NONNEGATABLE KEYWORD TEXT,NONNEGATABLE ! define size keywords DEFINE TYPE SIZE_TYPE KEYWORD BYTE,NONNEGATABLE KEYWORD WORD,NONNEGATABLE KEYWORD LONG,NONNEGATABLE