!
! BULLCOM.CLD
!
! VERSION 11/9/99
!
 	MODULE BULLETIN_SUBCOMMANDS

	DEFINE VERB ADD
		PARAMETER P1, LABEL=FILESPEC, VALUE(TYPE=$FILE)
		QUALIFIER ALL, NONNEGATABLE
		QUALIFIER BELL, NONNEGATABLE
		QUALIFIER BROADCAST, NONNEGATABLE
		DISALLOW NOT BROADCAST AND ALL
		DISALLOW NOT BROADCAST AND BELL
		QUALIFIER CC, VALUE(LIST,REQUIRED)
		QUALIFIER CLUSTER, DEFAULT
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER EXTRACT, NONNEGATABLE
		QUALIFIER FOLDER, LABEL=SELECT_FOLDER, VALUE(REQUIRED,LIST)
		QUALIFIER GROUPS, VALUE(LIST,REQUIRED)
		QUALIFIER HEADER
		QUALIFIER NODES, LABEL=NODES, VALUE(REQUIRED,LIST)
		NONNEGATABLE
		QUALIFIER LIST,DEFAULT
		QUALIFIER LOCAL, NONNEGATABLE
		DISALLOW LOCAL AND NOT BROADCAST
		DISALLOW NODES AND SELECT_FOLDER
		QUALIFIER INDENT, VALUE(DEFAULT="->"), DEFAULT
		QUALIFIER PERMANENT, NONNEGATABLE
		QUALIFIER SHUTDOWN, NONNEGATABLE, VALUE
		DISALLOW PERMANENT AND SHUTDOWN
		QUALIFIER FOLLOWUP, VALUE(REQUIRED)
		QUALIFIER NOSIGNATURE
		QUALIFIER SUBJECT, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER SYSTEM, NONNEGATABLE
	DEFINE VERB ATTACH
		PARAMETER P1, LABEL=PROCESS, VALUE(TYPE=$FILE)
		QUALIFIER PARENT
		DISALLOW NOT PARENT AND NOT PROCESS
		DISALLOW PARENT AND PROCESS
	DEFINE VERB BACK
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER HEADER
		QUALIFIER ROTATE
	DEFINE VERB CHANGE
		PARAMETER P1, LABEL=FILESPEC, VALUE(TYPE=$FILE)
		QUALIFIER ALL
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER GENERAL, NONNEGATABLE
		QUALIFIER HEADER, NONNEGATABLE
		QUALIFIER NEW,NONNEGATABLE
		QUALIFIER NUMBER, VALUE(TYPE=$FILE,REQUIRED)
		QUALIFIER OWNER, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER PERMANENT, NONNEGATABLE
		QUALIFIER SHUTDOWN, NONNEGATABLE, VALUE
		QUALIFIER SUBJECT, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER SYSTEM,NONNEGATABLE
		QUALIFIER TEXT, NONNEGATABLE
		DISALLOW ALL AND NUMBER
		DISALLOW NEW AND NOT EDIT
		DISALLOW SYSTEM AND GENERAL
		DISALLOW PERMANENT AND SHUTDOWN
		DISALLOW PERMANENT AND EXPIRATION
		DISALLOW SHUTDOWN AND EXPIRATION
		DISALLOW SUBJECT AND HEADER
	DEFINE VERB COPY
		PARAMETER P1, LABEL=FOLDER, PROMPT="Folder"
			VALUE(REQUIRED)
		PARAMETER P2, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE)
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER FOLLOWUP, VALUE(REQUIRED)
		QUALIFIER GROUPS, VALUE(LIST,REQUIRED)
		QUALIFIER HEADER
		QUALIFIER ALL
		QUALIFIER LOCAL
		QUALIFIER MERGE
		QUALIFIER ORIGINAL
		DISALLOW ALL AND BULLETIN_NUMBER
	DEFINE VERB CREATE
		QUALIFIER ADD_ONLY, NONNEGATABLE
		QUALIFIER ALWAYS, NONNEGATABLE
		QUALIFIER BRIEF, NONNEGATABLE
		QUALIFIER COMPRESS, NONNEGATABLE
		QUALIFIER COPY, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER DESCRIPTION, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER ID, NONNEGATABLE
!
! Add ,DEFAULT to the end of the following line if you want CREATE to be
! a privileged command.  NOTE: Make sure that BULL_DIR:BULLUSER.DAT
! has the following protection:  (RWED,RWED,,)
!
		QUALIFIER NEEDPRIV, NONNEGATABLE
		QUALIFIER NEWS
		QUALIFIER NODE, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER NOTIFY, NONNEGATABLE
		QUALIFIER OWNER, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER POST_ONLY, NONNEGATABLE
		QUALIFIER PRIVATE, NONNEGATABLE
		QUALIFIER READNEW, NONNEGATABLE
		QUALIFIER REMOTENAME, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER SEMIPRIVATE, NONNEGATABLE
		QUALIFIER SHOWNEW, NONNEGATABLE
		QUALIFIER SYSTEM, NONNEGATABLE
		PARAMETER P1, LABEL=CREATE_FOLDER, PROMPT="Folder"
			VALUE(REQUIRED)
		PARAMETER P2, LABEL=FILESPEC, VALUE(TYPE=$FILE)
		DISALLOW ID AND NOT OWNER
		DISALLOW PRIVATE AND SEMIPRIVATE
		DISALLOW BRIEF AND READNEW
		DISALLOW SHOWNEW AND READNEW
		DISALLOW BRIEF AND SHOWNEW
		DISALLOW NODE AND (NOTIFY OR PRIVATE OR SEMIPRIVATE)
		DISALLOW REMOTENAME AND NOT NODE
		DISALLOW POST_ONLY AND ADD_ONLY
	DEFINE VERB CURRENT
		QUALIFIER EDIT
		QUALIFIER HEADER
		QUALIFIER ROTATE
	DEFINE VERB DELETE
		PARAMETER P1, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE)
		QUALIFIER ALL
		QUALIFIER IMMEDIATE,NONNEGATABLE
		QUALIFIER FOLDER, LABEL=SELECT_FOLDER, VALUE(REQUIRED,LIST)
		QUALIFIER FORCE
		QUALIFIER LOCAL
		QUALIFIER NODES, LABEL=NODES, VALUE(REQUIRED,LIST)
		QUALIFIER REASON, VALUE(REQUIRED)
		QUALIFIER SUBJECT, VALUE(REQUIRED)
		DISALLOW NOT SUBJECT AND (NODES OR SELECT_FOLDER)
		DISALLOW NODES AND SELECT_FOLDER
	DEFINE TYPE SEARCH_MATCHES
	   	KEYWORD AND
	   	KEYWORD OR
	      		DEFAULT
	   	KEYWORD XOR
	DEFINE VERB DIRECTORY
		PARAMETER P1, LABEL=SELECT_FOLDER
		QUALIFIER ALL
		QUALIFIER CONTINUE
		QUALIFIER DELETE
		QUALIFIER UNDELETE
		QUALIFIER NEWS, SYNTAX=DIRECTORY_NEWS, NONNEGATABLE
		QUALIFIER END, VALUE(REQUIRED,TYPE=$NUMBER), NONNEGATABLE
		QUALIFIER EXPIRATION
		QUALIFIER EXTRACT, VALUE(TYPE=$FILE,REQUIRED)
		QUALIFIER FEEDBACK
		QUALIFIER FF
		QUALIFIER FO, SYNTAX=DIRECTORY_FOLDER, NONNEGATABLE
		QUALIFIER FOLDER, SYNTAX=DIRECTORY_FOLDER, NONNEGATABLE
                QUALIFIER GROUP, VALUE(REQUIRED,LIST)
		QUALIFIER HEADER, DEFAULT
		QUALIFIER LOCAL
		QUALIFIER NEW
		QUALIFIER NOTIFY, DEFAULT
		QUALIFIER PRINT
		QUALIFIER QUEUE, VALUE(DEFAULT=SYS$PRINT), NONNEGATABLE
                QUALIFIER FORM, VALUE, NONNEGATABLE
		QUALIFIER MATCH, VALUE(DEFAULT="OR",TYPE=SEARCH_MATCHES)
		QUALIFIER NODES, LABEL=NODES, VALUE(REQUIRED,LIST)
		QUALIFIER NOW
		QUALIFIER OUTPUT,VALUE(REQUIRED,TYPE=$FILE)
		QUALIFIER POST, DEFAULT
		QUALIFIER REASON, VALUE(REQUIRED)
		QUALIFIER START, VALUE(REQUIRED,TYPE=$NUMBER), NONNEGATABLE
		QUALIFIER SINCE,VALUE(DEFAULT="TODAY",TYPE=$DATETIME)
		QUALIFIER MARKED, NONNEGATABLE
		QUALIFIER UNMARKED, NONNEGATABLE
		QUALIFIER REPLY, NONNEGATABLE
		QUALIFIER NOREPLIES, NONNEGATABLE
		QUALIFIER ROTATE
		QUALIFIER SEARCH, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER SEEN, NONNEGATABLE
		QUALIFIER UNSEEN, NONNEGATABLE
		QUALIFIER SUBJECT, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER FROM, VALUE(REQUIRED), NONNEGATABLE
                QUALIFIER NEGATED
                DISALLOW GROUP AND
			 NOT (SUBJECT OR SEARCH OR FROM OR NOREPLIES)
                DISALLOW NEGATED AND 
			 NOT (SUBJECT OR SEARCH OR FROM OR NOREPLIES)
		DISALLOW (SUBJECT AND SEARCH) OR (SEARCH AND REPLY)
		DISALLOW (FROM AND SUBJECT) OR (FROM AND NOREPLIES)
		DISALLOW (NOREPLIES AND SUBJECT) OR (REPLY AND NOREPLIES)
		DISALLOW (REPLY AND SUBJECT) OR (REPLY AND FROM)
		DISALLOW (REPLY OR SUBJECT OR SEARCH OR FROM) AND
			 (MARKED OR SEEN OR UNMARKED OR UNSEEN)
		DISALLOW (MARKED AND SEEN) OR (MARKED AND UNSEEN) OR
			 (UNMARKED AND SEEN) OR (UNMARKED AND UNSEEN)
		DISALLOW ALL AND (MARKED OR SEEN OR UNMARKED OR UNSEEN)
		DISALLOW (NEW AND SINCE) OR (START AND NEW) OR (START AND SINCE)
		DISALLOW DELETE AND UNDELETE
	DEFINE SYNTAX DIRECTORY_NEWS
		PARAMETER P1, LABEL=MATCH_FOLDER
		QUALIFIER START, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER NEWS, DEFAULT, NONNEGATABLE
		QUALIFIER DEFAULT
		QUALIFIER PERMANENT
		QUALIFIER SUBSCRIBE
		QUALIFIER FOLDER
		QUALIFIER NEWGROUPS
		QUALIFIER ALL
		QUALIFIER STORED
		QUALIFIER CLASS
		QUALIFIER COUNT
	DEFINE SYNTAX DIRECTORY_FOLDER
		PARAMETER P1, LABEL=MATCH_FOLDER
		QUALIFIER START, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER DESCRIBE
		QUALIFIER FOLDER, DEFAULT
		QUALIFIER NEWS, NONNEGATABLE
	DEFINE VERB E				! EXIT command.
	DEFINE VERB EX				! EXIT command.
	DEFINE VERB EXIT			! EXIT command.
	DEFINE VERB EXCLUDE
		PARAMETER P1
		QUALIFIER ALL
		QUALIFIER DISABLE 
		QUALIFIER FROM
		QUALIFIER FULL
		QUALIFIER LIMIT, VALUE
		QUALIFIER SUBJECT
		DISALLOW FULL AND (ALL OR P1 OR FROM OR SUBJECT)
		DISALLOW ALL AND NOT DISABLE
	DEFINE VERB EXTRACT
		PARAMETER P1, LABEL=EXTRACT, VALUE(TYPE=$FILE)
		PARAMETER P2, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE,LIST)
		QUALIFIER ALL
		QUALIFIER FF
		QUALIFIER HEADER, DEFAULT
		QUALIFIER NEW, NONNEGATABLE
		QUALIFIER ROTATE
		DISALLOW ALL AND BULLETIN_NUMBER
	DEFINE VERB FILE
		PARAMETER P1, LABEL=EXTRACT, VALUE(TYPE=$FILE)
		PARAMETER P2, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE,LIST)
		QUALIFIER ALL
		QUALIFIER FF
		QUALIFIER HEADER, DEFAULT
		QUALIFIER NEW, NONNEGATABLE
		QUALIFIER ROTATE
		DISALLOW ALL AND BULLETIN_NUMBER
	DEFINE VERB FIRST
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER HEADER
		QUALIFIER ROTATE
	DEFINE VERB FORWARD
		PARAMETER P1, LABEL=RECIPIENTS, PROMPT="Recipients"
		VALUE(REQUIRED,IMPCAT,LIST)
		QUALIFIER EDIT, NONNEGATABLE
		QUALIFIER HEADER, DEFAULT
		QUALIFIER SUBJECT, VALUE(REQUIRED)
	DEFINE VERB HELP
		PARAMETER P1, LABEL=HELP_FOLDER, VALUE(TYPE=$REST_OF_LINE)
	DEFINE VERB INCLUDE
		PARAMETER P1
		QUALIFIER ALL
		QUALIFIER DISABLE 
		QUALIFIER FROM
		QUALIFIER FULL 
		QUALIFIER LIMIT, VALUE
		QUALIFIER SUBJECT, DEFAULT
		DISALLOW ALL AND NOT DISABLE
	DEFINE VERB THREAD
		PARAMETER P1
		QUALIFIER ALL
		QUALIFIER DISABLE 
		QUALIFIER FROM
		QUALIFIER FULL 
		QUALIFIER LIMIT, VALUE, NONNEGATABLE
		QUALIFIER SUBJECT, DEFAULT
		DISALLOW ALL AND NOT DISABLE
	DEFINE VERB INDEX
		PARAMETER P1, LABEL=SELECT_FOLDER
		QUALIFIER EXPIRATION
		QUALIFIER MARKED, NONNEGATABLE
		QUALIFIER UNMARKED, NONNEGATABLE
		QUALIFIER FOLDER, SYNTAX=DIRECTORY_FOLDER, NONNEGATABLE
		QUALIFIER NEW, DEFAULT
		QUALIFIER MATCH, VALUE(DEFAULT="OR",TYPE=SEARCH_MATCHES)
		QUALIFIER REPLY, NONNEGATABLE
		QUALIFIER NOREPLIES, NONNEGATABLE
		QUALIFIER RESTART
		QUALIFIER SEARCH, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER SEEN, NONNEGATABLE
		QUALIFIER SET , DEFAULT
		QUALIFIER UNSEEN, NONNEGATABLE
		QUALIFIER SUBSCRIBE
		QUALIFIER PERMANENT
		QUALIFIER NEGATED
		QUALIFIER FROM, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER SUBJECT, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER START, VALUE(REQUIRED,TYPE=$NUMBER), NONNEGATABLE
		QUALIFIER SINCE,VALUE(DEFAULT="TODAY",TYPE=$DATETIME)
		DISALLOW (NEW AND SINCE) OR (START AND NEW) OR (START AND SINCE)
		DISALLOW (MARKED AND SEEN) OR (MARKED AND UNSEEN) OR
			 (UNMARKED AND SEEN) OR (UNMARKED AND UNSEEN)
	DEFINE VERB LAST
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER HEADER
		QUALIFIER ROTATE
	DEFINE VERB MAIL
		PARAMETER P1, LABEL=RECIPIENTS, PROMPT="Recipients"
		VALUE(REQUIRED,IMPCAT,LIST)
		QUALIFIER EDIT, NONNEGATABLE
		QUALIFIER HEADER, DEFAULT
		QUALIFIER SUBJECT, VALUE(REQUIRED)
	DEFINE VERB MARK
		PARAMETER P1, LABEL=NUMBER, VALUE(TYPE=$FILE,LIST)
	DEFINE VERB MODIFY
		QUALIFIER DESCRIPTION
		QUALIFIER ID, NONNEGATABLE
		QUALIFIER NAME, VALUE(REQUIRED)
		QUALIFIER OWNER, VALUE(REQUIRED)
		DISALLOW ID AND NOT OWNER
	DEFINE VERB MOVE
		PARAMETER P1, LABEL=FOLDER, PROMPT="Folder"
			VALUE(REQUIRED)
		PARAMETER P2, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE)
		QUALIFIER ALL
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER FOLLOWUP, VALUE(REQUIRED)
		QUALIFIER FORCE
		QUALIFIER GROUPS, VALUE(LIST,REQUIRED)
		QUALIFIER HEADER
		QUALIFIER LOCAL
		QUALIFIER MERGE
		QUALIFIER NODES
		QUALIFIER ORIGINAL
		QUALIFIER IMMEDIATE,NONNEGATABLE,DEFAULT
		DISALLOW ALL AND BULLETIN_NUMBER
		DISALLOW FOLDER AND NODES
	DEFINE VERB NEWS
		PARAMETER P1, LABEL=MATCH_FOLDER
		QUALIFIER NEWS, DEFAULT, NONNEGATABLE
		QUALIFIER COUNT
		QUALIFIER START, VALUE(REQUIRED), NONNEGATABLE
		QUALIFIER SUBSCRIBE
		QUALIFIER DEFAULT
		QUALIFIER PERMANENT
		QUALIFIER NEWGROUPS
		QUALIFIER ALL
		QUALIFIER STORED
		QUALIFIER CLASS
		DISALLOW CLASS AND (SUBSCRIBE OR START OR ALL OR STORED
			 OR PERMANENT OR DEFAULT)
		DISALLOW NEWGROUPS AND (SUBSCRIBE OR START OR ALL OR STORED
					OR PERMANENT OR DEFAULT)
		DISALLOW (DEFAULT AND PERMANENT) OR (DEFAULT AND SUBSCRIBE)
		DISALLOW PERMANENT AND SUBSCRIBE
	DEFINE VERB N
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER HEADER
                QUALIFIER ROTATE
	DEFINE VERB NEXT
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER HEADER
                QUALIFIER ROTATE
	DEFINE VERB POST
		PARAMETER P1, LABEL=FILESPEC, VALUE(TYPE=$FILE)
		QUALIFIER CC, VALUE(LIST,REQUIRED)
		QUALIFIER EDIT
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER EXTRACT
		QUALIFIER FOLLOWUP, VALUE(REQUIRED)
		QUALIFIER GROUPS, VALUE(LIST,REQUIRED)
		QUALIFIER HEADER
		QUALIFIER LIST, DEFAULT
		QUALIFIER INDENT, VALUE(DEFAULT="->"), DEFAULT
		QUALIFIER NOSIGNATURE
		QUALIFIER SUBJECT, VALUE(REQUIRED)
	DEFINE VERB PRINT
		PARAMETER P1, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE,LIST)
		QUALIFIER HEADER, DEFAULT
		QUALIFIER NOTIFY, DEFAULT
		QUALIFIER QUEUE, VALUE(DEFAULT=SYS$PRINT), NONNEGATABLE
                QUALIFIER FORM, VALUE, NONNEGATABLE
		QUALIFIER NOW
		QUALIFIER CANCEL
		QUALIFIER ALL
		DISALLOW ALL AND BULLETIN_NUMBER
	DEFINE VERB QUIT
	DEFINE VERB READ
		PARAMETER P1, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$NUMBER)
		QUALIFIER ALL
		QUALIFIER EDIT
		QUALIFIER HEADER
		QUALIFIER MARKED, NONNEGATABLE
		QUALIFIER UNMARKED, NONNEGATABLE
		QUALIFIER NEW
		QUALIFIER PAGE, DEFAULT
		QUALIFIER POST, DEFAULT
		QUALIFIER ROTATE
		QUALIFIER SEEN, NONNEGATABLE
		QUALIFIER THREADS
		QUALIFIER UNSEEN, NONNEGATABLE
		QUALIFIER SINCE,VALUE(DEFAULT="TODAY",TYPE=$DATETIME)
		DISALLOW NEW AND SINCE
		DISALLOW BULLETIN_NUMBER AND (ALL OR NEW OR SINCE)
		DISALLOW (MARKED AND SEEN) OR (MARKED AND UNSEEN) OR
			 (UNMARKED AND SEEN) OR (UNMARKED AND UNSEEN)
	DEFINE VERB REPLY
		PARAMETER P1, LABEL=FILESPEC, VALUE(TYPE=$FILE)
		QUALIFIER ALL, NONNEGATABLE
		QUALIFIER BELL, NONNEGATABLE
		QUALIFIER BROADCAST, NONNEGATABLE
		DISALLOW NOT BROADCAST AND ALL
		DISALLOW NOT BROADCAST AND BELL
		QUALIFIER CC, VALUE(LIST,REQUIRED)
		QUALIFIER CLUSTER, DEFAULT
		QUALIFIER EDIT, NEGATABLE
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER EXTRACT, NONNEGATABLE
		QUALIFIER FOLDER, LABEL=SELECT_FOLDER, VALUE(REQUIRED,LIST)
		QUALIFIER GROUPS, VALUE(LIST,REQUIRED)
		QUALIFIER HEADER
		QUALIFIER LIST,DEFAULT
		QUALIFIER LOCAL
		QUALIFIER NODES, LABEL=NODES, VALUE(REQUIRED,LIST)
		NONNEGATABLE
		DISALLOW LOCAL AND NOT BROADCAST
		DISALLOW NODES AND SELECT_FOLDER
		QUALIFIER INDENT, VALUE(DEFAULT="->"), DEFAULT
		QUALIFIER FOLLOWUP, VALUE(REQUIRED)
		QUALIFIER NOSIGNATURE
		QUALIFIER PERMANENT, NONNEGATABLE
		QUALIFIER SHUTDOWN, NONNEGATABLE, VALUE
		DISALLOW PERMANENT AND SHUTDOWN
		QUALIFIER SUBJECT, NONNEGATABLE, VALUE(REQUIRED)
		QUALIFIER SYSTEM, NONNEGATABLE
	DEFINE VERB REMOVE
		PARAMETER P1, LABEL=REMOVE_FOLDER, PROMPT="Folder"
			VALUE(REQUIRED)
	DEFINE VERB RESET
		PARAMETER P1, LABEL=NUMBER, VALUE(TYPE=$FILE)
		QUALIFIER CURRENT
		DISALLOW CURRENT AND NUMBER
	DEFINE VERB RESPOND
		PARAMETER P1, LABEL=FILESPEC, VALUE(TYPE=$FILE)
		QUALIFIER CC, VALUE(LIST,REQUIRED)
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE
		QUALIFIER EXTRACT
		QUALIFIER GROUPS, VALUE(LIST,REQUIRED)
		QUALIFIER HEADER
		QUALIFIER LIST
		QUALIFIER SUBJECT, VALUE(REQUIRED)
		QUALIFIER INDENT, VALUE(DEFAULT="->"), DEFAULT
		QUALIFIER FOLLOWUP, VALUE(REQUIRED)
		QUALIFIER NOSIGNATURE
		DISALLOW GROUPS AND NOT LIST
		QUALIFIER EDIT
	DEFINE VERB SEARCH
		PARAMETER P1, LABEL=SEARCH_STRING, VALUE(LIST) 
		QUALIFIER EDIT
		QUALIFIER FEEDBACK
		QUALIFIER FOLDER, LABEL=SELECT_FOLDER, VALUE(REQUIRED,LIST)
		QUALIFIER FROM
                QUALIFIER GROUP, VALUE(REQUIRED,LIST)
                QUALIFIER NEGATED
		QUALIFIER NOREPLIES, NONNEGATABLE
		QUALIFIER REPLY, NONNEGATABLE
		QUALIFIER REVERSE
		QUALIFIER START, VALUE(TYPE=$NUMBER)
		QUALIFIER SUBJECT
		QUALIFIER MATCH, VALUE(REQUIRED)
		DISALLOW NOT (SEARCH_STRING OR REPLY) AND REVERSE
		DISALLOW SEARCH_STRING AND REPLY
		DISALLOW GROUP AND SELECT_FOLDER
	DEFINE VERB SEEN
		PARAMETER P1, LABEL=NUMBER, VALUE(TYPE=$FILE,LIST)
		QUALIFIER READ
		DISALLOW (NUMBER AND (NEG READ OR READ))
	DEFINE VERB SELECT
		PARAMETER P1, LABEL=SELECT_FOLDER
		QUALIFIER MARKED, NONNEGATABLE
		QUALIFIER UNMARKED, NONNEGATABLE
		QUALIFIER SEEN, NONNEGATABLE
		QUALIFIER UNSEEN, NONNEGATABLE
		DISALLOW (MARKED AND SEEN) OR (MARKED AND UNSEEN) OR
			 (UNMARKED AND SEEN) OR (UNMARKED AND UNSEEN)
	DEFINE VERB SET
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		QUALIFIER ID
	DEFINE TYPE SET_OPTIONS
		KEYWORD NODE, SYNTAX=SET_NODE
		KEYWORD NONODE, SYNTAX = SET_NONODE
		KEYWORD EXPIRE_LIMIT, SYNTAX=SET_EXPIRE
		KEYWORD NOEXPIRE_LIMIT
		KEYWORD GENERIC, SYNTAX=SET_GENERIC
		KEYWORD NOGENERIC, SYNTAX=SET_GENERIC
		KEYWORD LIBRARY, SYNTAX=SET_LIBRARY
		KEYWORD LOGIN, SYNTAX=SET_LOGIN
		KEYWORD NOLOGIN, SYNTAX=SET_LOGIN
		KEYWORD NOBBOARD
		KEYWORD BBOARD, SYNTAX=SET_BBOARD
		KEYWORD NOBRIEF, SYNTAX=SET_NOFLAGS
		KEYWORD BRIEF, SYNTAX=SET_FLAGS
		KEYWORD NOSHOWNEW, SYNTAX=SET_NOFLAGS
		KEYWORD SHOWNEW, SYNTAX=SET_FLAGS
		KEYWORD NOREADNEW, SYNTAX=SET_NOFLAGS
		KEYWORD READNEW, SYNTAX=SET_FLAGS
		KEYWORD ACCESS, SYNTAX=SET_ACCESS
		KEYWORD NOACCESS, SYNTAX=SET_NOACCESS
		KEYWORD FOLDER, SYNTAX=SET_FOLDER
		KEYWORD NOTIFY, SYNTAX=SET_FLAGS
		KEYWORD NONOTIFY, SYNTAX=SET_NOFLAGS
		KEYWORD PRIVILEGES, SYNTAX=SET_PRIVILEGES
		KEYWORD DUMP
		KEYWORD NODUMP
		KEYWORD PAGE
		KEYWORD NOPAGE
		KEYWORD SYSTEM
		KEYWORD NOSYSTEM
		KEYWORD KEYPAD
		KEYWORD NOKEYPAD
		KEYWORD PROMPT_EXPIRE
		KEYWORD NOPROMPT_EXPIRE
		KEYWORD DEFAULT_EXPIRE, SYNTAX=SET_DEFAULT_EXPIRE
		KEYWORD STRIP
		KEYWORD NOSTRIP
		KEYWORD DIGEST
		KEYWORD NODIGEST
		KEYWORD CONTINUOUS_BRIEF
		KEYWORD NOCONTINUOUS_BRIEF
		KEYWORD ALWAYS
		KEYWORD NOALWAYS
		KEYWORD COMPRESS
		KEYWORD NOCOMPRESS
		KEYWORD POST_ONLY
		KEYWORD NOPOST_ONLY
		KEYWORD ADD_ONLY
		KEYWORD NOADD_ONLY
		KEYWORD NEWS, SYNTAX=SET_NEWS 
		KEYWORD ANONYMOUS
		KEYWORD NOANONYMOUS
		KEYWORD EXLIMIT,SYNTAX=SET_EXLIMIT
		KEYWORD EXCLUDE
		KEYWORD NOEXCLUDE
		KEYWORD NAME,SYNTAX=SET_NAME
		KEYWORD SUBSCRIBE, SYNTAX=SET_SUBSCRIBE
		KEYWORD FILE_DIRECTORY,SYNTAX=SET_FILE_DIRECTORY
		KEYWORD GATEWAY
		KEYWORD NOGATEWAY
	DEFINE SYNTAX SET_EXLIMIT
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=SET_PARAM2
			VALUE(REQUIRED,TYPE=$NUMBER)
	DEFINE SYNTAX SET_FILE_DIRECTORY
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=SET_PARAM2
	DEFINE SYNTAX SET_NAME
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=OLDNAME, VALUE(REQUIRED)
		PARAMETER P3, LABEL=NEWNAME, VALUE(REQUIRED)
	DEFINE SYNTAX SET_NODE
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=NODENAME, VALUE(REQUIRED)
		PARAMETER P3, LABEL=REMOTENAME
		QUALIFIER FOLDER, VALUE(REQUIRED)
	DEFINE SYNTAX SET_NONODE
		QUALIFIER FOLDER, VALUE(REQUIRED)
	DEFINE SYNTAX SET_EXPIRE
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=EXPIRATION, VALUE(TYPE=$NUMBER,REQUIRED)
	DEFINE SYNTAX SET_GENERIC
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=USERNAME, VALUE(REQUIRED)
		QUALIFIER DAYS,VALUE(TYPE=$NUMBER,DEFAULT="7"),DEFAULT
	DEFINE SYNTAX SET_LOGIN
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=USERNAME, VALUE(REQUIRED)
	DEFINE SYNTAX SET_LIBRARY 
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=LIBRARY, VALUE(REQUIRED)
	DEFINE SYNTAX SET_FLAGS
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		QUALIFIER DEFAULT
		QUALIFIER NODEFAULT, NONNEGATABLE
		QUALIFIER ALL, NONNEGATABLE
		QUALIFIER PERMANENT
		QUALIFIER NOPERMANENT, NONNEGATABLE
		QUALIFIER FOLDER, VALUE(REQUIRED)
		DISALLOW NODEFAULT AND DEFAULT
		DISALLOW NOPERMANENT AND PERMANENT
		DISALLOW NODEFAULT AND PERMANENT
	DEFINE SYNTAX SET_NOFLAGS
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		QUALIFIER DEFAULT
		QUALIFIER NODEFAULT, NONNEGATABLE
		QUALIFIER PERMANENT
		QUALIFIER NOPERMANENT, NONNEGATABLE
		QUALIFIER ALL, NONNEGATABLE
		QUALIFIER FOLDER, VALUE(REQUIRED)
		DISALLOW NODEFAULT AND DEFAULT
		DISALLOW NOPERMANENT AND PERMANENT
		DISALLOW NODEFAULT AND PERMANENT
	DEFINE SYNTAX SET_SUBSCRIBE
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		QUALIFIER DEFAULT
		QUALIFIER NODEFAULT, NONNEGATABLE
		QUALIFIER PERMANENT
		QUALIFIER NOPERMANENT, NONNEGATABLE
		QUALIFIER ALL, NONNEGATABLE
		DISALLOW NODEFAULT AND DEFAULT
		DISALLOW NOPERMANENT AND PERMANENT
		DISALLOW NODEFAULT AND PERMANENT
		DISALLOW NOT (ALL OR DEFAULT OR NODEFAULT OR PERMANENT
			 OR NOPERMANENT)
	DEFINE SYNTAX SET_BBOARD
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=BB_USERNAME
		QUALIFIER EXPIRATION, VALUE(TYPE=$NUMBER)
			LABEL=EXPIRATION, DEFAULT
		QUALIFIER SPECIAL, NONNEGATABLE
		QUALIFIER VMSMAIL, NONNEGATABLE
		DISALLOW VMSMAIL AND NOT SPECIAL
		DISALLOW VMSMAIL AND NOT BB_USERNAME
	DEFINE SYNTAX SET_FOLDER
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=SELECT_FOLDER
		QUALIFIER MARKED, NONNEGATABLE
		QUALIFIER UNMARKED, NONNEGATABLE
		QUALIFIER SEEN, NONNEGATABLE
		QUALIFIER UNSEEN, NONNEGATABLE
		DISALLOW (MARKED AND SEEN) OR (MARKED AND UNSEEN) OR
			 (UNMARKED AND SEEN) OR (UNMARKED AND UNSEEN)
	DEFINE SYNTAX SET_NOACCESS
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=ACCESS_ID, VALUE(LIST)
		PARAMETER P3, LABEL=ACCESS_FOLDER
		QUALIFIER ALL, NONNEGATABLE
		QUALIFIER CLASS, NONNEGATABLE
		QUALIFIER READONLY, NONNEGATABLE
		DISALLOW NOT ALL AND NOT ACCESS_ID
		DISALLOW ALL AND NOT READONLY
	DEFINE SYNTAX SET_NEWS
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=SHOW_FOLDER
		QUALIFIER ALL, DEFAULT
		QUALIFIER CLASS,VALUE(REQUIRED)
		QUALIFIER DEFAULT, NONNEGATABLE 
		QUALIFIER DELETE, NONNEGATABLE 
		QUALIFIER DISABLE, NONNEGATABLE
		QUALIFIER ENABLE, NONNEGATABLE
		QUALIFIER EXPIRATION, NONNEGATABLE, VALUE(REQUIRED,
				TYPE=$NUMBER)
		QUALIFIER FULL
		QUALIFIER LIMIT, NONNEGATABLE, VALUE(REQUIRED, 
				TYPE=$NUMBER) 
		QUALIFIER PRIVATE
		QUALIFIER STORED
  		DISALLOW (DEFAULT AND CLASS) OR (DELETE AND NOT CLASS)
  		DISALLOW DEFAULT AND (DISABLE OR ENABLE OR PRIVATE)
	DEFINE SYNTAX SET_ACCESS
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=ACCESS_ID, VALUE(LIST)
		PARAMETER P3, LABEL=ACCESS_FOLDER
		QUALIFIER READONLY, NONNEGATABLE
		QUALIFIER CLASS, NONNEGATABLE
		QUALIFIER ALL, NONNEGATABLE
		DISALLOW NOT ALL AND NOT ACCESS_ID
	DEFINE SYNTAX SET_PRIVILEGES
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=PRIVILEGES, PROMPT="Privileges"
		VALUE (REQUIRED,LIST)
	DEFINE SYNTAX SET_DEFAULT_EXPIRE
		PARAMETER P1, LABEL=SET_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SET_OPTIONS)
		PARAMETER P2, LABEL=DEFAULT_EXPIRE, VALUE(TYPE=$NUMBER,REQUIRED)
	DEFINE VERB SHOW
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
!
! The following are defined to allow qualifiers to be specified
! directly after the SHOW command, i.e. SHOW/FULL FOLDER.
! Otherwise, the CLI routines will reject the command, because it
! first attempts to process the qualifier before process the parameter,
! so it has no information the qualifiers are valid.
!
		QUALIFIER FULL, SYNTAX=SHOW_FOLDER_FULL, NONNEGATABLE
		QUALIFIER ALL, SYNTAX=SHOW_USER
		QUALIFIER FOLDER, VALUE, SYNTAX=SHOW_USER
		QUALIFIER LOGIN, SYNTAX=SHOW_USER
		QUALIFIER NOLOGIN, SYNTAX=SHOW_USER
		QUALIFIER PRINT, SYNTAX=SHOW_KEYPAD_PRINT
		QUALIFIER SINCE, VALUE(TYPE=$DATETIME), SYNTAX=SHOW_USER
		QUALIFIER START, SYNTAX=SHOW_USER
		QUALIFIER STATE, VALUE(LIST,DEFAULT=DEFAULT), NONNEGATABLE
	DEFINE TYPE SHOW_OPTIONS
		KEYWORD EXCLUDE
		KEYWORD FLAGS, SYNTAX=SHOW_FLAGS
		KEYWORD FOLDER, SYNTAX=SHOW_FOLDER
		KEYWORD INCLUDE
		KEYWORD KEYPAD, SYNTAX=SHOW_KEYPAD
		KEYWORD LIBRARY, SYNTAX=SHOW_LIBRARY
		KEYWORD NEW, SYNTAX=SHOW_FLAGS
		KEYWORD PRIVILEGES, SYNTAX=SHOW_FLAGS
		KEYWORD THREAD
		KEYWORD USER, SYNTAX=SHOW_USER
		KEYWORD VERSION
	DEFINE SYNTAX SHOW_FLAGS
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
	DEFINE SYNTAX SHOW_KEYPAD
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
                PARAMETER P2, LABEL=SHOW_KEY
		QUALIFIER PRINT
		DISALLOW PRINT AND SHOW_KEY
		QUALIFIER STATE, VALUE(LIST,DEFAULT=DEFAULT), NONNEGATABLE
			DEFAULT
	DEFINE SYNTAX SHOW_KEYPAD_PRINT
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
		QUALIFIER PRINT,DEFAULT
	DEFINE SYNTAX SHOW_LIBRARY
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
		QUALIFIER ALL
	DEFINE SYNTAX SHOW_FOLDER
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
		PARAMETER P2, LABEL=SHOW_FOLDER
	DEFINE SYNTAX SHOW_USER
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
		PARAMETER P2, LABEL=USERNAME
		QUALIFIER ALL
		QUALIFIER FOLDER, VALUE
		QUALIFIER LOGIN
		QUALIFIER NOLOGIN
		QUALIFIER SINCE, VALUE(TYPE=$DATETIME)
		QUALIFIER START, VALUE
		DISALLOW (NOLOGIN OR LOGIN OR ALL) AND USERNAME
		DISALLOW (LOGIN AND NOLOGIN)
		DISALLOW (LOGIN OR NOLOGIN) AND FOLDER
	DEFINE SYNTAX SHOW_FOLDER_FULL
		QUALIFIER FULL, DEFAULT
		PARAMETER P1, LABEL=SHOW_PARAM1, PROMPT="What"
			VALUE(REQUIRED, TYPE=SHOW_OPTIONS)
		PARAMETER P2, LABEL=SHOW_FOLDER
	DEFINE VERB SUBSCRIBE
        DEFINE VERB SPAWN
		PARAMETER P1, LABEL=COMMAND, VALUE(TYPE=$REST_OF_LINE)
	DEFINE VERB UNMARK
		PARAMETER P1, LABEL=NUMBER, VALUE(TYPE=$FILE,LIST)
	DEFINE VERB UNDELETE
		PARAMETER P1, LABEL=BULLETIN_NUMBER, VALUE(TYPE=$FILE)
	DEFINE VERB UNSEEN
		PARAMETER P1, LABEL=NUMBER, VALUE(TYPE=$FILE,LIST)
	DEFINE VERB UNSUBSCRIBE
