! IMTA - DCL definitions for IMTA utilities

! Written by Ned Freed, Kevin Carosso and Dan Newman, 18-Feb-1990

!                  Copyright 1990, 1998
!         Ned Freed, Kevin Carosso and Dan Newman
!              Innosoft International, Inc.

!     This program is  proprietary  to the IMTA  project
!     and is  distributed  under  a  license  agreement.
!     Reproduction, disclosure, or use, in  whole  or in
!     part, other than as  specified  in the license are
!     not to be  undertaken  except  with  prior written
!     authorization of the project.

!                 Restricted Rights Legend                     

!     Use, duplication, or  disclosure by the government is     
!     subject to restrictions as set forth in paragraph (b)     
!     (3) (b) of the Rights  In Technical Data And Computer     
!     software clause in DAR 7-104.9(a).               

!     This notice is to remain in all copies of the
!     program and subroutines.

!+!%ifdef __VMS
  Define Type HIGHLIGHT_OPTIONS
    Keyword REVERSE, Label = HIGHLIGHT_REVERSE
    Keyword BOLD, Label = HIGHLIGHT_BOLD
    Keyword BLINK, Label = HIGHLIGHT_BLINK
    Keyword UNDERLINE, Label = HIGHLIGHT_UNDERLINE
    Keyword BLUE, Label = HIGHLIGHT_BLUE
    Keyword CYAN, Label = HIGHLIGHT_CYAN
    Keyword GREEN, Label = HIGHLIGHT_GREEN
    Keyword MAGENTA , Label = HIGHLIGHT_MAGENTA
    Keyword RED , Label = HIGHLIGHT_RED
    Keyword YELLOW , Label=HIGHLIGHT_YELLOW

  Define Type PAGE_OPTIONS
    Keyword CLEAR_SCREEN, Label = PAGE_CLEAR_SCREEN, Negatable
    Keyword SCROLL, Label = PAGE_SCROLL, Negatable, Default
    Keyword SAVE, Label = PAGE_SAVE, Value (Type = $NUMBER)
!+!%endif

  Define Syntax IMTA_CACHE_CLOSE
!+!%ifdef __VMS
    Image IMTA_EXE:imtacli
!+!%else
!+! Image IMTA_BIN:close_cache
!+!%endif
    Parameter P1, Value (Required)
    Qualifier CLOSE, Nonnegatable, Default
    Qualifier DUMP, Nonnegatable
    Qualifier NODE, Value

  Define Syntax IMTA_CACHE_DUMP
!+!%ifdef __VMS
    Image IMTA_EXE:imtacli
!+!%else
!+! Image IMTA_BIN:view_cache
!+!%endif
    Qualifier CLOSE, Nonnegatable
    Qualifier DUMP, Nonnegatable, Default
    Parameter P1, Value (Required)

  Define Syntax IMTA_CACHE_WALK
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier WALK, Nonnegatable
    Qualifier DEBUG, Nonnegatable, Value (Type = $NUMBER)

  Define Syntax IMTA_CACHE_REBUILD
    Image IMTA_BIN:rebuild_cache
    Parameter P1, Value (Required)
    Qualifier REBUILD, Nonnegatable
    Qualifier STATISTICS, Negatable, Default
    Qualifier DEBUG
!+!%ifdef __VMS
    Qualifier SCRATCH_DISK, Nonnegatable, Value (Required, Type = $INFILE)
!+!%endif
    Qualifier RECIPIENT

  Define Syntax IMTA_CACHE_SYNCH
    Image IMTA_BIN:synch_cache
    Parameter P1, Value (Required)
    Qualifier SYNCHRONIZE, Nonnegatable
    Qualifier DEBUG, Value (Default = 1)
    Qualifier RECIPIENT

  Define Syntax IMTA_CACHE_VIEW
    Image IMTA_BIN:view_cache
    Parameter P1, Value (Required)
    Parameter P2, Label = CHANNELNAME
    Qualifier VIEW, Nonnegatable

Define Syntax IMTA_CACHE
  Parameter P1, Value (Required)
  Qualifier CLOSE, Nonnegatable, Syntax = IMTA_CACHE_CLOSE
  Qualifier DUMP, Nonnegatable, Syntax = IMTA_CACHE_DUMP
  Qualifier REBUILD, Nonnegatable, Syntax = IMTA_CACHE_REBUILD
  Qualifier WALK, Nonnegatable, Syntax = IMTA_CACHE_WALK
  Qualifier SYNCHRONIZE, Nonnegatable, Syntax = IMTA_CACHE_SYNCH
!+!%ifndef __VMS
!+!  Qualifier VIEW, Nonnegatable, Syntax = IMTA_CACHE_VIEW
!+!%endif

  Define Syntax IMTA_CALC
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier EXPRESSION, Nonnegatable, Default
    Qualifier STATEMENT, Value (Default = 1, Type = $NUMBER), Default
    Qualifier MULTIPLE, Default
    Qualifier SYMBOLS
    Qualifier UAV, Value (Default = 2, Type = $NUMBER)
    Qualifier INPUT, Value (Required, Type = $INFILE)
    Qualifier OUTPUT, Value (Required, Type = $INFILE)
    Qualifier MM, Nonnegatable
    Qualifier SY, Nonnegatable
    Qualifier DS, Nonnegatable
    Qualifier MESSAGE, Value (Required, Type = $INFILE)
    Disallow any2 (MM, SY, DS)
    Disallow MESSAGE and (not MM)

!+!%ifdef __NT__
Define Syntax IMTA_CEDIT_PRINT_SPECIFIED
  Image IMTA_BIN:cedit
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = $INFILE)
  Parameter P3, Value (Required, Type = $REST_OF_LINE)
  Qualifier SHIFT_ARG, Nonnegatable, Default
  Qualifier PT, Nonnegatable, Default

Define Syntax IMTA_CEDIT_PRINT_DEFAULT
  Image IMTA_BIN:cedit
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = $INFILE)
  Qualifier SHIFT_ARG, Nonnegatable, Default
  Qualifier P, Nonnegatable, Default

Define Syntax IMTA_CEDIT
  Image IMTA_BIN:cedit
  Parameter P1, Value (Required)
  Parameter P2, Value (Type = $REST_OF_LINE)
  Qualifier SHIFT_ARG, Nonnegatable, Default
  Qualifier P, Nonnegatable, Syntax = IMTA_CEDIT_PRINT_DEFAULT
  Qualifier PT, Nonnegatable, Syntax = IMTA_CEDIT_PRINT_SPECIFIED
!+!%endif

Define Syntax IMTA_CHBUILD
  Image IMTA_BIN:chbuild
  Parameter P1, Value (Required)

Define Syntax PMDF_CGI_QM
  Image IMTA_BIN:cgi_qm
  Parameter P1, Value (Required)

Define Syntax PMDF_CHBUILD
  Image IMTA_BIN:chbuild
  Parameter P1, Value (Required)
  Qualifier DEBUG
  Qualifier SIZES
  Qualifier REMOVE
  Qualifier STATISTICS
  Qualifier OPTION_FILE,
    Value (Type = $OUTFILE, Default = IMTA_CHARSET_OPTION_FILE)
  Qualifier IMAGE_FILE, Value (Type = $OUTFILE, Required)
  Qualifier MAXIMUM
  Qualifier ALPHA, Nonnegatable
  Qualifier VAX, Nonnegatable
  Qualifier VEST, Nonnegatable
  Qualifier OSF, Nonnegatable
  Qualifier SUN, Nonnegatable
  Disallow SIZES and (REMOVE or STATISTICS or OPTION_FILE or MAXIMUM)
  Disallow any2 (ALPHA, VAX, VEST, OSF, SUN)

Define Syntax IMTA_CLBUILD
  Image IMTA_BIN:clbuild
  Parameter P1, Value (Required)
  Parameter P2,
    Prompt = "Command definition",
    Label = COMMAND,
    Value (Required, Type = $INFILE)
  Qualifier REMOVE
  Qualifier SIZES
  Qualifier STATISTICS
  Qualifier OPTION_FILE, Value (Type = $INFILE)
  Qualifier IMAGE_FILE, Value (Type = $OUTFILE, Required)
  Qualifier MAXIMUM
  Qualifier ALPHA, Nonnegatable
  Qualifier VAX, Nonnegatable
  Qualifier VEST, Nonnegatable
  Qualifier OSF, Nonnegatable
  Qualifier SUN, Nonnegatable
  Qualifier DEBUG
  Disallow SIZES and (REMOVE or STATISTICS or OPTION_FILE or MAXIMUM)
  Disallow any2 (ALPHA, VAX, VEST, OSF, SUN)

Define Syntax IMTA_CNBUILD
  Image IMTA_BIN:cnbuild
  Parameter P1, Value (Required)
  Qualifier DEBUG
  Qualifier SIZES
  Qualifier STATISTICS
  Qualifier OPTION_FILE, Value (Type = $OUTFILE, Default = IMTA_OPTION_FILE)
  Qualifier IMAGE_FILE, Value (Type = $OUTFILE, Required)
  Qualifier REMOVE
  Qualifier MAXIMUM
  Qualifier ALPHA, Nonnegatable
  Qualifier VAX, Nonnegatable
  Qualifier VEST, Nonnegatable
  Qualifier OSF, Nonnegatable
  Qualifier SUN, Nonnegatable
  Disallow SIZES and (REMOVE or STATISTICS or OPTION_FILE or MAXIMUM)
  Disallow any2 (ALPHA, VAX, VEST, OSF, SUN)

  Define Type IMTA_ENCODINGS
    Keyword NONE, Nonnegatable
    Keyword QUOTED_PRINTABLE, Nonnegatable
    Keyword BASE32, Nonnegatable
    Keyword OBASE64, Nonnegatable
    Keyword BASE64, Nonnegatable
    Keyword CBASE64, Nonnegatable
    Keyword DBASE64, Nonnegatable
    Keyword HEXADECIMAL, Nonnegatable
    Keyword UUENCODE, Nonnegatable
    Keyword CUUENCODE, Nonnegatable
    Keyword DUUENCODE, Nonnegatable
    Keyword PATHWORKS, Nonnegatable
    Keyword BINHEX, Nonnegatable
    Keyword BTOA, Nonnegatable
    Keyword BASE85, Nonnegatable
    Keyword CDATA, Nonnegatable

  Define Type IMTA_MODES
    Keyword CRATTRIBUTE, Nonnegatable
    Keyword LFATTRIBUTE, Nonnegatable
    Keyword CRLFATTRIBUTE, Nonnegatable
    Keyword BLOCK, Nonnegatable
    Keyword RECORD, Nonnegatable
    Keyword TEXT, Nonnegatable, Value (Type = $NUMBER)
    Keyword POSTSCRIPT, Nonnegatable
    Keyword ENRICHED, Nonnegatable
    Keyword FLOWED, Nonnegatable
    Keyword HTML, Nonnegatable
    Keyword DOUBLEAPPLE, Nonnegatable
    Keyword SINGLEAPPLE, Nonnegatable
    Keyword MACBINARY, Nonnegatable
    Keyword BINHEX, Nonnegatable
    Keyword VIRUSSCAN, Nonnegatable

Define Syntax IMTA_CONFIGUTIL
  Image IMTA_BIN:configutil
  Parameter P1, Value (Required)
  Qualifier O, Value (Required)
  Qualifier V, Value (Required)
  Qualifier SHIFT_ARG, Nonnegatable, Default

Define Syntax IMTA_CONVERT
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Parameter P2,
    Prompt = "Input file",
    Label = INPUT,
    Value (Required, Type = $INFILE, List)
  Parameter P3,
    Prompt = "Output file",
    Label = OUTPUT,
    Value (Required, Type = $OUTFILE, List)
  Qualifier MODE, Placement = Positional, Value (Required, Type = IMTA_MODES)
  Qualifier CHARSET, Placement = Positional, Value (Required)
  Qualifier ENCODING, Placement = Positional, Value (Type = IMTA_ENCODINGS)
  Qualifier HEADER, Placement = Positional
  Qualifier TYPE, Placement = Positional, Value (Required)
  Qualifier SUBTYPE, Placement = Positional, Value (Required)
  Qualifier PARAMETERS, Placement = Positional,
     Value (Required, List, Concatenate)
  Qualifier LINE_LENGTH, Value (Required)
  Qualifier CHECKSUM
  Qualifier DEBUG
  Qualifier FILENAME, Placement = Positional, Value (Type = $INFILE)
  Qualifier FTYPE, Value (Required)
  Qualifier FCREATOR, Value (Required)
  Qualifier FDL, Value (Required)
  Qualifier MSUBTYPE, Value (Required)
  Qualifier MPARAMETERS, Value (Required, List)

Define Syntax IMTA_CRDB_DUMP
  Image IMTA_BIN:dumpdb
  Parameter P1, Value (Required)
  Parameter P2,
    Label = INPUT,
    Prompt = "Input database",
    Value (Required, Type = $INFILE)
  Parameter P3,
    Label = OUTPUT,
    Prompt = "Output file",
    Value (Type = $OUTFILE)
  Qualifier DUMP

Define Syntax IMTA_CRDB
  Image IMTA_BIN:crdb
  Parameter P1, Value (Required)
  Parameter P2,
    Label = INPUT,
    Prompt = "Input file",
    Value (Required, Type = $INFILE, List)
  Parameter P3,
    Label = OUTPUT,
    Prompt = "Output database",
    Value (Required, Type = $OUTFILE)
  Parameter P4,
    Label = SUFFIX,
    Prompt = "Domain suffix"
  Qualifier DUMP, Nonnegatable, Syntax = IMTA_CRDB_DUMP
  Qualifier DUPLICATES, Negatable
  Qualifier FAST_LOAD, Negatable
  Qualifier APPEND, Negatable
  Qualifier EXCEPTION_FILE, Negatable, Value (Required, Type = $OUTFILE)
  Qualifier HUGE_RECORDS, Negatable
  Qualifier LOWER_CASE, Negatable, Default
  Qualifier LONG_RECORDS, Negatable
  Qualifier COUNT, Negatable, Default
  Qualifier STATISTICS, Negatable, Default
  Qualifier WRITE_CHECK, Negatable
  Qualifier STRIP_COLONS, Negatable
  Qualifier QUOTED, Negatable
  Qualifier REMOVE, Negatable
  Qualifier SCRATCH_DISK, Nonnegatable, Value (Required)
  Qualifier EXCLUDE, Value (Required, List)
  Qualifier INCLUDE, Negatable, Default
  Disallow (HUGE_RECORDS and LONG_RECORDS)
  Disallow (APPEND and FAST_LOAD) 
!fast_load means noappend
!append means nofast_load
!or ((not APPEND) and (not FAST_LOAD))

!+!%ifdef __VMS
Define Syntax IMTA_CWD
  Image IMTA_EXE:imtacli
  Parameter P1, Value (Required)
  Parameter P2, Value (Type = $REST_OF_LINE), Prompt = "New directory"
!+!%endif

Define Syntax IMTA_DB
  Image IMTA_BIN:db
  Parameter P1, Value (Required)
  Parameter P2, Label = MATHLIB_COMMAND, Value (Type = $REST_OF_LINE)
  Qualifier NOEXIT, Nonnegatable

Define Syntax IMTA_DUMPDB
 Image IMTA_BIN:dumpdb
 Parameter P1, Value (Required)
 Parameter P2,
   Label = INPUT,
   Prompt = "Input database",
   Value (Required, Type = $INFILE)
 Parameter P3,
   Label = OUTPUT,
   Prompt = "Output file",
   Value (Type = $OUTFILE)

!+!%ifndef __VMS
!Define Syntax IMTA_CONVERTDB
!  Image IMTA_BIN:convertdb
!  Parameter P1, Value (Required)
!  Parameter P2, Label = INPUTFILE, Value (Required, Type = $INFILE)
!  Parameter P3, Label = OUTPUTFILE, Value (Required, Type = $OUTFILE)

!+!Define Syntax IMTA_RENAMEDB
!+!  Image IMTA_BIN:renamedb
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Label = INPUTFILE, Value (Required, Type = $INFILE)
!+!  Parameter P3, Label = OUTPUTFILE, Value (Required, Type = $OUTFILE)

!+!Define Syntax IMTA_CLEANDB
!+!%ifdef __NT__
!+!  Image IMTA_BIN:cleandb
!+!%else
!+!  Image IMTA_BIN:cleandb.sh
!+!%endif
!+!  Parameter P1, Value (Required)
!+!%endif

!+!%ifdef __VMS
Define Syntax IMTA_DELETE
  Image IMTA_EXE:imtacli
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "IMTA Parameter", Value (Required)
  Qualifier USER, Value (Required)
!+!%endif

Define Syntax IMTA_FIND
  Image IMTA_BIN:view
  Parameter P1, Value (Required)
  Parameter P2, Label = FILE_PATTERN, Value (type = $REST_OF_LINE)
  Qualifier FIRST, Value (Required)
  Qualifier LAST, Value (Required)
  Qualifier DEBUG, Nonnegatable

!+!%ifdef __VMS
Define Syntax IMTA_FAX_EXCHANGES
  Image IMTA_EXE:FAX_EXCHANGES
  Parameter P1, Value (Required)
  Parameter P2,
    Label = INPUT,
    Prompt = "Exchange file",
    Value (Type = $INFILE)
  Parameter P3,
    Label = OUTPUT,
    Prompt = "Output file",
    Value (Type = $OUTFILE)
  Qualifier CHANNEL, Value (Required), Nonnegatable
  Qualifier COUNTRY_CODE, Value (Required), Nonnegatable
  Qualifier DEBUG

Define Syntax IMTA_FOLDER
  Image IMTA_EXE:folder
  Parameter P1, Value (Required)
  Parameter P2,
    Label = MESSAGEFILE,
    Prompt = "Message file(s)",
    Value (Required, Type = $INFILE, List)
  Parameter P3,
    Label = FOLDER,
    Prompt = "VMS MAIL folder",
    Default,
    Value (Default = "NEWMAIL")
  Parameter P4,
    Label = MAILFILE,
    Prompt = "Mail file"
  Qualifier TRUNCATE
  Qualifier WRAP
  Qualifier FROM, Value (Required)
  Qualifier DIGEST
  Qualifier MBOX
  Qualifier MAIL
  Qualifier TO, Value (Required)
  Qualifier CC, Value (Required)
  Qualifier SUBJECT, Value (Required)
  Qualifier BLANK
  Qualifier DEBUG
  Qualifier RETRIES, Value (Required, Type = $NUMBER)
  Qualifier CREATE
  Disallow any2 (TRUNCATE, WRAP)
  Disallow any2 (DIGEST, MBOX, MAIL)
  Disallow (DIGEST or MBOX or MAIL) and (TO or CC or SUBJECT)
!+!%endif __VMS

Define Syntax IMTA_FORWARD
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Parameter P2, Label = ADDRESS
  Qualifier USER, Nonnegatable, Value (Required)
  Qualifier SUBADDRESS, Nonnegatable, Value (Required)
  Qualifier DELETE, Nonnegatable
  Qualifier ADD, Nonnegatable
  Disallow (SUBADDRESS and USER) or (DELETE and ADDRESS) or (DELETE and ADD) or
           (ADD and (not ADDRESS))

!+!%ifdef __VMS
Define Syntax IMTA_G3_NO_CDA
  Image IMTA_EXE:g3
  Parameter P1,
    Value (Required)
  Parameter P2,
    Label = INFILE,
    Prompt = "Input file",
    Value (Required, Type = $INFILE)
  Qualifier EDIT, Nonnegatable
  Qualifier INFORMATION, Negatable, Default
  Qualifier NOCDA, Nonnegatable, Default
  Qualifier UPGRADE, Nonnegatable

Define Syntax IMTA_G3_EDIT
  Image IMTA_EXE:g3
  Parameter P1,
    Value (Required)
  Parameter P2,
    Label = INFILE,
    Prompt = "Input file",
    Value (Required, Type = $INFILE)

Define Syntax IMTA_G3
  Image IMTA_EXE:g3
  Qualifier NOCDA, Nonnegatable, Syntax = IMTA_G3_NO_CDA
  Qualifier CDA, Nonnegatable, Default
  Qualifier EDIT, Nonnegatable, Syntax = IMTA_G3_EDIT
  Parameter P1,
    Value (Required)
  Parameter P2,
    Label = INFILE,
    Prompt = "Input file",
    Value (Required, Type = $INFILE)
  Parameter P3,
    Label = OUTFILE,
    Prompt = "Output file",
    Value (Required, Type = $OUTFILE)
  Qualifier INFORMATION, Negatable, Default
  Qualifier MAGNIFICATION, Value (Required), Nonnegatable
  Qualifier UPGRADE, Nonnegatable

  Define Type INSTALL_OPERATIONS
    Keyword ADD, Nonnegatable
    Keyword DELETE, Nonnegatable
    Keyword LIST, Nonnegatable
    Keyword REMOVE, Nonnegatable
    Keyword REPLACE, Nonnegatable
    Keyword CREATE, Nonnegatable

Define Syntax IMTA_INSTALL
  Image IMTA_EXE:imtacli
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "Operation", Value (Type = INSTALL_OPERATIONS)
  Qualifier OUTPUT, Nonnegatable, Value (Type = $OUTFILE, Default = SYS$OUTPUT)
  Qualifier IMTA_EXECUTE,
    Default,
    Value (Default = "@IMTA_COM:IMAGE_INSTALL.COM IMTA")

  Define Syntax LICENSE_LOAD
    Image IMTA_EXE:license_load
    Parameter P1, Value (Required)
    Parameter P2, Label = OPERATION, Prompt = "Operation", Value (Required)

  Define Syntax LICENSE_UNLOAD
    Image IMTA_EXE:license_unload
    Parameter P1, Value (Required)
    Parameter P2, Label = OPERATION, Prompt = "Operation", Value (Required)

  Define Type LICENSE_OPERATIONS
    Keyword LOAD, Nonnegatable, Syntax = LICENSE_LOAD
    Keyword UNLOAD, Nonnegatable, Syntax = LICENSE_UNLOAD

Define Syntax IMTA_LICENSE
  Parameter P1, Value (Required)
  Parameter P2,
    Label = OPERATION,
    Prompt = "Operation",
    Value (Required, Type = LICENSE_OPERATIONS)
!+!%endif

!+!%ifndef __VMS
!+!Define Syntax IMTA_LICENSE
!+!  Image IMTA_BIN:license_verify
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Label=LICENSE_FILE
!+!  Qualifier VERIFY, Nonnegatable
!+!%endif

!+!%ifndef __VMS
!+!  Define Type IMTA_KILL_TYPES
!+!    Keyword CONTROLLER
!+!    Keyword DISPATCHER
!+!    Keyword JOB_CONTROLLER

!+!Define Syntax IMTA_KILL
!+!  Image IMTA_BIN:imtacli
!+!  Parameter P1, Value (Required)
!+!  Parameter P2,
!+!    Prompt = "Component",
!+!    Value (Type = IMTA_KILL_TYPES)
!+!%endif

!+!%ifdef __VMS
Define Syntax IMTA_KILL
  Image IMTA_EXE:imtacli
  Parameter P1, Value (Required)
  Parameter P2, label = IMTA_PROCESS_STUFF, Value (type = $REST_OF_LINE)
  Qualifier IMTA_EXECUTE,
    Default,
    Value (Default = "@IMTA_COM:SHOWPROC.COM IMTA CPU KILL")
  Qualifier MEMORY, Nonnegatable, Syntax = IMTA_KILL_MEMORY

  Define Type IMTA_MAIL_EDIT_REPLY
    Keyword EXTRACT, Value

  Define Type IMTA_MAIL_EDIT
    Keyword FORWARD
    Keyword SEND
    Keyword REPLY, Value (Type = IMTA_MAIL_EDIT_REPLY)
    Keyword READ
    Keyword DIRECTORY
    Keyword HEADER, Negatable
    Keyword KEPT, Value
    Keyword ALL
    Keyword NONE
    Keyword COMMAND_LINE

  Define Type IMTA_MAIL_ENCAPSULATE
    Keyword FORWARD
    Keyword SEND
    Keyword REPLY
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_MULTIPLE
    Keyword FORWARD
    Keyword SEND
    Keyword REPLY
    Keyword RESEND
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_ENTIRE
    Keyword FORWARD
    Keyword REPLY
    Keyword EXTRACT
    Keyword PRINT
    Keyword RESEND
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_SELF
    Keyword FORWARD
    Keyword SEND
    Keyword REPLY
    Keyword RESEND
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_REMOVE
    Keyword FORWARD
    Keyword SEND
    Keyword REPLY
    Keyword RESEND
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_TRIM
    Keyword FORWARD
    Keyword REPLY
    Keyword EXTRACT
    Keyword PRINT
    Keyword SEND
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_CONFIRM
    Keyword FORWARD
    Keyword REPLY
    Keyword PRINT
    Keyword EXTRACT
    Keyword SEND
    Keyword DIGEST
    Keyword ADDRESS
    Keyword RESEND
    Keyword ALL
    Keyword NONE

  Define Type IMTA_MAIL_EIGHTBIT
    Keyword LEAVE, Nonnegatable
    Keyword REMOVE, Nonnegatable
    Keyword STRIP, Nonnegatable
    Keyword HEXIFY, Nonnegatable
    Keyword REPLACE, Nonnegatable

Define Syntax IMTA_MAIL
  Image IMTA_EXE:ua
  Parameter P1, Value (Required)
  Parameter P2, Label = FILE, Prompt = "File(s)", Value (Type = $INFILE, List)
  Parameter P3, Label = TOLIST, Prompt = "To", Value (List)
  Qualifier ABORT, Nonnegatable
  Qualifier ALL
  Qualifier BCC_LIST, Nonnegatable, Value (Required, List)
  Qualifier BCC_PROMPT
  Qualifier BLOCK, Nonnegatable
  Qualifier CAPTIVE, Nonnegatable
  Qualifier CC_LIST, Nonnegatable, Value (Required, List)
  Qualifier CC_PROMPT
  Qualifier COMMENTS, Value (Required)
  Qualifier CONFIRM, Nonnegatable, Value (Type = IMTA_MAIL_CONFIRM)
  Qualifier EDIT, Value (Type = IMTA_MAIL_EDIT, List)
  Qualifier EIGHTBIT, Value (Type = IMTA_MAIL_EIGHTBIT)
  Qualifier ENCAPSULATE, Nonnegatable, Value (Type = IMTA_MAIL_ENCAPSULATE)
  Qualifier ENCODING, Nonnegatable, Value (Required)
  Qualifier ENTIRE, Nonnegatable, Value (Type = IMTA_MAIL_ENTIRE)
  Qualifier FILENAME
  Qualifier FROM, Value (Required)
  Qualifier IGNORE, Nonnegatable
  Qualifier LIST
  Qualifier MESSAGE, Nonnegatable, Value (Type = IMTA_MAIL_ENTIRE)
  Qualifier MULTIPLE, Nonnegatable, Value (Type = IMTA_MAIL_MULTIPLE)
  Qualifier NOCONFIRM, Nonnegatable, Value (Type = IMTA_MAIL_CONFIRM)
  Qualifier NOENCAPSULATE, Nonnegatable, Value (Type = IMTA_MAIL_ENCAPSULATE)
  Qualifier NOMULTIPLE, Nonnegatable, Value (Type = IMTA_MAIL_MULTIPLE)
  Qualifier NOREMOVE, Nonnegatable, Value (Type = IMTA_MAIL_REMOVE, List)
  Qualifier NOSELF, Nonnegatable, Value (Type = IMTA_MAIL_SELF)
  Qualifier NOTRIM, Nonnegatable, Value (Type = IMTA_MAIL_TRIM, List)
  Qualifier PART, Nonnegatable, Value (Type = IMTA_MAIL_ENTIRE)
  Qualifier PERSONAL_NAME, Value (Required)
  Qualifier PREVALIDATE
  Qualifier PRIORITY, Value (Required)
  Qualifier RECORD, Nonnegatable
  Qualifier REMOVE, Nonnegatable, Value (Type = IMTA_MAIL_REMOVE, List)
  Qualifier REPEATED
  Qualifier REPLY_TO, Value (Required)
  Qualifier RESENT
  Qualifier SCAN_COMMANDS, Default
  Qualifier SELF, Nonnegatable, Value (Type = IMTA_MAIL_SELF, List)
  Qualifier SENSITIVITY, Value (Required)
  Qualifier SIGNATURE, Value (Required)
  Qualifier SINGLE, Nonnegatable
  Qualifier SSA, Nonnegatable
  Qualifier SSUBADDRESS, Nonnegatable, Value (Required)
  Qualifier SUBADDRESS, Nonnegatable, Value (Required)
  Qualifier SUBJECT, Value
  Qualifier TEXT, Nonnegatable
  Qualifier TOC
  Qualifier TO_LIST, Nonnegatable, Value (Required, List)
  Qualifier TO_PROMPT
  Qualifier TRANSPORT
  Qualifier TRIM, Nonnegatable, Value (Type = IMTA_MAIL_TRIM, List)
  Qualifier USER, Nonnegatable, Value (Required)
  Disallow (EDIT.ALL and EDIT.NONE)
!+!%endif

  Define Type IMTA_MBX_SSTORE
!+!%ifndef __NT__
    Keyword NATIVE, Nonnegatable
!+!%endif
    Keyword POPSTORE, Nonnegatable

  Define Type IMTA_MBX_TSTORE
!+!%ifdef __UNIX
    Keyword NATIVE, Nonnegatable
!+!%endif
    Keyword MSGSTORE, Nonnegatable
    Keyword POPSTORE, Nonnegatable

Define Syntax IMTA_MOVEIN
  Image IMTA_BIN:movein
  Parameter P1, Value (Required)
!+!%ifdef __VMS
  Parameter P2, Prompt = "Username & Password", Label = USERNAME,
    Value (Type = $REST_OF_LINE)
!+!%else
!+!Parameter P2, Prompt = "Username", Label = USERNAME, Value
!+!%endif
  Parameter P3, Prompt = "Password", Label = PASSWORD, Value
!+!%ifndef __NT__
  Qualifier BEFORE, Nonnegatable, Value (Required)
!+!%endif
  Qualifier DEBUG
  Qualifier DESTINATION, Nonnegatable, Value (Required, Type = IMTA_MBX_TSTORE)
  Qualifier DSTDMN, Nonnegatable, Value (Required)
  Qualifier EXCEPTION_FILE, Nonnegatable, Value (Required, Type = $OUTFILE)
  Qualifier FORCE_MIGRATE
  Qualifier FORWARD, Default
  Qualifier HELP, Nonnegatable
  Qualifier HOST, Nonnegatable, Value (Required)
!+!%ifndef __VMS
  Qualifier INBOX_FILE, Nonnegatable, Value (Required)
!+!%else
  Qualifier WASTEBASKET, Default
  Qualifier LOWERCASE
!+!%endif
  Qualifier INPUT, Nonnegatable, Value (Required, Type = $INFILE)
  Qualifier LOG, Default
!+!%ifndef __NT__
  Qualifier SINCE, Nonnegatable, Value (Required)
!+!%endif
  Qualifier SOURCE, Nonnegatable, Value (Required, Type = IMTA_MBX_SSTORE)
  Qualifier SRCDMN, Nonnegatable, Value (Required)
  Qualifier USE_EXISTING
  Disallow (USERNAME and INPUT) or (PASSWORD and INPUT)

Define Syntax IMTA_MIGRATE
  Image IMTA_BIN:migrate

  Define Type HASHES
    Keyword MD2, Nonnegatable
    Keyword MD4, Nonnegatable
    Keyword MD5, Nonnegatable
    Keyword SHA1, Nonnegatable
    Keyword HAVAL, Nonnegatable
    Keyword MD128, Nonnegatable
    Keyword MD160, Nonnegatable
    Keyword TIGER, Nonnegatable

Define Syntax IMTA_PASSWORD
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Qualifier POPSTORE, Nonnegatable, Syntax = IMTA_POPMGR_PWD
  Parameter P2, Label = PASSWORD, Prompt = "Password"
  Qualifier SERVICE, Nonnegatable, Value (Required)
  Qualifier USER, Nonnegatable, Value (Required)
!+!%ifdef __VMS
  Qualifier CONVERT, Nonnegatable
!+!%endif
  Qualifier DELETE, Nonnegatable
  Qualifier CREATE, Nonnegatable
  Qualifier TEST, Nonnegatable
  Qualifier SHOW, Nonnegatable
  Qualifier REPLACE
  Disallow any2 (CREATE, DELETE,
!+!%ifdef __VMS
                 CONVERT,
!+!%endif
                 SHOW, TEST)
  Qualifier CLEAR, Nonnegatable
  Qualifier ONEWAY, Nonnegatable
  Qualifier CRAM, Nonnegatable
  Qualifier SKEY, Nonnegatable
  Qualifier SNK, Nonnegatable
  Qualifier SECUREID, Nonnegatable
  Disallow any2 (CLEAR, ONEWAY, CRAM, SKEY, SNK, SECUREID)
  Qualifier HASH, Nonnegatable, Value (Type = HASHES)

  Define Type PS_FORMS
    Keyword A, Nonnegatable
    Keyword A0, Nonnegatable
    Keyword A1, Nonnegatable
    Keyword A2, Nonnegatable
    Keyword A3, Nonnegatable
    Keyword A4, Nonnegatable
    Keyword A5, Nonnegatable
    Keyword A6, Nonnegatable
    Keyword B, Nonnegatable
    Keyword B0, Nonnegatable
    Keyword B1, Nonnegatable
    Keyword B2, Nonnegatable
    Keyword B3, Nonnegatable
    Keyword B4, Nonnegatable
    Keyword B5, Nonnegatable
    Keyword B6, Nonnegatable
    Keyword C, Nonnegatable
    Keyword D, Nonnegatable
    Keyword E, Nonnegatable
    Keyword FOLIO, Nonnegatable
    Keyword GLEGAL, Nonnegatable
    Keyword GLETTER, Nonnegatable
    Keyword LEDGER, Nonnegatable
    Keyword LEGAL, Nonnegatable
    Keyword LETTER, Nonnegatable
    Keyword LP, Nonnegatable
    Keyword VT, Nonnegatable

  Define Syntax PS_MAIL_SET
    Image IMTA_EXE:ps
    Parameter P1, Value (Required)
    Qualifier MAIL, Nonnegatable, Default
    Qualifier BOTTOM_MARGIN, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier CALCULATE
    Qualifier CHARSET, Value (Required), Nonnegatable
    Qualifier COLUMNS, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier END_PAGE, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier FONT, Value (Required), Nonnegatable
    Qualifier FORM, Value (Required, Type = PS_FORMS), Nonnegatable
    Qualifier FORTRAN
    Qualifier ITALIC, Nonnegatable
    Qualifier LANDSCAPE, Nonnegatable
    Qualifier LEFT_MARGIN, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier LINES, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier PORTRAIT, Nonnegatable
    Qualifier SIZE, Value (Default = "10.0"), Nonnegatable, Default
    Qualifier HEIGHT, Value (Required), Nonnegatable
    Qualifier WIDTH, Value (Required), Nonnegatable
    Qualifier SPACING, Value (Required), Nonnegatable
    Qualifier START_PAGE, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier TOP_MARGIN, Value (Required, Type = $NUMBER), Nonnegatable
    Qualifier UNDERLINE, Nonnegatable
    Qualifier JOB, Nonnegatable
    Qualifier PROCESS, Nonnegatable
    Qualifier NUMBER_PAGES
    Disallow  LANDSCAPE and PORTRAIT
    Disallow  ITALIC and UNDERLINE
    Disallow  CALCULATE and SIZE
    Disallow  CALCULATE and not LINES
    Disallow  JOB and PROCESS

Define Syntax IMTA_PINE
  Image IMTA_BIN:pine
!+!%ifndef __VMS
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Value (Type = $REST_OF_LINE)
!+!  Qualifier SHIFT_ARG, Nonnegatable, Default
!+!%endif

Define Syntax IMTA_POPMGR_PWD
  Image IMTA_BIN:popmgr
  Parameter P1, Value (Required)
  Qualifier PASSWORD, Nonnegatable, Default

Define Syntax IMTA_MSGSTOREMGR_PWD
  Image IMTA_BIN:msgstoremgr
  Parameter P1, Value (Required)
  Qualifier PASSWORD, Nonnegatable, Default

Define Syntax IMTA_POPMGR
  Image IMTA_BIN:popmgr
  Parameter P1, Value (Required)
  Parameter P2, Label = MATHLIB_COMMAND, Value (Type = $REST_OF_LINE)
  Qualifier PASSWORD, Syntax = IMTA_POPMGR_PWD, Nonnegatable

Define Syntax IMTA_MSGSTOREMGR
  Image IMTA_BIN:msgstoremgr
  Parameter P1, Value (Required)
  Parameter P2, Label = MATHLIB_COMMAND, Value (Type = $REST_OF_LINE)
  Qualifier PASSWORD, Syntax = IMTA_MSGSTOREMGR_PWD, Nonnegatable

Define Syntax IMTA_PROCESS
!+!%ifdef __NT__
!+!  Image IMTA_BIN:imta_pid
!+!  Parameter P1, Value (Required)
!+!%else
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Parameter P2, label = IMTA_PROCESS_STUFF, Value (type = $REST_OF_LINE)
  Qualifier IMTA_EXECUTE,
    Default,
!+!%ifdef __VMS
    Value (Default = "@IMTA_COM:SHOWPROC.COM IMTA CPU")
  Qualifier MEMORY, Nonnegatable, Syntax = IMTA_PROCESS_MEMORY
!+!%else
!+!%ifndef __LINUX__
!+! Value (Default = "IMTA_BIN:imta_process")
!+!%else
!+! Value (Default = "su `id -u -n` -c &/IMTA_BIN//imta_process", Pump)
!+!%endif
!+!%endif
!+!%endif

!+!%ifdef __VMS
Define Syntax IMTA_PROCESS_MEMORY
  Image IMTA_EXE:imtacli
  Parameter P1, Value (Required)
  Parameter P2, label = IMTA_PROCESS_STUFF, Value (type = $REST_OF_LINE)
  Qualifier IMTA_EXECUTE,
    Default,
    Value (Default = "@IMTA_COM:SHOWPROC.COM IMTA MEM")
Define Syntax IMTA_KILL_MEMORY
  Image IMTA_EXE:imtacli
  Parameter P1, Value (Required)
  Parameter P2, label = IMTA_PROCESS_STUFF, Value (type = $REST_OF_LINE)
  Qualifier IMTA_EXECUTE,
    Default,
    Value (Default = "@IMTA_COM:SHOWPROC.COM IMTA MEM KILL")
!+!%endif

  Define Syntax IMTA_PROFILE_METHOD_DELETE
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Parameter P4, Label = METHOD, Prompt = "Method", Value (Required)

  Define Syntax IMTA_PROFILE_METHOD_SET
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Parameter P4, Label = METHOD, Prompt = "Method",
      Value (Required)
    Parameter P5, Label = FORWARD_TO, Prompt = "Forward to", Value (Required)

  Define Syntax IMTA_PROFILE_METHOD_SHOW_ALL
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Qualifier ALL, Syntax = IMTA_PROFILE_METHOD_SHOW_ALL, Nonnegatable

  Define Syntax IMTA_PROFILE_METHOD_SHOW
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Parameter P4, Label = METHOD, Prompt = "Method", Value (Required)
    Qualifier ALL, Syntax = IMTA_PROFILE_METHOD_SHOW_ALL, Nonnegatable

  Define Syntax IMTA_PROFILE_DELIVERY_DELETE
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Qualifier USER, Value (Required), Nonnegatable
    Qualifier DEFAULT, Nonnegatable
    Disallow USER And DEFAULT

  Define Syntax IMTA_PROFILE_DELIVERY_SET
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Parameter P4, Label = METHOD, Prompt = "Method",
      Value (Required)
    Qualifier USER, Value (Required), Nonnegatable
    Qualifier DEFAULT, Nonnegatable
    Disallow USER And DEFAULT

  Define Syntax IMTA_PROFILE_DELIVERY_SHOW
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Qualifier ALL, Nonnegatable
    Qualifier DEFAULT, Nonnegatable
    Qualifier USER, Value (Required), Nonnegatable
    Disallow Any2(ALL, DEFAULT, USER)

  Define Syntax IMTA_PROFILE_UIDGID_DELETE
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Qualifier USER, Value (Required), Nonnegatable
    Qualifier DEFAULT, Nonnegatable
    Disallow USER And DEFAULT

  Define Syntax IMTA_PROFILE_UIDGID_SET
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Parameter P4, Label = UIDGID, Prompt = "UID:GID",
      Value (Required)
    Qualifier USER, Value (Required), Nonnegatable
    Qualifier DEFAULT, Nonnegatable
    Disallow USER And DEFAULT

  Define Syntax IMTA_PROFILE_UIDGID_SHOW
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Value (Required)
    Qualifier ALL, Nonnegatable
    Qualifier DEFAULT, Nonnegatable
    Qualifier USER, Value (Required), Nonnegatable
    Disallow Any2(ALL, DEFAULT, USER)

  Define Type IMTA_PROFILE_ELEMENT_DELETE
    Keyword METHOD, Syntax = IMTA_PROFILE_METHOD_DELETE
    Keyword DELIVERY, Syntax = IMTA_PROFILE_DELIVERY_DELETE
    Keyword UIDGID, Syntax = IMTA_PROFILE_UIDGID_DELETE

  Define Type IMTA_PROFILE_ELEMENT_SET
    Keyword METHOD, Syntax = IMTA_PROFILE_METHOD_SET
    Keyword DELIVERY, Syntax = IMTA_PROFILE_DELIVERY_SET
    Keyword UIDGID, Syntax = IMTA_PROFILE_UIDGID_SET

  Define Type IMTA_PROFILE_ELEMENT_SHOW
    Keyword METHOD, Syntax = IMTA_PROFILE_METHOD_SHOW
    Keyword DELIVERY, Syntax = IMTA_PROFILE_DELIVERY_SHOW
    Keyword UIDGID, Syntax = IMTA_PROFILE_UIDGID_SHOW

  Define Syntax IMTA_PROFILE_DELETE
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Prompt = "Element",
      Value (Required, Type = IMTA_PROFILE_ELEMENT_DELETE)

  Define Syntax IMTA_PROFILE_SET
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Prompt = "Element",
      Value (Required, Type = IMTA_PROFILE_ELEMENT_SET)

  Define Syntax IMTA_PROFILE_SHOW
    Parameter P1, Value (Required)
    Parameter P2, Label = ACTION, Value (Required)
    Parameter P3, Label = ELEMENT, Prompt = "Element",
      Value (Required, Type = IMTA_PROFILE_ELEMENT_SHOW)

  Define Type IMTA_PROFILE_ACTION
    Keyword DELETE, Syntax = IMTA_PROFILE_DELETE
    Keyword EXIT
    Keyword QUIT
    Keyword SET, Syntax = IMTA_PROFILE_SET
    Keyword SHOW, Syntax = IMTA_PROFILE_SHOW

!+!%ifndef __VMS
!+!Define Syntax IMTA_PROFILE
!+!  Image IMTA_BIN:profile
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Label = ACTION, Prompt = "Command",
!+!  Value (Type = IMTA_PROFILE_ACTION)
!+!%endif

!+!%ifdef __IMTA
!+!Define Syntax IMTA_PROGRAM
!+!  Image IMTA_BIN:imtaProgram
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Value (Type = $REST_OF_LINE)
!+!  Qualifier SHIFT_ARG, Nonnegatable, Default
!+!  Qualifier A, Nonnegatable
!+!  Qualifier C, Nonnegatable
!+!  Qualifier D, Nonnegatable
!+!  Qualifier E, Nonnegatable, Value
!+!  Qualifier G, Nonnegatable, Value
!+!  Qualifier H, Nonnegatable, Value
!+!  Qualifier L, Nonnegatable
!+!  Qualifier M, Nonnegatable, Value
!+!  Qualifier P, Nonnegatable, Value
!+!  Qualifier U, Nonnegatable
!+!  Qualifier X, Nonnegatable
!+!%endif

!+!%ifdef __VMS
Define Syntax IMTA_PS
  Image IMTA_EXE:ps
  Parameter P1, Value (Required)
  Qualifier MAIL, Syntax = PS_MAIL_SET, Nonnegatable
  Parameter P2, Label = INFILE, Prompt = "Input file",
    Value (Required, Type = $INFILE)
  Parameter P3, Label = OUTFILE, Prompt = "Output file"
    Value (Type = $OUTFILE)
  Qualifier BOTTOM_MARGIN, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier CALCULATE
  Qualifier CHARSET, Value (Required), Nonnegatable
  Qualifier COLUMNS, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier END_PAGE, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier FONT, Value (Required), Nonnegatable
  Qualifier FORM, Value (Required), Nonnegatable
  Qualifier FORTRAN
  Qualifier ITALIC, Nonnegatable
  Qualifier LANDSCAPE, Nonnegatable
  Qualifier LEFT_MARGIN, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier LINES, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier PORTRAIT, Nonnegatable
  Qualifier SIZE, Value (Default = "12.0"), Nonnegatable, Default
  Qualifier HEIGHT, Value (Required), Nonnegatable
  Qualifier WIDTH, Value (Required), Nonnegatable
  Qualifier SPACING, Value (Required), Nonnegatable
  Qualifier START_PAGE, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier TOP_MARGIN, Value (Required, Type = $NUMBER), Nonnegatable
  Qualifier UNDERLINE, Nonnegatable
  Qualifier NUMBER_PAGES
  Disallow  LANDSCAPE and PORTRAIT
  Disallow  ITALIC and UNDERLINE
  Disallow  CALCULATE and SIZE
  Disallow  CALCULATE and not LINES

Define Syntax IMTA_PSWRAP
  Image IMTA_EXE:pswrap
  Parameter P1, Value (Required)
  Parameter P2, Label = INFILE, Prompt = "Input file",
    Value (Required, Type = $INFILE)
  Parameter P3, Label = OUTFILE, Prompt = "Output file"
    Value (Type = $OUTFILE)
  Qualifier RECORD_LENGTH, Value (Required, Type = $NUMBER), Nonnegatable
!+!%endif

Define Syntax IMTA_PTOREW
  Image IMTA_BIN:crdb
  Parameter P1, Value (Required)
  Parameter P2,
    Label = INPUT,
    Prompt = "Pathfile",
    Value (Required, Type = $INFILE, List)
  Parameter P3,
    Label = OUTPUT,
    Prompt = "Output database",
    Value (Required, Type = $OUTFILE)
  Parameter P4,
    Label = HOSTNAME,
    Prompt = "UUCP Hostnames",
    Value (Required, List)
  Parameter P5,
    Label = SUFFIX,
    Prompt = "Domain suffix"
  Qualifier DUPLICATES, Negatable
  Qualifier FAST_LOAD, Negatable
  Qualifier APPEND, Negatable
  Qualifier EXCEPTION_FILE, Negatable, Value (Required, Type = $OUTFILE)
  Qualifier HUGE_RECORDS, Negatable
  Qualifier LOWER_CASE, Negatable, Default
  Qualifier LONG_RECORDS, Negatable
  Qualifier COUNT, Negatable, Default
  Qualifier STATISTICS, Negatable, Default
  Qualifier WRITE_CHECK, Negatable
  Qualifier STRIP_COLONS, Negatable
  Qualifier QUOTED, Negatable
  Qualifier REMOVE, Negatable
  Qualifier SCRATCH_DISK, Nonnegatable, Value (Required)
  Qualifier EXCLUDE, Value (Required, List)
  Qualifier INCLUDE, Negatable, Default
  Disallow (HUGE_RECORDS and LONG_RECORDS)
  Disallow (APPEND and FAST_LOAD) 

!+!%ifndef __VMS
!+! Define Syntax IMTA_PURGE
!+!  Image IMTA_BIN:purge
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Label = FILE_PATTERN, Value (type = $REST_OF_LINE)
!+!  Qualifier NUM, Value (Required)
!+!  Qualifier DAY, Value (Required)
!+!  Qualifier HOUR, Value (Required)
!+!  Qualifier DEBUG, Nonnegatable
!+!  Qualifier SHIFT_ARG, Nonnegatable, Default
!+!%endif

Define Syntax IMTA_PROCESS_HOLD
  Image IMTA_BIN:hold_master
  Parameter P1, Value (Required)
  Qualifier UID, Value (Required)
  Qualifier DOMAIN, Value (Required)
  Qualifier NEW_UID, Value (Required)
  Qualifier NEW_DOMAIN, Value (Required)
  Qualifier VERBOSE, Nonnegatable
  Disallow (not UID) or (not DOMAIN)

Define Syntax IMTA_QM
  Image IMTA_BIN:qm
  Parameter P1, Value (Required)
  Parameter P2, Label = MATHLIB_COMMAND, Value (Type = $REST_OF_LINE)
  Qualifier MAINTENANCE, Nonnegatable
!+!%ifdef __VMS
  Qualifier USER, Nonnegatable, Default
!+!%else
!+!  Qualifier USER, Nonnegatable
!+!%endif
  Disallow MAINTENANCE and USER

!+!%ifdef __VMS
Define Syntax IMTA_REQUEST
  Image REQUEST
  Parameter P1, Value (Required), Label = P2
  Parameter P2, Prompt = "Text", Label = P1, Value (Type = $EXPRESSION)
  Qualifier REPLY
  Qualifier TO, Value (Required, List)
!+!%endif

  Define Type IMTA_RESTART_TYPES
!+!%ifdef __VMS
    Keyword BN_SLAVE
    Keyword CHANNEL, Value (Required, List)
!+!%endif
    Keyword CIRCUIT_CHECK
    Keyword CONTROLLER
!+!%ifdef __VMS
    Keyword COUNTERS
!+!%endif
    Keyword DISPATCHER
!+!%ifdef __VMS
    Keyword FAX_RECEIVE
    Keyword HTTP
    Keyword IDENT
    Keyword IMAP
!+!%endif
    Keyword JOB_CONTROLLER
!+!%ifdef __VMS
    Keyword POP3
    Keyword POPPASSD
    Keyword QUEUE_CACHE
    Keyword SMTP
    Keyword X400_TSAPD
!+!%endif

Define Syntax IMTA_RESTART
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
!+!%ifdef __DCL
  Parameter P2,
    Prompt = "Component",
    Value (Type = $REST_OF_LINE)
!+!%else
!+! Parameter P2,
!+!   Prompt = "Component",
!+!   Value (Open, Type = IMTA_RESTART_TYPES)
!+!%endif
  Qualifier CLUSTER
  Qualifier ID, Value (Required)
  Qualifier LOG, Default
  Qualifier NODE, Value
  Qualifier DEBUG
  Disallow any2 (NODE, ID, CLUSTER)

!+!%ifdef __IMTA
!+!Define Syntax IMTA_REFRESH
!+!  Image IMTA_BIN:imtacli
!+!  Parameter P1, Value (Required)
!+! Parameter P2,
!+!   Prompt = "Component",
!+!   Value (Open, Type = IMTA_RESTART_TYPES)
!+!%endif

!+!%ifdef __IMTA
!+!Define Syntax IMTA_RELOAD
!+!  Image IMTA_BIN:send_reload
!+!%endif

Define Syntax IMTA_RETURN
  Image IMTA_BIN:return
  Parameter P1, Value (Required)
  Parameter P2,
    Label = FILENAME, 
    Prompt = "File name", 
    Value (Required, Type = $INFILE, List)

  Define Type IMTA_RUN_ACTIVITIES
    Keyword SLAVE, Negatable
    Keyword MASTER, Negatable
    Keyword POLL, Negatable

Define Syntax IMTA_RUN
!+!%ifdef __VMS
     Image IMTA_EXE:imtacli
!+!%else
!+!  Image IMTA_BIN:run_channel
!+!%endif
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "Channel", Value (Required)
  Parameter P3, Prompt = "Activity", Value (Type = IMTA_RUN_ACTIVITIES)
  Parameter P4, Prompt = "Since"
  Parameter P5, Prompt = "Id",
  Parameter P6, Prompt = "Channel Specific"
  Parameter P7, Prompt = "Message Filter"
  Parameter P8, Prompt = "Priority"
!+!%ifdef __VMS
     Qualifier IMTA_EXECUTE,
       Default,
       Value (Default = "@IMTA_COM:MASTER.COM")
!+!%else
!+!  Qualifier SHIFT_ARG, Nonnegatable, Default
!+!%endif

  Define Type IMTA_SEND_LOG
    Keyword FILES
    Keyword ADDRESSES
    Keyword MESSAGES, Default
    Keyword IDS
    Keyword ALL
    Keyword NONE

  Define Syntax IMTA_SEND_CULL
    Image IMTA_BIN:send
    Parameter P1, Value (Required)
    Qualifier CULL, Nonnegatable, Default
    Qualifier FAX, Nonnegatable
    Qualifier INTERACTIVE, Nonnegatable
    Parameter P2,
      Label = MESSAGEFILE,
      Prompt = "Message file(s)",
      Value (Required, Type = $INFILE, List)
    Qualifier ENCODING,
      Value (Required, Type = IMTA_ENCODINGS),
      Placement = Positional
    Qualifier MODE,
      Value (Required, Type = IMTA_MODES),
      Placement = Positional
    Parameter P3,
      Label = ADDRESSEE,
      Prompt = "Address(es)",
      Value (List)
    Qualifier AUTOREPORT
    Qualifier DISPOSITION, Value (Required)
    Qualifier DEBUG
    Qualifier TO, Placement = POSITIONAL
    Qualifier CC, Placement = POSITIONAL
    Qualifier BCC, Placement = POSITIONAL
    Qualifier USER, Nonnegatable, Value (Required)
    Qualifier SUBADDRESS, Nonnegatable, Value (Required)
    Qualifier SUBJECT, Nonnegatable, Value (Required)
    Qualifier BLANK
    Qualifier HEADERS, Nonnegatable, Default
    Qualifier FROM, Nonnegatable, Value (Required)
    Qualifier RFROM, Nonnegatable, Value (Required)
    Qualifier REPLY_TO, Nonnegatable, Value (Required)
    Qualifier RREPLY_TO, Nonnegatable, Value (Required)
    Qualifier ERRORS_TO, Nonnegatable, Value (Required)
    Qualifier WARNINGS_TO, Nonnegatable, Value (Required)
    Qualifier COMMENTS, Nonnegatable, Value (Required)
    Qualifier REFERENCES, Nonnegatable, Value (Required)
    Qualifier KEYWORDS, Nonnegatable, Value (Required)
    Qualifier PRIORITY, Nonnegatable, Value (Required)
    Qualifier SENSITIVITY, Nonnegatable, Value (Required)
    Qualifier IMPORTANCE, Nonnegatable, Value (Required)
    Qualifier FRUIT_OF_THE_DAY, Nonnegatable, Value (Required)
    Qualifier ORGANIZATION, Nonnegatable, Value (Required)
    Qualifier DELIVERY_RECEIPT_TO, Nonnegatable, Value (Required)
    Qualifier READ_RECEIPT_TO, Nonnegatable, Value (Required)
    Qualifier X_ORGANIZATION, Nonnegatable, Value (Required)
    Qualifier X_PS_QUALIFIERS, Nonnegatable, Value (Required)
    Qualifier EXPANDLIMIT, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier MAXLINES, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier MAXBLOCKS, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier EXTRA, Nonnegatable, Value (Required, List)
    Qualifier IGNORE, Nonnegatable
    Qualifier ABORT, Nonnegatable
    Qualifier ERROR, Nonnegatable
    Qualifier RETURN_ADDRESS, Value (Required)
    Qualifier LOG, Value (List, Type = IMTA_SEND_LOG, Default = MESSAGES)
    Qualifier FILENAME, Placement = Positional
    Qualifier TYPE, Placement = Positional, Value (Required)
    Disallow SUBADDRESS and USER
    Disallow any2 (ABORT, IGNORE, ERROR)
    Disallow LOG.ALL and LOG.NONE
    Disallow any2 (CULL, FAX, INTERACTIVE)

  Define Syntax IMTA_SEND_FAX
    Image IMTA_EXE:send
    Parameter P1, Value (Required)
    Qualifier CULL, Nonnegatable
    Qualifier FAX, Nonnegatable, Default
    Qualifier INTERACTIVE, Nonnegatable
    Parameter P2,
      Label = MESSAGEFILE,
      Prompt = "Message file(s)",
      Value (Required, Type = $INFILE, List)
    Qualifier ENCODING,
      Value (Required, Type = IMTA_ENCODINGS),
      Placement = Positional
    Qualifier MODE,
      Value (Required, Type = IMTA_MODES),
      Placement = Positional
    Parameter P3,
      Label = ADDRESSEE,
      Prompt = "Address(es)",
      Value (List)
    Qualifier AUTOREPORT
    Qualifier DISPOSITION, Value (Required)
    Qualifier DEBUG
    Qualifier TO, Placement = POSITIONAL
    Qualifier CC, Placement = POSITIONAL
    Qualifier BCC, Placement = POSITIONAL
    Qualifier USER, Nonnegatable, Value (Required)
    Qualifier SUBADDRESS, Nonnegatable, Value (Required)
    Qualifier SUBJECT, Nonnegatable, Value (Required)
    Qualifier BLANK
    Qualifier HEADERS
    Qualifier FROM, Nonnegatable, Value (Required)
    Qualifier RFROM, Nonnegatable, Value (Required)
    Qualifier REPLY_TO, Nonnegatable, Value (Required)
    Qualifier RREPLY_TO, Nonnegatable, Value (Required)
    Qualifier ERRORS_TO, Nonnegatable, Value (Required)
    Qualifier WARNINGS_TO, Nonnegatable, Value (Required)
    Qualifier COMMENTS, Nonnegatable, Value (Required)
    Qualifier REFERENCES, Nonnegatable, Value (Required)
    Qualifier KEYWORDS, Nonnegatable, Value (Required)
    Qualifier PRIORITY, Nonnegatable, Value (Required)
    Qualifier SENSITIVITY, Nonnegatable, Value (Required)
    Qualifier IMPORTANCE, Nonnegatable, Value (Required)
    Qualifier FRUIT_OF_THE_DAY, Nonnegatable, Value (Required)
    Qualifier ORGANIZATION, Nonnegatable, Value (Required)
    Qualifier DELIVERY_RECEIPT_TO, Nonnegatable, Value (Required)
    Qualifier READ_RECEIPT_TO, Nonnegatable, Value (Required)
    Qualifier X_ORGANIZATION, Nonnegatable, Value (Required)
    Qualifier X_PS_QUALIFIERS, Nonnegatable, Value (Required)
    Qualifier EXPANDLIMIT, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier MAXLINES, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier MAXBLOCKS, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier EXTRA, Nonnegatable, Value (Required, List)
    Qualifier IGNORE, Nonnegatable
    Qualifier ABORT, Nonnegatable
    Qualifier ERROR, Nonnegatable
    Qualifier RETURN_ADDRESS, Value (Required)
    Qualifier LOG, Value (List, Type = IMTA_SEND_LOG, Default = MESSAGES)
    Qualifier FILENAME, Placement = Positional
    Qualifier TYPE, Placement = Positional, Value (Required)
    Disallow SUBADDRESS and USER
    Disallow any2 (ABORT, IGNORE, ERROR)
    Disallow LOG.ALL and LOG.NONE
    Disallow any2 (CULL, FAX, INTERACTIVE)

  Define Syntax IMTA_SEND_INTERACTIVE
    Image IMTA_BIN:send
    Parameter P1, Value (Required)
    Qualifier CULL, Nonnegatable
    Qualifier FAX, Nonnegatable
    Qualifier INTERACTIVE, Nonnegatable, Default
    Parameter P2,
      Label = ADDRESSEE,
      Prompt = "Address(es)",
      Value (Required, List)
    Parameter P3,
      Label = MESSAGELINE,
      Prompt = "Message",
      Value (Required)
    Qualifier AUTOREPORT
    Qualifier DISPOSITION, Value (Required)
    Qualifier DEBUG
    Qualifier TO, Placement = POSITIONAL
    Qualifier CC, Placement = POSITIONAL
    Qualifier BCC, Placement = POSITIONAL
    Qualifier USER, Nonnegatable, Value (Required)
    Qualifier SUBADDRESS, Nonnegatable, Value (Required)
    Qualifier SUBJECT, Nonnegatable, Value (Required)
    Qualifier BLANK
    Qualifier FROM, Nonnegatable, Value (Required)
    Qualifier RFROM, Nonnegatable, Value (Required)
    Qualifier REPLY_TO, Nonnegatable, Value (Required)
    Qualifier RREPLY_TO, Nonnegatable, Value (Required)
    Qualifier ERRORS_TO, Nonnegatable, Value (Required)
    Qualifier WARNINGS_TO, Nonnegatable, Value (Required)
    Qualifier COMMENTS, Nonnegatable, Value (Required)
    Qualifier REFERENCES, Nonnegatable, Value (Required)
    Qualifier KEYWORDS, Nonnegatable, Value (Required)
    Qualifier PRIORITY, Nonnegatable, Value (Required)
    Qualifier SENSITIVITY, Nonnegatable, Value (Required)
    Qualifier IMPORTANCE, Nonnegatable, Value (Required)
    Qualifier FRUIT_OF_THE_DAY, Nonnegatable, Value (Required)
    Qualifier ORGANIZATION, Nonnegatable, Value (Required)
    Qualifier DELIVERY_RECEIPT_TO, Nonnegatable, Value (Required)
    Qualifier READ_RECEIPT_TO, Nonnegatable, Value (Required)
    Qualifier X_ORGANIZATION, Nonnegatable, Value (Required)
    Qualifier X_PS_QUALIFIERS, Nonnegatable, Value (Required)
    Qualifier EXPANDLIMIT, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier MAXLINES, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier MAXBLOCKS, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier EXTRA, Nonnegatable, Value (Required, List)
    Qualifier IGNORE, Nonnegatable
    Qualifier ABORT, Nonnegatable
    Qualifier ERROR, Nonnegatable
    Qualifier RETURN_ADDRESS, Value (Required)
    Qualifier LOG, Value (List, Type = IMTA_SEND_LOG, Default = MESSAGES)
    Qualifier FILENAME, Placement = Positional
    Qualifier TYPE, Placement = Positional, Value (Required)
    Disallow SUBADDRESS and USER
    Disallow any2 (ABORT, IGNORE, ERROR)
    Disallow LOG.ALL and LOG.NONE
    Disallow any2 (CULL, FAX, INTERACTIVE)

Define Syntax IMTA_SEND
  Image IMTA_BIN:send
  Qualifier CULL, Nonnegatable, Syntax = IMTA_SEND_CULL
  Qualifier FAX, Nonnegatable, Syntax = IMTA_SEND_FAX
  Qualifier INTERACTIVE, Nonnegatable, Syntax = IMTA_SEND_INTERACTIVE
  Parameter P1, Value (Required)
  Parameter P2,
    Label = MESSAGEFILE,
    Prompt = "Message file(s)",
    Value (Required, Type = $INFILE, List)
  Qualifier ENCODING,
    Value (Required, Type = IMTA_ENCODINGS),
    Placement = Positional
  Qualifier MODE,
    Value (Required, Type = IMTA_MODES),
    Placement = Positional
  Parameter P3,
    Label = ADDRESSEE,
    Prompt = "Address(es)",
    Value (Required, List)
  Qualifier AUTOREPORT
  Qualifier DEBUG
  Qualifier TO, Placement = POSITIONAL
  Qualifier CC, Placement = POSITIONAL
  Qualifier BCC, Placement = POSITIONAL
  Qualifier USER, Nonnegatable, Value (Required)
  Qualifier SUBADDRESS, Nonnegatable, Value (Required)
  Qualifier SUBJECT, Nonnegatable, Value (Required)
  Qualifier BLANK
  Qualifier HEADERS
  Qualifier FROM, Nonnegatable, Value (Required)
  Qualifier RFROM, Nonnegatable, Value (Required)
  Qualifier REPLY_TO, Nonnegatable, Value (Required)
  Qualifier RREPLY_TO, Nonnegatable, Value (Required)
  Qualifier ERRORS_TO, Nonnegatable, Value (Required)
  Qualifier WARNINGS_TO, Nonnegatable, Value (Required)
  Qualifier COMMENTS, Nonnegatable, Value (Required)
  Qualifier REFERENCES, Nonnegatable, Value (Required)
  Qualifier KEYWORDS, Nonnegatable, Value (Required)
  Qualifier PRIORITY, Nonnegatable, Value (Required)
  Qualifier SENSITIVITY, Nonnegatable, Value (Required)
  Qualifier IMPORTANCE, Nonnegatable, Value (Required)
  Qualifier FRUIT_OF_THE_DAY, Nonnegatable, Value (Required)
  Qualifier ORGANIZATION, Nonnegatable, Value (Required)
  Qualifier DELIVERY_RECEIPT_TO, Nonnegatable, Value (Required)
  Qualifier READ_RECEIPT_TO, Nonnegatable, Value (Required)
  Qualifier X_ORGANIZATION, Nonnegatable, Value (Required)
  Qualifier X_PS_QUALIFIERS, Nonnegatable, Value (Required)
  Qualifier EXPANDLIMIT, Nonnegatable, Value (Required, Type = $NUMBER)
  Qualifier MAXLINES, Nonnegatable, Value (Required, Type = $NUMBER)
  Qualifier MAXBLOCKS, Nonnegatable, Value (Required, Type = $NUMBER)
  Qualifier EXTRA, Nonnegatable, Value (Required, List)
  Qualifier IGNORE, Nonnegatable
  Qualifier ABORT, Nonnegatable
  Qualifier ERROR, Nonnegatable
  Qualifier RETURN_ADDRESS, Value (Required)
  Qualifier LOG, Value (List, Type = IMTA_SEND_LOG, Default = MESSAGES)
  Qualifier FILENAME, Placement = Positional
  Qualifier TYPE, Placement = Positional, Value (Required)
  Disallow SUBADDRESS and USER
  Disallow any2 (ABORT, IGNORE, ERROR)
  Disallow LOG.ALL and LOG.NONE
  Disallow any2 (CULL, FAX, INTERACTIVE)

Define Syntax IMTA_SET
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "IMTA Parameter", Value (Required)
  Parameter P3, Prompt = "Value", Value (Required)
  Qualifier USER, Value (Required)

Define Syntax IMTA_SHOW
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "IMTA Parameter", Value (Required)
  Qualifier USER, Value (Required)

Define Syntax IMTA_SHUTDOWN
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
!+!%ifdef __DCL
  Parameter P2,
    Prompt = "Component",
    Value (Type = $REST_OF_LINE)
!+!%else
!+! Parameter P2,
!+!   Prompt = "Component",
!+!   Value (Open, Type = IMTA_RESTART_TYPES)
!+!%endif
  Qualifier CLUSTER
  Qualifier ID, Value (Required)
  Qualifier LOG, Default
  Qualifier NODE, Value
  Qualifier DEBUG
  Disallow any2 (NODE, ID, CLUSTER)

  Define Syntax IMTA_STARTUP_DISPATCHER
    Image IMTA_BIN:dispatcher
    Parameter P1, Value (Required)
    Parameter P2, Value (Required)

  Define Syntax IMTA_STARTUP_FAXRCV
    Image IMTA_BIN:IMTA.EXE
    Parameter P1, Value (Required)
    Parameter P2, Value (Required)
    Parameter P3, Prompt = "Channel", Value
    Qualifier IMTA_EXECUTE,
      Default,
      Value (Default = "@IMTA_COM:START_FAX_RECEIVE.COM IGNORE")

  Define Syntax IMTA_STARTUP_COUNTERS
    Image IMTA_EXE:IMTA.EXE
    Parameter P1, Value (Required)
    Parameter P2, Value (Required)
    Parameter P3, Prompt = "Channel", Value
    Qualifier IMTA_EXECUTE,
      Default,
      Value (Default = "@IMTA_COM:START_SYNCH_COUNTERS.COM")

  Define Syntax IMTA_STARTUP_CIRCUITCHECK
    Image IMTA_EXE:IMTA.EXE
    Parameter P1, Value (Required)
    Parameter P2, Value (Required)
    Qualifier IMTA_EXECUTE,
      Default,
      Value (Default = "@IMTA_COM:START_CIRCUITCHECK.COM")

  Define Syntax IMTA_STARTUP_USE_DISPATCHER
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2, Value (Required)
!+!%ifdef __VMS
    Qualifier IMTA_EXECUTE,
      Default,
      Value (Default = "WRITE SYS$OUTPUT ""Invalid command; use IMTA START DISPATCHER"" !")
!+!%endif

  Define Type IMTA_STARTUP_TYPES
    Keyword CHANNEL, Value (Required, List)
!+!%ifdef __VMS
    Keyword CIRCUIT_CHECK, Nonnegatable, Syntax = IMTA_STARTUP_CIRCUITCHECK
!+!%else
!+! Keyword CIRCUIT_CHECK
!+!%endif
    Keyword CONTROLLER
    Keyword COUNTERS, Nonnegatable, Syntax = IMTA_STARTUP_COUNTERS
!+!%ifdef __VMS
    Keyword DISPATCHER, Nonnegatable, Syntax = IMTA_STARTUP_DISPATCHER
!+!%else
!+! Keyword DISPATCHER
!+!%endif
    Keyword FAX_RECEIVE, Nonnegatable, Syntax = IMTA_STARTUP_FAXRCV
    Keyword JOB_CONTROLLER
    keyword POST
    keyword RETURN
    Keyword HTTP, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword IDENT, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword IMAP, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword POP3, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword POPPASSD, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword SMTP, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword SNADS, Nonnegatable, Syntax = IMTA_STARTUP_USE_DISPATCHER
    Keyword X400_TSAPD

Define Syntax IMTA_STARTUP
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Parameter P2,
    Prompt = "Component",
!+!%ifdef __VMS
    Value (Required, Type = IMTA_STARTUP_TYPES)
!+!%else
!+! Value (Type = IMTA_STARTUP_TYPES)
!+!%endif

Define Syntax IMTA_SUBMIT_MASTER
!+!%ifdef __VMS
    Image IMTA_EXE:imtacli
!+!%else
!+! Image IMTA_BIN:submit_master
!+!%endif
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "Channel", Value (Required)
  Parameter P3, Prompt = "Activity", Value (Type = IMTA_RUN_ACTIVITIES)
  Parameter P4, Prompt = "Queue"
  Parameter P5, Prompt = "Since"
  Parameter P6, Prompt = "Unique-id",
  Parameter P7, Prompt = "Job-Priority"
  Parameter P8, Prompt = "After-time"
!+!%ifdef __VMS
    Qualifier IMTA_EXECUTE,
      Default,
      Value (Default = "@IMTA_COM:SUBMIT_MASTER.COM")
!+!%else
!+!  Qualifier SHIFT_ARG, Nonnegatable, Default
!+!%endif

Define Syntax IMTA_COUNTERS
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Qualifier SHOW, Nonnegatable
  Qualifier CLEAR, Nonnegatable
  Qualifier TODAY, Default
  Qualifier CHANNELS, Default
  Qualifier ASSOCIATIONS, Default
  Qualifier SYNCHRONIZE
  Qualifier INTERNAL
  Qualifier OUTPUT, Value (Required, Type = $OUTFILE)
  Qualifier HEADERS
  Qualifier MAX_CHANNELS, Nonnegatable, Value (Required, Type = $NUMBER)
  Qualifier CRDB, Nonnegatable
!   The CREATE qualifier is obsolete and does nothing.  It is kept, however,
!   so as to not break existing command procedures
  Qualifier CREATE, Nonnegatable
!   On OpenVMS, the DELETE qualifier is obsolete and does nothing.  It is kept,
!   however, so as to not break existing command procedures
  Qualifier DELETE, Nonnegatable
  Disallow any2 (CLEAR, CREATE, DELETE, SHOW, CRDB) or
           (MAX_CHANNELS and not CREATE)

Define Syntax IMTA_CIRCUITCHECK
  Image IMTA_BIN:imtacli
  Parameter P1, Value (Required)
  Qualifier SHOW, Nonnegatable

!+!%ifdef __VMS

    Define Syntax IMTA_MR_TEST_FETCH
      Image IMTA_EXE:mr_test
      Parameter P1, Value (Required)
      Parameter P2,
         Label = COMMAND,
         Value (Required, Type = IMTA_MR_TEST_COMMANDS)
      Parameter P3,
         Label = CONTENT,
         Prompt = "Content file"
         Value (Required, Type = $OUTFILE)
      Parameter P4,
         Label = ENVELOPE,
         Prompt = "Envelope file"
         Value (Required, Type = $OUTFILE)

    Define Syntax IMTA_MR_TEST_POST
      Image IMTA_EXE:mr_test
      Parameter P1, Value (Required)
      Parameter P2,
         Label = COMMAND,
         Value (Required, Type = IMTA_MR_TEST_COMMANDS)
      Parameter P3,
         Label = CONTENT,
         Prompt = "Content file"
         Value (Required, Type = $INFILE)
      Parameter P4,
         Label = ENVELOPE,
         Prompt = "Envelope file"
         Value (Required, Type = $INFILE)

    Define Syntax IMTA_MR_TEST_A1TORFC
      Image IMTA_EXE:mr_test
      Parameter P1, Value (Required)
      Parameter P2,
         Label = COMMAND,
         Value (Required, Type = IMTA_MR_TEST_COMMANDS)
      Parameter P3,
         Label = A1ADDRESS,
         Prompt = "A1 address"
         Value (Required)

    Define Syntax IMTA_MR_TEST_RFCTOA1
      Image IMTA_EXE:mr_test
      Parameter P1, Value (Required)
      Parameter P2,
         Label = COMMAND,
         Value (Required, Type = IMTA_MR_TEST_COMMANDS)
      Parameter P3,
         Label = RFCADDRESS,
         Prompt = "RFC822 address"
         Value (Required)

    Define Type IMTA_MR_TEST_COMMANDS
      Keyword FETCH, Syntax = IMTA_MR_TEST_FETCH
      Keyword POST, Syntax = IMTA_MR_TEST_POST
      Keyword A1TORFC, Syntax = IMTA_MR_TEST_A1TORFC
      Keyword RFCTOA1, Syntax = IMTA_MR_TEST_RFCTOA1

  Define Syntax IMTA_MR_TEST
    Image IMTA_EXE:mr_test
    Parameter P1, Value (Required)
    Parameter P2, Label = COMMAND, Value (Type = IMTA_MR_TEST_COMMANDS)
    Qualifier MR, Nonnegatable, Placement = Global
    Qualifier DUMP, Placement = Global
    Qualifier NODE, Nonnegatable, Value (Required), Placement = Global
    Qualifier MAILBOX, Nonnegatable, Value (Required), Placement = Global
    Qualifier PASSWORD, Nonnegatable, Value (Required), Placement = Global
    Qualifier DEBUG, Placement = Global
    Qualifier ACCEPT, Nonnegatable, Placement = Global
    Qualifier DEQUEUE, Nonnegatable, Placement = Global
    Disallow ACCEPT and DEQUEUE
!+!%endif

  Define Syntax IMTA_TIME_TEST
    Image IMTA_EXE:pmdf
    Parameter P1, Value (Required)
    ! Next type must not be $DATETIME because DCL then does all the work
    Parameter P2, Value (Required), Prompt = "Time"
    Qualifier TIME, Nonnegatable, Default
    Qualifier ISO8601, Nonnegatable
    Qualifier PERIODIC
!+!%ifdef __VMS
    Qualifier BEFORE
    Qualifier AFTER
    Disallow BEFORE and AFTER
    Disallow (BEFORE or AFTER) and ISO8601
!+!%endif
    Disallow PERIODIC and (not ISO8601)

  Define Syntax IMTA_BACKOFF_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier BACKOFF, Default
    Parameter P2, Label = CHANNEL, Value (Required)
    Qualifier RETRIES, Value (Required, Type = $NUMBER)

!+!%ifndef __IMTA
  Define Syntax IMTA_CC_TEST
    Image IMTA_BIN:pc_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ADDRESS, Value (Type = $REST_OF_LINE)
    Qualifier CC, Default
    Qualifier FF
    Qualifier LN
    Qualifier MHS
    Qualifier WPO
    Qualifier GROUPWISE
    Qualifier CHANNEL, Value (Required)
    Qualifier DEBUG
    Qualifier DECODE, Nonnegatable
    Qualifier ENCODE, Nonnegatable
    Qualifier 822TOLAN, Nonnegatable
    Qualifier LANTO822, Nonnegatable
    Qualifier BACKWARD, Nonnegatable
    Qualifier FORWARD, Nonnegatable
    Qualifier ENVELOPE, Nonnegatable
    Qualifier HEADER, Nonnegatable
    Qualifier TIME, Nonnegatable
    Qualifier ATT, Nonnegatable
    Disallow any2 (BACKWARD, FORWARD, TIME)
    Disallow any2 (ENVELOPE, HEADER, TIME)
    Disallow any2 (ENCODE, DECODE, 822TOLAN, LANTO822)
    Disallow ATT and not TIME
!+!%endif

  Define Syntax IMTA_CL_TEST
    Image IMTA_BIN:cl_test
    Parameter P1, Value (Required)
    Parameter P2,
      Prompt = "Command definition",
      Value (Required, Type = $INFILE)
    Parameter P3,
      Prompt = "Command options",
      Value (Type = $INFILE)
    Parameter P4,
      Prompt = "Compiled definition",
      Value (Type = $INFILE)
    Qualifier DEBUG
    Qualifier VMS, Nonnegatable
    Qualifier VMSEXT, Nonnegatable
    Qualifier UNIX, Nonnegatable
    Qualifier WNT, Nonnegatable
    Qualifier INPUT, Value (Required, Type = $INFILE)
    Qualifier OUTPUT, Value (Required, Type = $OUTFILE)
    Disallow any2 (VMS, UNIX, WNT, VMSEXT)

  Define Syntax IMTA_TEST_CHAN_X400
    Image IMTA_BIN:x400_rts_test
    Parameter P1, Value (Required)
    Parameter P2, Value (Required)
    Qualifier MTA, Nonnegatable, Value (Required, List)
    Qualifier TRANSFER, Value (Type = $INFILE, Default = NLA0:)

    Define Type IMTA_TEST_CHANNELS
      Keyword X40084, Syntax = IMTA_TEST_CHAN_X400

  Define Syntax IMTA_CHANNEL_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2, Value (Type = IMTA_TEST_CHANNELS), Prompt = "Channel"
    Qualifier CHANNEL, Default
    Qualifier DUMP, Value (Required)

  Define Syntax IMTA_EIGHTBIT_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2,
      Label = INFILE,
      Value (Required, Type = $INFILE),
      Prompt = "File"
    Qualifier TIME, Nonnegatable
    Qualifier EIGHTBIT, Nonnegatable, Default
    Qualifier PERFORMANCE

!+!%ifdef __VMS
  Define Syntax IMTA_ERROR_TEST
    Image IMTA_EXE:imtacli
    Parameter P1, Value (Required)
    Parameter P2, Value (Required, Type = $NUMBER), Prompt = "Value"
!+!%endif

  Define Syntax IMTA_HASH_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier HASH, Nonnegatable, Default
    Parameter P2,
      Prompt = "Hash", Label = HASHU, Value (Required, Type = HASHES)
    Qualifier STRING, Value (Required)
    Parameter P3, Prompt = "File", Label = FILE, Value (Type = $INFILE)
    Qualifier REPETITIONS, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier KEY, Nonnegatable, Value (Required)
    Disallow FILE and STRING
    Disallow KEY and FILE

  Define Syntax IMTA_RECURRENCE_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2,
      Label = BASE,
      Value (Required),
      Prompt = "Base time"
    Parameter P3,
      Label = RECURRENCE,
      Value (Required),
      Prompt = "Recurrence formula"
    Qualifier RECURRENCE, Nonnegatable, Default
    Qualifier ITERATIONS, Nonnegatable, Value (Required, Type = $NUMBER)
    
  Define Syntax IMTA_SYMBOL_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier SYMBOLS, Default, Nonnegatable

  Define Syntax IMTA_URL_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2, Value (Required), Prompt = "URL"
    Qualifier URL, Default, Nonnegatable
    Qualifier DEBUG
    Qualifier OUTPUT, Nonnegatable, Value (Required, Type = $OUTFILE)
    Qualifier HOST, Value (Required)
    Qualifier PORT, Value (Required, Type = $NUMBER)
    Qualifier DEFAULTATTR
    Qualifier ASYNCHRONOUS

  Define Syntax IMTA_ZONE_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2,
      Label = ZSTRING,
      Value (Required),
      Prompt = "Timezone"

  Define Syntax IMTA_OPTION_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Parameter P2,
      Label = FILE,
      Value (Required),
      Prompt = "Option file"

  Define Syntax IMTA_FAX_ROUTING_TEST
    Image IMTA_EXE:fax_routing_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ROUTING, Value (Type = $REST_OF_LINE)
    Qualifier DEBUG
    Qualifier IMAGE_FILE,
!+!%ifndef __VMS
!+!   Default,
!+!%endif
      Value (Type = $INFILE, Default = IMTA_CONFIG_DATA)
    Qualifier MAPPING_FILE, Nonnegatable, Value (Required)
    Qualifier MAP_FILE, Nonnegatable, Value (Required)
    Qualifier OPTION_FILE,
      Default,
      Value (Default = IMTA_TABLE:DATA_TO_BITMAP_OPTION.)

!+!%ifndef __IMTA
  Define Syntax IMTA_FF_TEST
    Image IMTA_BIN:pc_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ADDRESS, Value (Type = $REST_OF_LINE)
    Qualifier CC
    Qualifier FF, Default
    Qualifier LN
    Qualifier MHS
    Qualifier WPO
    Qualifier GROUPWISE
    Qualifier CHANNEL, Value (Required)
    Qualifier DEBUG
    Qualifier DECODE, Nonnegatable
    Qualifier ENCODE, Nonnegatable
    Qualifier 822TOLAN, Nonnegatable
    Qualifier LANTO822, Nonnegatable
    Qualifier BACKWARD, Nonnegatable
    Qualifier FORWARD, Nonnegatable
    Qualifier ENVELOPE, Nonnegatable
    Qualifier HEADER, Nonnegatable
    Qualifier TIME, Nonnegatable
    Disallow any2 (BACKWARD, FORWARD, TIME)
    Disallow any2 (ENVELOPE, HEADER, TIME)
    Disallow any2 (ENCODE, DECODE, 822TOLAN, LANTO822)
!+!%endif

  Define Syntax IMTA_HEADER_TEST
    Image IMTA_BIN:header_test
    Parameter P1, Value (Required)
    Qualifier HEADER
    Qualifier LENGTH, Value (Required, Type = $NUMBER)
    Qualifier INCREMENT, Value (Required, Type = $NUMBER)
    Qualifier ALIGNMENT, Value (Required, Type = $NUMBER)
    Qualifier OPTIONS, Value (Required)
    Qualifier PUSH
    Qualifier APPLY
    Qualifier FOLDS
    Qualifier TRIM
    Qualifier INPUT, Value (Required, Type = $INFILE)
    Qualifier OUTPUT, Nonnegatable, Value (Required, Type = $OUTFILE)

  Define Syntax IMTA_LDAP_TEST
    Image IMTA_BIN:ldap_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ARGUMENTS, Value (Type = $REST_OF_LINE)

!+!%ifndef __IMTA
  Define Syntax IMTA_LN_TEST
    Image IMTA_BIN:pc_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ADDRESS, Value (Type = $REST_OF_LINE)
    Qualifier CC
    Qualifier FF
    Qualifier MHS
    Qualifier WPO
    Qualifier GROUPWISE
    Qualifier LN, Default
    Qualifier CHANNEL, Value (Required)
    Qualifier DEBUG
    Qualifier DECODE, Nonnegatable
    Qualifier ENCODE, Nonnegatable
    Qualifier 822TOLAN, Nonnegatable
    Qualifier LANTO822, Nonnegatable
    Qualifier BACKWARD, Nonnegatable
    Qualifier FORWARD, Nonnegatable
    Qualifier ENVELOPE, Nonnegatable
    Qualifier HEADER, Nonnegatable
    Qualifier TIME, Nonnegatable
    Disallow any2 (BACKWARD, FORWARD, TIME)
    Disallow any2 (ENVELOPE, HEADER, TIME)
    Disallow any2 (ENCODE, DECODE, 822TOLAN, LANTO822)
!+!%endif

  Define Syntax IMTA_MAPPING_TEST
    Image IMTA_BIN:mapping_test
    Parameter P1, Value (Required)
    Parameter P2, Label = INPUT_STRING
    Qualifier DEBUG
    Qualifier RELOAD
    Qualifier IMAGE_FILE,
      Value (Type = $INFILE, Default = IMTA_CONFIG_DATA)
    Qualifier MAPPING_FILE, Value (Required)
    Qualifier OPTION_FILE, Value (Required)
    Qualifier TABLE, Value (Required)
    Qualifier FLAGS, Value (Required)
    Disallow (IMAGE_FILE and OPTION_FILE) or
             (IMAGE_FILE and MAPPING_FILE)

!+!%ifndef __IMTA
  Define Syntax IMTA_MHS_TEST
    Image IMTA_BIN:pc_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ADDRESS, Value (Type = $REST_OF_LINE)
    Qualifier CC
    Qualifier FF
    Qualifier LN
    Qualifier MHS, Default
    Qualifier WPO
    Qualifier GROUPWISE
    Qualifier CHANNEL, Value (Required)
    Qualifier DEBUG
    Qualifier DECODE, Nonnegatable
    Qualifier ENCODE, Nonnegatable
    Qualifier 822TOLAN, Nonnegatable
    Qualifier LANTO822, Nonnegatable
    Qualifier BACKWARD, Nonnegatable
    Qualifier FORWARD, Nonnegatable
    Qualifier ENVELOPE, Nonnegatable
    Qualifier HEADER, Nonnegatable
    Qualifier TIME, Nonnegatable
    Disallow any2 (BACKWARD, FORWARD, TIME)
    Disallow any2 (ENVELOPE, HEADER, TIME)
    Disallow any2 (ENCODE, DECODE, 822TOLAN, LANTO822)
!+!%endif

    Define Type IMTA_MESSAGE_HANDLING
      Keyword KEEP, Nonnegatable
      Keyword TOP, Nonnegatable
      Keyword END, Nonnegatable
      Keyword BOTTOM, Nonnegatable
      Keyword DELETE, Nonnegatable
      Keyword MERGE, Nonnegatable

    Define Type IMTA_MULTIPART_HANDLING
      Keyword KEEP, Nonnegatable
      Keyword FLATTEN, Nonnegatable

    Define Type IMTA_MIME_FORMAT
      Keyword MIME, Nonnegatable
      Keyword RFC1154, Nonnegatable
      Keyword MAILWORKS, Nonnegatable
      Keyword NEXT, Nonnegatable
      Keyword HEADER_SET, Nonnegatable
      Keyword STREAM_DECODE, Nonnegatable

  Define Syntax IMTA_MIME_TEST
    Image IMTA_BIN:mime_test
    Parameter P1, Value (Required)
    Parameter P2, Prompt = "Input file", Value (Type = $INFILE)
    Parameter P3, Prompt = "Output file", Value (Type = $OUTFILE)
    Qualifier MIME
    Qualifier LINE
    Qualifier CONVERT
    Qualifier HEADER
    Qualifier THURMAN
    Qualifier SECURITY
    Qualifier ROTATE, Value (Type = $NUMBER)
    Qualifier DEBUG
    Qualifier MPARTS, Value (Required, Type = $NUMBER)
    Qualifier MLEVELS, Value (Required, Type = $NUMBER)
    Qualifier MESSAGE_HANDLING, Value (Required, Type = IMTA_MESSAGE_HANDLING)
    Qualifier MULTIPART_HANDLING,
      Value (Required, Type = IMTA_MULTIPART_HANDLING)
    Qualifier FORMAT, Nonnegatable, Value (Required, Type = IMTA_MIME_FORMAT)
    Qualifier ENCODING, Nonnegatable, Value (Required, Type = IMTA_ENCODINGS)
    Qualifier MODE, Nonnegatable, Value (Required, List, Type = IMTA_MODES)
    Qualifier LENGTH, Nonnegatable, Value (Required, Type = $NUMBER)
    Qualifier EIGHTBIT
    Qualifier CHARSET, Nonnegatable, Value (Required)
    Qualifier NEW_CHARSET, Nonnegatable, Value (Required)
    Qualifier NUMBER, Default
    Qualifier LEVEL
    Qualifier DESCRIBE
    Qualifier PMAXIMUM, Value (Required, Type = $NUMBER)
    Qualifier NMAXIMUM, Value (Required, Type = $NUMBER)
    Qualifier PFORMAT, Value (Required, Type = $NUMBER)
    Disallow FORMAT and (not LINE)
    Disallow CONVERT and LINE
    Disallow LENGTH and (not LINE)
!+!%ifdef __VMS
    Qualifier PAGE, Value (List, Type = PAGE_OPTIONS)
    Qualifier HIGHLIGHT, Nonnegatable, Value (Type = HIGHLIGHT_OPTIONS)
    Qualifier SEARCH, Nonnegatable, Value (Required)
    Qualifier EXACT
    Qualifier WRAP
    Disallow (not PAGE) and (SEARCH or WRAP or EXACT or HIGHLIGHT)
!+!%endif

    Define Type IMTA_TEST_DATABASES
      Keyword ALIAS, Nonnegatable
      Keyword PERSONAL_ALIAS, Nonnegatable
      Keyword DOMAIN, Nonnegatable
      Keyword GENERAL, Nonnegatable
      Keyword REVERSE, Nonnegatable
      Keyword FORWARD, Nonnegatable
      Keyword TO_MR, Nonnegatable
      Keyword FROM_MR, Nonnegatable
      Keyword TO_X400, Nonnegatable
      Keyword FROM_X400, Nonnegatable
      Keyword TO_VMSMAIL, Nonnegatable
!+!%ifndef __VMS
!+!      Keyword PROFILE, Nonnegatable
!+!%endif
      Keyword DIRECTORY, Nonnegatable
      Keyword POPSTORE, Nonnegatable
      Keyword ID_TO_URL, Nonnegatable
      Keyword ID_TO_REFS, Nonnegatable
      Keyword SSR, Nonnegatable
      Keyword KEY_TO_BITS, Nonnegatable
      Keyword PIPE, Nonnegatable
      Keyword PASSWORD, Nonnegatable
      Keyword OEM_PRIVATE, Nonnegatable
      Keyword SPARE1, Nonnegatable
      Keyword SPARE2, Nonnegatable

  Define Syntax IMTA_DATABASE_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier DB, Nonnegatable, Default
    Qualifier REPETITIONS, Value (Required, Type = $NUMBER)
    Qualifier DATABASE,
      Nonnegatable,
      Value (Required, Type = IMTA_TEST_DATABASES)
    Qualifier RANDOM, Value
    Qualifier DELETE
    Qualifier ADD

  Define Syntax IMTA_EXPRESSION_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier EXPRESSION, Nonnegatable, Default
    Qualifier STATEMENT, Value (Default = 1, Type = $NUMBER), Default
    Qualifier MULTIPLE, Default
    Qualifier BLOCK
    Qualifier SYMBOLS
    Qualifier UAV, Value (Default = 2, Type = $NUMBER)
    Qualifier INPUT, Value (Required, Type = $INFILE)
    Qualifier OUTPUT, Value (Required, Type = $INFILE)
    Qualifier STRING, Value (Required, Type = $NUMBER)
    Qualifier LIST, Value (Required, Type = $NUMBER)
    Qualifier DEBUG, Value (Default = 1, Type = $NUMBER)
    Qualifier MM, Nonnegatable
    Qualifier DS, Nonnegatable
    Qualifier SY, Nonnegatable
    Qualifier MESSAGE, Value (Required, Type = $INFILE)
    Disallow any2 (MM, SY, DS)
    Disallow MESSAGE and (not MM)

  Define Syntax IMTA_LANGUAGE_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier LANGUAGE, Nonnegatable, Default
 
    Define Type IMTA_REWRITE_DEBUG
      Keyword FH, Negatable
      Keyword BH, Negatable
      Keyword FE, Negatable
      Keyword BE, Negatable
      Keyword EX, Negatable
      Keyword LEVEL, Nonnegatable, Value (Required, Type = $NUMBER)

    Define Type IMTA_REWRITE_DATABASES
      Keyword ALIAS, Nonnegatable, Value (Required)
      Keyword NOALIAS, Nonnegatable
      Keyword PERSONAL_ALIAS, Nonnegatable, Value (Required)
      Keyword NOPERSONAL_ALIAS, Nonnegatable
      Keyword DOMAIN, Nonnegatable, Value (Required)
      Keyword NODOMAIN, Nonnegatable
      Keyword GENERAL, Nonnegatable, Value (Required)
      Keyword NOGENERAL, Nonnegatable
      Keyword REVERSE, Nonnegatable, Value (Required)
      Keyword NOREVERSE, Nonnegatable
      Keyword FORWARD, Nonnegatable, Value (Required)
      Keyword NOFORWARD, Nonnegatable

  Define Syntax IMTA_MMTEST
    Image IMTA_BIN:rewrite_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ADDRESS, Value (Type = $REST_OF_LINE)
    Qualifier ALIAS_FILE, Nonnegatable, Value (Required)
    Qualifier APPLICATIONINFO, Value (Required)
    Qualifier CHANNEL, Default
    Qualifier CHECK_EXPANSIONS
    Qualifier CONFIGURATION_FILE, Nonnegatable, Value (Required)
    Qualifier CONVERSION_FILE, Value (Required, Type = $INFILE)
    Qualifier DATABASE, Nonnegatable,
      Value (Required, List, Type = IMTA_REWRITE_DATABASES)
    Qualifier DEBUG, Value (Type = IMTA_REWRITE_DEBUG, List)
    Qualifier DELIVERY_RECEIPT
    Qualifier DESTINATION_CHANNEL, Nonnegatable, Value (Required)
    Qualifier EBM
    Qualifier FILTER
    Qualifier FROM, Value (Required)
    Qualifier GREY, Value (Required, Type = $NUMBER)
    Qualifier HEADER
    Qualifier IMAGE_FILE,
      Value (Type = $INFILE, Default = IMTA_CONFIG_DATA)
    Qualifier INPUT, Value (Required, Type = $INFILE)
    Qualifier JACKET
    Qualifier LOCAL_ALIAS, Value (Required)
    Qualifier MAPPING_FILE, Value (Required, Type = $INFILE)
    Qualifier MAP_FILE, Value (Required, Type = $INFILE)
    Qualifier OPTION_FILE, Value (Required)
    Qualifier OUTPUT, Nonnegatable, Value (Required, Type = $OUTFILE)
    Qualifier PASSWORD, Value (Required)
    Qualifier READ_RECEIPT
    Qualifier REPROCESSING
    Qualifier RESTRICTED, Value (Required, Type = $NUMBER)
    Qualifier REWRITE
    Qualifier SOURCE_CHANNEL, Nonnegatable, Value (Required)
    Qualifier STATISTICS
    Qualifier SYSTEM_FILTER, Value (Required)
    Qualifier TRANSPORTINFO, Value (Required)
    Qualifier USER, Value (Default = "--USERNAME--")
    Disallow (FROM and USER) or
             (IMAGE_FILE and ALIAS_FILE) or
             (IMAGE_FILE and CONFIGURATION_FILE) or
             (IMAGE_FILE and OPTION_FILE) or
             (IMAGE_FILE and MAP_FILE) or
             (IMAGE_FILE and CONVERSION_FILE) or
             (DATABASE.ALIAS and DATABASE.NOALIAS) or
             (DATABASE.PERSONAL_ALIAS and DATABASE.NOPERSONAL_ALIAS) or
             (DATABASE.DOMAIN and DATABASE.NODOMAIN) or
             (DATABASE.GENERAL and DATABASE.NOGENERAL) or
             (DATABASE.REVERSE and DATABASE.NOREVERSE) or
             (DATABASE.FORWARD and DATABASE.NOFORWARD) or
             (ADDRESS and INPUT)

  Define Syntax IMTA_SPACE_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier SPACE, Default
    Qualifier CONTINUOUS

  Define Syntax IMTA_MATCH_TEST
    Image IMTA_BIN:imtacli
    Parameter P1, Value (Required)
    Qualifier MATCH, Default

  Define Syntax IMTA_TRANSLATION_TEST
    Image IMTA_BIN:translation_test
    Parameter P1, Value (Required)
    Qualifier IMAGE_FILE,
      Value (Type = $INFILE, Default = IMTA_CHARSET_DATA)
    Qualifier SOURCE, Value (Required)
    Qualifier DESTINATION, Value (Required)
    Qualifier INPUT, Value (Required, Type = $INFILE)
    Qualifier OUTPUT, Value (Required, Type = $OUTFILE)
    Qualifier STRIP_ACCENT
    Qualifier CALL_RESET
    Parameter P2, Label = INPUT_STRING
    Disallow INPUT and INPUT_STRING

  Define Syntax IMTA_USER_TEST
    Image IMTA_BIN:user_test
    Parameter P1, Value (Required)
    Parameter P2, Label = INPUT_STRING
    Qualifier DEBUG

  Define Syntax IMTA_UNIX_TEST
    Image IMTA_BIN:unix_test
    Parameter P1, Value (Required)
    Parameter P2, Label = INPUT_STRING

  Define Syntax IMTA_VMS_TEST
    Image IMTA_BIN:vms_test
    Parameter P1, Value (Required)
    Qualifier VMS
    Qualifier CHANNEL, Nonnegatable, Value (Required)
    Qualifier PROTOCOL, Nonnegatable, Value (Required)

!+!%ifndef __IMTA
  Define Syntax IMTA_WPO_TEST
    Image IMTA_BIN:pc_test
    Parameter P1, Value (Required)
    Parameter P2, Label = ADDRESS, Value (Type = $REST_OF_LINE)
    Qualifier CC
    Qualifier FF
    Qualifier LN
    Qualifier MHS
    Qualifier WPO, Default
    Qualifier GROUPWISE, Default
    Qualifier CHANNEL, Value (Required)
    Qualifier DEBUG
    Qualifier DECODE, Nonnegatable
    Qualifier ENCODE, Nonnegatable
    Qualifier 822TOLAN, Nonnegatable
    Qualifier LANTO822, Nonnegatable
    Qualifier BACKWARD, Nonnegatable
    Qualifier FORWARD, Nonnegatable
    Qualifier ENVELOPE, Nonnegatable
    Qualifier HEADER, Nonnegatable
    Qualifier TIME, Nonnegatable
    Disallow any2 (BACKWARD, FORWARD, TIME)
    Disallow any2 (ENVELOPE, HEADER, TIME)
    Disallow any2 (ENCODE, DECODE, 822TOLAN, LANTO822)
!+!%endif

  Define Syntax IMTA_X400_TEST
    Image IMTA_BIN:x400_test
    Parameter P1, Value (Required)
    Qualifier INPUT, Nonnegatable, Value (Required, Type = $INFILE)
    Qualifier FORWARD, Nonnegatable
    Qualifier REVERSE, Nonnegatable
    Qualifier ENVELOPE, Nonnegatable
    Qualifier HEADER, Nonnegatable
    Qualifier LHS_ORDER, Nonnegatable
    Qualifier RHS_ORDER, Nonnegatable
    Qualifier X400
    Qualifier DEBUG
    Qualifier RESTRICTED
    Qualifier DOC, Nonnegatable
    Qualifier FAX, Nonnegatable
    Qualifier X488, Nonnegatable
    Qualifier X484, Nonnegatable
    Qualifier MB400, Nonnegatable
    Qualifier MHS, Nonnegatable
    Qualifier IMAGE_FILE
!+!%ifdef __VMS
    Qualifier MR, Nonnegatable
    Qualifier MRIF, Nonnegatable
    Disallow any2 (DOC, FAX, X484, X488, MR, MRIF, MHS, MB400)
!+!%else
    Disallow any2 (DOC, FAX, X484, X488, MHS, MB400)
!+!%endif
    Disallow ENVELOPE and HEADER
    Disallow FORWARD and REVERSE
    Disallow RHS_ORDER and LHS_ORDER

Define Syntax IMTA_TEST
  Parameter P1, Value (Required)
  Qualifier BACKOFF, Nonnegatable, Syntax = IMTA_BACKOFF_TEST
!+!%ifndef __IMTA
  Qualifier CC, Nonnegatable, Syntax = IMTA_CC_TEST
!+!%endif
  Qualifier CL, Nonnegatable, Syntax = IMTA_CL_TEST
  Qualifier CHANNEL, Nonnegatable, Syntax = IMTA_CHANNEL_TEST
  Qualifier DB, Nonnegatable, Syntax = IMTA_DATABASE_TEST,
  Qualifier EIGHTBIT, Nonnegatable, Syntax = IMTA_EIGHTBIT_TEST
!+!%ifdef __VMS
  Qualifier ERROR, Nonnegatable, Syntax = IMTA_ERROR_TEST
!+!%endif
  Qualifier EXPRESSION, Nonnegatable, Syntax = IMTA_EXPRESSION_TEST
  Qualifier FAX_ROUTING, Nonnegatable, Syntax = IMTA_FAX_ROUTING_TEST
!+!%ifndef __IMTA
  Qualifier FF, Nonnegatable, Syntax = IMTA_FF_TEST
!+!%endif
  Qualifier HASH, Nonnegatable, Syntax = IMTA_HASH_TEST
  Qualifier HEADER, Nonnegatable, Syntax = IMTA_HEADER_TEST
  Qualifier LANGUAGE, Nonnegatable, Syntax = IMTA_LANGUAGE_TEST
  Qualifier LDAP, Nonnegatable, Syntax = IMTA_LDAP_TEST
!+!%ifndef __IMTA
  Qualifier LN, Nonnegatable, Syntax = IMTA_LN_TEST
!+!%endif
  Qualifier MAPPING, Nonnegatable, Syntax = IMTA_MAPPING_TEST
  Qualifier MATCH, Nonnegatable, Syntax = IMTA_MATCH_TEST
!+!%ifndef __IMTA
  Qualifier MHS, Nonnegatable, Syntax = IMTA_MHS_TEST
!+!%endif
  Qualifier MIME, Nonnegatable, Syntax = IMTA_MIME_TEST
!+!%ifdef __VMS
  Qualifier MR, Nonnegatable, Syntax = IMTA_MR_TEST
  Qualifier TIME,
!+! Hidden,
    Nonnegatable, Syntax = IMTA_TIME_TEST
!+!%endif
  Qualifier RECURRENCE,
!+! Hidden,
    Nonnegatable,
    Syntax = IMTA_RECURRENCE_TEST
  Qualifier OPTION, Nonnegatable, Syntax = IMTA_OPTION_TEST
  Qualifier REWRITE, Nonnegatable, Syntax = IMTA_MMTEST
  Qualifier SPACE, Nonnegatable, Syntax = IMTA_SPACE_TEST
  Qualifier SYMBOLS, Nonnegatable, Syntax = IMTA_SYMBOL_TEST
  Qualifier TRANSLATION, Nonnegatable, Syntax = IMTA_TRANSLATION_TEST
  Qualifier UNIX, Nonnegatable, Syntax = IMTA_UNIX_TEST
  Qualifier URL, Nonnegatable, Syntax = IMTA_URL_TEST
  Qualifier USER, Nonnegatable, Syntax = IMTA_USER_TEST
  Qualifier VMS, Nonnegatable, Syntax = IMTA_VMS_TEST
!+!%ifndef __IMTA
  Qualifier WPO, Nonnegatable, Syntax = IMTA_WPO_TEST
  Qualifier GROUPWISE, Nonnegatable, Syntax = IMTA_WPO_TEST
!+!%endif
  Qualifier X400, Nonnegatable, Syntax = IMTA_X400_TEST
  Qualifier ZONE, Nonnegatable, Syntax = IMTA_ZONE_TEST

Define Syntax IMTA_VERSION
!+!%ifdef __VMS
    Image IMTA_EXE:imtacli
!+!%else
!+! Image IMTA_BIN:version
!+!%endif
  Parameter P1, Value (Required)

!+!%ifndef __VMS
!+!Define Syntax IMTA_VIEW
!+!  Image IMTA_BIN:view
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Label = FILE_PATTERN, Value (type = $REST_OF_LINE)
!+!  Qualifier FIRST, Value (Required)
!+!  Qualifier LAST, Value (Required)
!+!  Qualifier DEBUG, Nonnegatable
!+!%endif

Define Syntax IMTA_DIRECTORY
  Qualifier IMPORT, Syntax = IMTA_DIRECTORY_IMPORT
  Qualifier EXPORT, Syntax = IMTA_DIRECTORY_EXPORT
  Qualifier LOAD, Syntax = IMTA_DIRECTORY_LOAD
  Qualifier DUMP, Syntax = IMTA_DIRECTORY_DUMP
  Qualifier GENDB, Syntax = IMTA_DIRECTORY_DIRDB
  Qualifier DIFF, Syntax = IMTA_DIRECTORY_DIFF
  Qualifier BROWSE, Syntax = IMTA_DIRECTORY_BROWSE
  Qualifier ADMIN, Syntax = IMTA_DIRECTORY_ADMIN

Define Syntax IMTA_DIRECTORY_ADMIN
  Image IMTA_BIN:bom

Define Syntax IMTA_DIRECTORY_DUMP
  Image IMTA_BIN:gen_big_edb
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier ROOT, Value
  Qualifier ATTRIBUTES, Value (List)
  Qualifier FILTER, Value
  Qualifier DUMPROOT, Negatable
  Qualifier DEBUG

Define Syntax IMTA_DIRECTORY_DIFF
  Image IMTA_BIN:make_diff_edb
  Qualifier DIRFILE, Default, Value (Type = $INFILE, Default = DIRFILE.EDF)
  Qualifier MODFILE, Default, Value (Type = $OUTFILE, Default = MODFILE.EDF)
  Qualifier LOGFILE, Value (Type = $OUTFILE)
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier ROOT, Value
  Qualifier IGNOREATTR
  Qualifier CLASS, Value
  Qualifier ATTRIBUTES, Value (List)
  Qualifier DEBUG
  Disallow IGNOREATTR AND ATTRIBUTES

Define Syntax IMTA_DIRECTORY_DIRDB
  Image IMTA_BIN:gen_dir_db
  Qualifier FORWARD
  Qualifier REVERSE
  Qualifier DBFILE, Default, Value (Type = $OUTFILE, Default = DBFILE.TXT)
  Qualifier ALIASFILE, Default, Value (Type = $OUTFILE, Default = ALIAS.TXT)
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier LOCALHOST, Value
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier ROOT, Value
  Qualifier DEBUG
  Disallow FORWARD AND REVERSE
  Disallow REVERSE AND LOCALHOST
  Disallow DIRFILE AND SERVER

Define Syntax IMTA_DIRECTORY_LOAD
  Image IMTA_BIN:ldap_load
  Qualifier DIRFILE, Value (Type = $INFILE, Required)
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier LOGFILE, Value (Type = $OUTFILE)
  Qualifier DEBUG

Define Syntax IMTA_DIRECTORY_EXPORT
  Qualifier CCMAIL, Syntax = IMTA_EXPORT_CC
  Qualifier DDS, Syntax = IMTA_EXPORT_DDS
  Qualifier MSMAIL, Syntax = IMTA_EXPORT_FF
  Qualifier WPO, Syntax = IMTA_EXPORT_WPO
  Qualifier GROUPWISE, Syntax = IMTA_EXPORT_WPO
  Qualifier EXCHANGE, Syntax = IMTA_EXPORT_EXCH
  Qualifier A1, Syntax = IMTA_EXPORT_A1
  Disallow any2 (CCMAIL, DDS, MSMAIL, WPO, GROUPWISE, EXCHANGE, A1)

Define Syntax IMTA_DIRECTORY_IMPORT
  Qualifier CCMAIL, Syntax = IMTA_IMPORT_CC
  Qualifier DDS, Syntax = IMTA_IMPORT_DDS
  Qualifier MSMAIL, Syntax = IMTA_IMPORT_FF
  Qualifier WPO, Syntax = IMTA_IMPORT_WPO
  Qualifier GROUPWISE, Syntax = IMTA_IMPORT_WPO
  Qualifier EXCHANGE, Syntax = IMTA_IMPORT_EXCH
  Qualifier A1, Syntax = IMTA_IMPORT_A1
  Disallow any2 (CCMAIL, DDS, MSMAIL, WPO, GROUPWISE, EXCHANGE, A1)

Define Syntax IMTA_EXPORT_CC
  Image IMTA_BIN:cc_export
  Qualifier CCFILE, Default, Value (Type = $OUTFILE, Default = CC_OUTPUT.DAT)
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier ROOT, Value
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier DEBUG
  Disallow DIRFILE AND (SERVER OR USER OR PASSWORD)

Define Syntax IMTA_EXPORT_FF
  Image IMTA_BIN:ff_export
  Qualifier MSFILE, Default, Value (Type = $OUTFILE, Default = MS_OUTPUT.DAT)
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier MAPPING, Value
  Qualifier ROOT, Value
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier DEBUG
  Disallow DIRFILE AND (SERVER OR USER OR PASSWORD)

Define Syntax IMTA_EXPORT_WPO
  Image IMTA_BIN:wpo_export
  Qualifier WPOFILE, Default, Value (Type = $OUTFILE, Default = WPO_OUTPUT.DAT)
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier WPODOMAIN, Value (Default = IMTA)
  Qualifier WPOPOSTOFFICE, Value (Default = IMTA)
  Qualifier MAPPING, Value
  Qualifier ROOT, Value
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier DEBUG
  Disallow DIRFILE AND (SERVER OR USER OR PASSWORD)

Define Syntax IMTA_EXPORT_EXCH
  Image IMTA_BIN:exchange_export
  Qualifier EXFILE, Default, Value (Type = $OUTFILE, Default = EX_OUTPUT.CSV)
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier ROOT, Value
  Qualifier SERVER, Value
  Qualifier PORT, Default, Value (Type = $NUMBER, Default = 389)
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier DEBUG
  Disallow DIRFILE AND (SERVER OR USER OR PASSWORD)

Define Syntax IMTA_EXPORT_DDS
  Image IMTA_BIN:dds_export
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier ROOT, Value
  Qualifier SERVER, Value
  Qualifier PORT, Value
  Qualifier DN, Value
  Qualifier MAPPING, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier MAILBOX, Default, Value (Default = IMTA)
  Qualifier NODE, Value
  Qualifier DEBUG
  Disallow DIRFILE AND (SERVER OR PORT OR USER OR PASSWORD)

Define Syntax IMTA_EXPORT_A1
  Image IMTA_BIN:a1_export
  Qualifier DIRFILE, Value (Type = $INFILE)
  Qualifier ROOT, Value
  Qualifier SERVER, Value
  Qualifier PORT, Value
  Qualifier DN, Value
  Qualifier MAPPING, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier MAILBOX, Default, Value (Default = IMTA)
  Qualifier NODE, Value
  Qualifier DEBUG
  Disallow DIRFILE AND (SERVER OR PORT OR USER OR PASSWORD)

Define Syntax IMTA_IMPORT_CC
  Image IMTA_BIN:cc_import
  Qualifier CCFILE, Value (Type = $INFILE, Required)
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier MAPPING, Value
  Qualifier DOMAIN, Nonnegatable, Value (Required)
  Qualifier IMPORT
  Qualifier COUNTRY, Value
  Qualifier LOCALITY, Value
  Qualifier STATE, Value
  Qualifier ORGANIZATION, Value
  Qualifier OU1, Value
  Qualifier OU2, Value
  Qualifier OU3, Value
  Qualifier OU4, Value
  Qualifier ADMD, Value
  Qualifier PRMD, Value
  Qualifier FNF
  Qualifier ROOTING
  Qualifier DEBUG
  Disallow OU2 AND NOT OU1
  Disallow OU3 AND NOT OU2
  Disallow OU4 AND NOT OU3

Define Syntax IMTA_IMPORT_WPO
  Image IMTA_BIN:wpo_import
  Qualifier WPOFILE, Value (Type = $INFILE, Required)
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier MAPPING, Value
  Qualifier DOMAIN, Nonnegatable, Value (Required)
  Qualifier IMPORT
  Qualifier COUNTRY, Value
  Qualifier LOCALITY, Value
  Qualifier STATE, Value
  Qualifier ORGANIZATION, Value
  Qualifier OU1, Value
  Qualifier OU2, Value
  Qualifier OU3, Value
  Qualifier OU4, Value
  Qualifier ADMD, Value
  Qualifier PRMD, Value
  Qualifier DEBUG
  Disallow OU2 AND NOT OU1
  Disallow OU3 AND NOT OU2
  Disallow OU4 AND NOT OU3

Define Syntax IMTA_IMPORT_EXCH
  Image IMTA_BIN:exchange_import
  Qualifier EXFILE, Value (Type = $INFILE, Required)
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier COLUMN_SEPARATOR, Value
  Qualifier DOMAIN, Nonnegatable, Value (Required)
  Qualifier PROPERTY_SEPARATOR, Value
  Qualifier MAPPING, Value
  Qualifier IMPORT
  Qualifier COUNTRY, Value
  Qualifier LOCALITY, Value
  Qualifier STATE, Value
  Qualifier ORGANIZATION, Value
  Qualifier OU1, Value
  Qualifier OU2, Value
  Qualifier OU3, Value
  Qualifier OU4, Value
  Qualifier ADMD, Value
  Qualifier PRMD, Value
  Qualifier DEBUG
  Disallow OU2 AND NOT OU1
  Disallow OU3 AND NOT OU2
  Disallow OU4 AND NOT OU3

Define Syntax IMTA_IMPORT_FF
  Image IMTA_BIN:ff_import
  Qualifier MSFILE, Value (Type = $INFILE, Required)
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier MAPPING, Value
  Qualifier DOMAIN, Nonnegatable, Value (Required)
  Qualifier IMPORT
  Qualifier SEARCHROOT, Value
  Qualifier ROOTING
  Qualifier IGNOREDEL
  Qualifier COUNTRY, Value
  Qualifier LOCALITY, Value
  Qualifier STATE, Value
  Qualifier ORGANIZATION, Value
  Qualifier OU1, Value
  Qualifier OU2, Value
  Qualifier OU3, Value
  Qualifier OU4, Value
  Qualifier ADMD, Value
  Qualifier PRMD, Value
  Qualifier SERVER, Value
  Qualifier PORT, Value
  Qualifier DN, Value
  Qualifier USER, Value    ! same as DN
  Qualifier PASSWORD, Value
  Qualifier DEBUG
  Disallow IGNOREDEL AND (SERVER or PORT or DN or USER or PASSWORD)
  Disallow OU2 AND NOT OU1
  Disallow OU3 AND NOT OU2
  Disallow OU4 AND NOT OU3

Define Syntax IMTA_IMPORT_DDS
  Image IMTA_BIN:dds2edf
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier MAPPING, Value
  Qualifier COUNTRY, Value
  Qualifier LOCALITY, Value
  Qualifier STATE, Value
  Qualifier ORGANIZATION, Value
  Qualifier OU1, Value
  Qualifier OU2, Value
  Qualifier OU3, Value
  Qualifier OU4, Value
  Qualifier ADMD, Value
  Qualifier PRMD, Value
  Qualifier FNF
  Qualifier ROOTING
  Qualifier SCOPE, Value (List)
  Qualifier DEBUG
  Disallow OU2 AND NOT OU1
  Disallow OU3 AND NOT OU2
  Disallow OU4 AND NOT OU3
  Disallow MAPPING AND NEG ROOTING

Define Syntax IMTA_IMPORT_A1
  Image IMTA_BIN:a1_import
  Qualifier DIRFILE, Default, Value (Type = $OUTFILE, Default = DIRFILE.EDF)
  Qualifier MAPPING, Value
  Qualifier COUNTRY, Value
  Qualifier LOCALITY, Value
  Qualifier STATE, Value
  Qualifier DOMAIN, Value (Required)
  Qualifier ORGANIZATION, Value
  Qualifier OU1, Value
  Qualifier OU2, Value
  Qualifier OU3, Value
  Qualifier OU4, Value
  Qualifier ADMD, Value
  Qualifier PRMD, Value
  Qualifier FNF
  Qualifier ROOTING
  Qualifier DEBUG
  Disallow OU2 AND NOT OU1
  Disallow OU3 AND NOT OU2
  Disallow OU4 AND NOT OU3
  Disallow MAPPING AND NEG ROOTING

Define Type IMTAX500_INTERFACES
  Keyword CHARACTER_CELL, Syntax = IMTA_BROWSE_VT, Default
  Keyword DECWINDOWS, Syntax = IMTA_BROWSE_MOTIF
  Keyword VT, Syntax = IMTA_BROWSE_VT

Define Syntax IMTA_DIRECTORY_BROWSE
  Image IMTA_BIN:vt_x500browser
  Qualifier INTERFACE, Value (Type = IMTAX500_INTERFACES)

Define Syntax IMTA_BROWSE_VT
  Image IMTA_BIN:vt_x500browser

Define Syntax IMTA_BROWSE_MOTIF
  Image IMTA_BIN:bom

!+!%ifdef __VMS
Define Syntax IMTA_X5SEARCH
  Image IMTA_BIN:line_search
  Parameter P1, Value (Required)
  Parameter P2, 
    Prompt = "Search for",
    Value (Required)
  Qualifier ROOT, Nonnegatable, Value
  Qualifier SERVER, Nonnegatable, Value
  Qualifier PORT, Nonnegatable, Value   
!+!%endif

!+!%ifndef __IMTA
Define Syntax IMTA_DIRSYNC
  Qualifier COOK, Syntax = IMTA_DIRSYNC_COOK
  Qualifier SERVE, Syntax = IMTA_DIRSYNC_SERVE
  Qualifier CONVERT, Syntax = IMTA_DIRSYNC_CONVERT
  Qualifier DIFFERENCES, Syntax = IMTA_DIRSYNC_DIFFERENCES
  Qualifier DIRBOT, Syntax = IMTA_DIRSYNC_DIRBOT
!+!%endif

Define Syntax IMTA_DIRSYNC_COOK
  Image IMTA_BIN:cook
  Qualifier RECIPE, Value (Type = $INFILE)
  Parameter P1, Value (Required)
  Qualifier DEBUG
  Parameter P2,
    Prompt = "Raw file",
    Label = INFILE,
    Value (Required, Type = $INFILE)
  Parameter P3,
    Prompt = "Cooked file",
    Label = OUTFILE,
    Value (Required, Type = $OUTFILE)

Define Syntax IMTA_DIRSYNC_SERVE
  Image IMTA_BIN:cook
  Qualifier RECIPE, Value (Type = $INFILE)
  Parameter P1, Value (Required)
  Qualifier DEBUG
  Parameter P2,
    Prompt = "Cooked file",
    Label = INFILE,
    Value (Required, Type = $INFILE)
  Parameter P3,
    Prompt = "Final file",
    Label = OUTFILE,
    Value (Required, Type = $OUTFILE)

Define Syntax IMTA_DIRSYNC_DIFFERENCES
  Image IMTA_BIN:dirdif
  Parameter P1, Value (Required)
  Qualifier DEBUG
  Qualifier INCLUDE, Value (List)
  Qualifier EXCLUDE, Value (List)
  Qualifier NAME, Value
  Parameter P2,
    Label = AUTHFILE,
    Prompt = "Auth file",
    Value (Required, Type = $INFILE)
  Parameter P3,
    Label = OLDFILE,
    Prompt = "Old file",
    Value (Required, Type = $INFILE)
  Parameter P4,
    Label = DELTAFILE,
    Prompt = "Gen file",
    Value (Required, Type = $OUTFILE)

Define Syntax IMTA_DIRSYNC_DIRBOT
  Image IMTA_BIN:sync_dirbot
  Qualifier USE_LEFTOVERS
  Qualifier UPDATE, Nonnegatable, Value (List)
  Qualifier NOUPDATE, Nonnegatable, Value (List)
  Parameter P1, Value (Required)
  Disallow UPDATE AND NOUPDATE

Define Syntax IMTA_DIRSYNC_CONVERT
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = IMTA_DIRSYNC_SOURCE)

Define Type IMTA_DIRSYNC_SOURCE
!+!%ifdef __VMS
  Keyword A1, Nonnegatable, Syntax = IMTA_DIRSYNC_SOURCE_A1
  Keyword DDS, Nonnegatable, Syntax = IMTA_DIRSYNC_SOURCE_DDS
!+!%endif
  Keyword CC,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_SOURCE_CC,
    Value (Required, Type = $INFILE) 
  Keyword COMMA,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_SOURCE_COMMA,
    Value (Required, Type = $INFILE)
  Keyword MSMAIL,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_SOURCE_MSMAIL,
    Value (Required, Type = $INFILE)
  Keyword LDIF,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_SOURCE_LDIF,
    Value (Required, Type = $INFILE)
  Keyword LDAP, Nonnegatable, Syntax = IMTA_DIRSYNC_SOURCE_LDAP
  Keyword TRUELDIF,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_SOURCE_TRUELDIF,
    Value (Required, Type = $INFILE)

!+!%ifdef __VMS
Define Syntax IMTA_DIRSYNC_SOURCE_A1
  Image IMTA_BIN:a12ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG
  Qualifier OPTION, nonnegatable, Value (Required, Type = $INFILE)

Define Type IMTA_DIRSYNC_SCOPES
  Keyword LOCAL
  Keyword CACHE
  Keyword GLOBAL
  
Define Syntax IMTA_DIRSYNC_SOURCE_DDS
  Image IMTA_BIN:dds2ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG
  Qualifier SCOPE, Nonnegatable, Value (List, Type = IMTA_DIRSYNC_SCOPES)
!+!%endif

Define Syntax IMTA_DIRSYNC_SOURCE_CC
  Image IMTA_BIN:cc2ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = IMTA_DIRSYNC_SOURCE)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG
  Qualifier DOMAIN, Value (Required), Nonnegatable
  Qualifier FNF

Define Syntax IMTA_DIRSYNC_SOURCE_COMMA
  Image IMTA_BIN:comma2ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = IMTA_DIRSYNC_SOURCE)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG
  Qualifier ATTRIBUTES, Nonnegatable, Value (Required, List)
  Qualifier SPACE, Nonnegatable, Value (Required)
  Qualifier HEADER
  Qualifier DN, Nonnegatable, Value (Required, List)
  Disallow (not DN)
  Disallow (not ATTRIBUTES) and (not HEADER)
  Disallow (ATTRIBUTES) and (HEADER)

Define Syntax IMTA_DIRSYNC_SOURCE_MSMAIL
  Image IMTA_BIN:ms2ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = IMTA_DIRSYNC_SOURCE)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG

Define Syntax IMTA_DIRSYNC_SOURCE_LDAP
  Image IMTA_BIN:ldap2ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG
  Qualifier OPTION, nonnegatable, Value (Required, Type = $INFILE)

Define Syntax IMTA_DIRSYNC_SOURCE_TRUELDIF
  Image IMTA_BIN:ldif2pldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = IMTA_DIRSYNC_SOURCE)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DEST_LDIF)
  Qualifier DEBUG

Define Syntax IMTA_DIRSYNC_SOURCE_LDIF
  Parameter P1, Value (Required)
  Parameter P2, Value (Required, Type = IMTA_DIRSYNC_SOURCE)
  Parameter P3, Value (Required, Type = IMTA_DIRSYNC_DESTINATION)
  
Define Type IMTA_DIRSYNC_DESTINATION
!+!%ifdef __VMS
  Keyword A1, Nonnegatable, Syntax = IMTA_DIRSYNC_DEST_A1
  Keyword DDS, Nonnegatable, Syntax = IMTA_DIRSYNC_DEST_DDS
!+!%endif
  Keyword CC, 
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_DEST_CC,
    Value (Required, Type = $OUTFILE)
  Keyword COMMA,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_DEST_COMMA,
    Value (Required, Type = $OUTFILE)
  Keyword DB,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_DEST_DB
  Keyword MSMAIL,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_DEST_MSMAIL,
    Value (Required, Type = $OUTFILE)
  Keyword LDAP, Nonnegatable, Syntax = IMTA_DIRSYNC_DEST_LDAP
  Keyword TRUELDIF,
    Nonnegatable,
    Syntax = IMTA_DIRSYNC_DEST_TRUELDIF,
    Value (Required, Type = $OUTFILE)

!+!%ifdef __VMS
Define Syntax IMTA_DIRSYNC_DEST_A1
  Image IMTA_BIN:ldif2a1
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG
  Qualifier OPTION, nonnegatable, Value (Required, Type = $INFILE)

Define Syntax IMTA_DIRSYNC_DEST_DDS
  Image IMTA_BIN:ldif2dds
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG
!+!%endif

Define Syntax IMTA_DIRSYNC_DEST_CC
  Image IMTA_BIN:ldif2cc
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG

Define Syntax IMTA_DIRSYNC_DEST_COMMA
  Image IMTA_BIN:ldif2comma
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG
  Qualifier SPACE, Nonnegatable, Value (Required)
  Qualifier ATTRIBUTES, Nonnegatable, Value (Required, List)
  Qualifier HEADER
  Disallow (not ATTRIBUTES)

Define Syntax IMTA_DIRSYNC_DEST_DB
  Image IMTA_BIN:ldif2db
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG
  Qualifier REBUILD, Nonnegatable, Value (Required, List)

Define Syntax IMTA_DIRSYNC_DEST_MSMAIL
  Image IMTA_BIN:ldif2ms
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG

Define Syntax IMTA_DIRSYNC_DEST_LDAP
  Image IMTA_BIN:ldif2ldap
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG
  Qualifier OPTION, nonnegatable, Value (Required, Type = $INFILE)

Define Syntax IMTA_DIRSYNC_DEST_TRUELDIF
  Image IMTA_BIN:pldif2ldif
  Parameter P1, Value (Required)
  Parameter P2, Value (Required)
  Parameter P3, Value (Required)
  Qualifier DEBUG
  Qualifier VERBOSE, Value (Type = $NUMBER)
  Qualifier DELTA

Define Type IMTA_DIRSYNC_DEST_LDIF
  Keyword LDIF, Nonnegatable, Value (Required, Type = $OUTFILE)

!+!%ifdef __IMTA

!+!Define Syntax IMTA_DIRSYNC
!+!  Image IMTA_BIN:imtacli
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Value (Type = $REST_OF_LINE)
!+!  casequalifiers
!+!  Qualifier c, Nonnegatable
!+!  Qualifier C, Nonnegatable, Value
!+!  Qualifier v, Nonnegatable
!+!  Qualifier V, Nonnegatable
!+!  Qualifier F, Nonnegatable
!+!  Qualifier s, Nonnegatable
!+!  Qualifier t, Nonnegatable
!+!  Qualifier i, Nonnegatable, Value
!+!  Qualifier u, Nonnegatable, Value
!+!  Disallow c and (C or F or t or i or u)
!+!  Disallow i and (C or F or t or u)
!+!  Disallow s and (C or F or t or u)

!+!Define Syntax IMTA_DISPATCHER_STATS_TTY
!+!  Image IMTA_BIN:dispatcher_stats_tty
!+!  Qualifier SHIFT_ARG, Nonnegatable, Default

!+!%endif

  Define Type IMTA_QSCAN_MATCH_TYPES
    Keyword AND, Nonnegatable
    Keyword OR, Nonnegatable

Define Syntax IMTA_QCLEAN
  Image IMTA_BIN:qclean
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "Channel", Label = CHANNEL, Value
  Qualifier CONTENT, Nonnegatable, Value (Required)
  Qualifier DELETE, Nonnegatable
  Qualifier DATABASE, Nonnegatable
  Qualifier DIRECTORY_TREE, Nonnegatable
  Qualifier DOMAIN_TO, Nonnegatable, Value (Required)
  Qualifier ENV_FROM, Nonnegatable, Value (Required)
  Qualifier ENV_TO, Nonnegatable, Value (Required)
  Qualifier FROM, Nonnegatable, Value (Required)
  Qualifier HOLD, Nonnegatable, Default
  Qualifier IGNORE_ZZ
  Qualifier MATCH, Nonnegatable, Value (Required, Type = IMTA_QSCAN_MATCH_TYPES)
  Qualifier MIN_LENGTH, Nonnegatable, Value (Required)
  Qualifier NOTHREADS, Nonnegatable, Default
  Qualifier OUTPUT, Nonnegatable, Value (Required, Type = $OUTFILE)
  Qualifier SUBJECT, Nonnegatable, Value (Required)
  Qualifier THREADS, Nonnegatable, Value (Required)
  Qualifier TO, Nonnegatable, Value (Required)
  Qualifier VERBOSE, Default
  Disallow DATABASE and DIRECTORY_TREE
  Disallow THREADS and NOTHREADS
  Disallow HOLD and DELETE

  Define Type IMTA_QSCAN_TYPE_INFO
    Keyword LENGTH, Nonnegatable, Value (Required)
    Keyword START, Nonnegatable, Value (Required)

Define Syntax IMTA_QTOP
  Image IMTA_BIN:qtop
  Parameter P1, Value (Required)
  Parameter P2, Prompt = "Channel", Label = CHANNEL, Value
  Qualifier CONTENT, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier DATABASE, Nonnegatable
  Qualifier DIRECTORY_TREE, Nonnegatable
  Qualifier DOMAIN_TO, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier ENV_FROM, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier ENV_TO, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier FROM, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier IGNORE_ZZ
  Qualifier MIN_COUNT, Nonnegatable, Value (Required)
  Qualifier NOTHREADS, Nonnegatable, Default
  Qualifier OUTPUT, Nonnegatable, Value (Required, Type = $OUTFILE)
  Qualifier SUBJECT, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier THREADS, Nonnegatable, Value (Required)
  Qualifier TO, Nonnegatable, Value (Type = IMTA_QSCAN_TYPE_INFO, List)
  Qualifier TOP, Nonnegatable, Value (Required)
  Qualifier VERBOSE, Default
  Disallow DATABASE and DIRECTORY_TREE
  Disallow THREADS and NOTHREADS

!+!%ifdef __IMTA
!+!Define Syntax IMTA_QUEUE
!+!  Image IMTA_BIN:imtacli
!+!  Parameter P1, Value (Required)
!+!  Parameter P2, Prompt = "Channel", Label = CHANNEL, Value (Required)
!+!  Qualifier RETRY_DELIVERY, Nonnegatable
!+!
!+!Define Syntax IMTA_RECOVER_CRASH
!+!  Image IMTA_BIN:imtacli
!+!  Parameter P1, Value (Required)
!+!  Qualifier i, Nonnegatable
!+!%endif

Define Type IMTA_UTILITIES
  Keyword CACHE, Syntax = IMTA_CACHE
  Keyword CALCULATE, Syntax = IMTA_CALC
  Keyword CHBUILD, Syntax = IMTA_CHBUILD
  Keyword CIRCUIT_CHECK, Syntax = IMTA_CIRCUITCHECK
  Keyword CLBUILD, Syntax = IMTA_CLBUILD
  Keyword CNBUILD, Syntax = IMTA_CNBUILD
!+!%ifndef __VMS
!+!  Keyword CONFIGUTIL, Syntax = IMTA_CONFIGUTIL
!+!%endif
  Keyword CONVERT, Syntax = IMTA_CONVERT
!+!%ifndef __VMS
!  Keyword CONVERTDB, Syntax = IMTA_CONVERTDB
!+!  Keyword CLEANDB, Syntax = IMTA_CLEANDB
!+!%endif
  Keyword COUNTERS, Syntax = IMTA_COUNTERS
  Keyword CRDB, Syntax = IMTA_CRDB
!+!%ifdef __VMS
  Keyword CWD, Syntax = IMTA_CWD
!+!%endif
  Keyword DB, Syntax = IMTA_DB
  Keyword DECODE, Syntax = IMTA_CONVERT
!+!%ifdef __VMS
  Keyword DELETE, Syntax = IMTA_DELETE
!+!%endif
!+!%ifndef __IMTA
  Keyword DIRECTORY, Syntax = IMTA_DIRECTORY
!+!%endif
!+!%ifdef __IMTA
!+!  Keyword DIRSYNC, Syntax = IMTA_DIRSYNC
!+!%endif
!+!%ifndef __IMTA
  Keyword DIRSYNC, Syntax = IMTA_DIRSYNC
!+!%endif
!+!%ifdef __IMTA
!+!  keyword DISPATCHER_STATS_TTY, Syntax = IMTA_DISPATCHER_STATS_TTY
!+!%endif
  Keyword DUMPDB, Syntax = IMTA_DUMPDB
!+!%ifdef __NT__
  Keyword EDIT, Syntax = IMTA_CEDIT
!+!%endif
  Keyword ENCODE, Syntax = IMTA_CONVERT
  Keyword FIND, Syntax = IMTA_FIND
!+!%ifdef __VMS
  Keyword FAX_EXCHANGES, Syntax = IMTA_FAX_EXCHANGES
  Keyword FOLDER, Syntax = IMTA_FOLDER
  Keyword FORWARD, Syntax = IMTA_FORWARD
  Keyword G3, Syntax = IMTA_G3
  Keyword INSTALL, Syntax = IMTA_INSTALL
!+!%endif
!+!%ifndef __IMTA
  Keyword LICENSE, Syntax = IMTA_LICENSE
!+!%endif
  Keyword KILL, Syntax = IMTA_KILL
!+!%ifdef __VMS
  Keyword MAIL, Syntax = IMTA_MAIL
  Keyword MIGRATE, Syntax = IMTA_MIGRATE
!+!%endif
!+!%ifndef __IMTA
  Keyword MOVEIN, Syntax = IMTA_MOVEIN
  Keyword MSGSTORE, Syntax = IMTA_MSGSTOREMGR
!+!%endif
  Keyword PASSWORD, Syntax = IMTA_PASSWORD
!+!%ifndef __IMTA
  Keyword PINE, Syntax = IMTA_PINE
  Keyword POPSTORE, Syntax = IMTA_POPMGR
!+!%endif
  Keyword PROCESS_HOLD, Syntax = IMTA_PROCESS_HOLD
!+!%ifndef __VMS
!+!  Keyword PROFILE, Syntax = IMTA_PROFILE
!+!%endif
  Keyword PROCESS, Syntax = IMTA_PROCESS
!+!%ifdef __IMTA
!+!  Keyword PROGRAM, Syntax = IMTA_PROGRAM
!+!%endif
!+!%ifdef __VMS
  Keyword PS, Syntax = IMTA_PS
  Keyword PSWRAP, Syntax = IMTA_PSWRAP
  Keyword PTOREW, Syntax = IMTA_PTOREW
!+!%endif
!+!%ifndef __VMS
!+!  Keyword PURGE, Syntax = IMTA_PURGE
!+!%endif
  Keyword QCLEAN, Syntax = IMTA_QCLEAN
  Keyword QM, Syntax = IMTA_QM
  Keyword QTOP, Syntax = IMTA_QTOP
!+!%ifdef __IMTA
!+!  keyword QUEUE, Syntax = IMTA_QUEUE
!+!  keyword RECOVER-CRASH, Syntax = IMTA_RECOVER_CRASH
!+!%endif
!+!%ifndef __VMS
!+!  Keyword RENAMEDB, Syntax = IMTA_RENAMEDB
!+!%endif
!+!%ifdef __VMS
  Keyword REQUEST, Syntax = IMTA_REQUEST
!+!%endif
!+!%ifdef __IMTA
!+!  keyword REFRESH, Syntax = IMTA_REFRESH
!+!  keyword RELOAD, Syntax = IMTA_RELOAD
!+!%endif
  Keyword RESTART, Syntax = IMTA_RESTART
  Keyword RETURN, Syntax = IMTA_RETURN
  Keyword RUN, Syntax = IMTA_RUN
  Keyword SEND, Syntax = IMTA_SEND
!+!%ifdef __VMS
  Keyword SET, Syntax = IMTA_SET
  Keyword SHOW, Syntax = IMTA_SHOW
!+!%endif
  Keyword SHUTDOWN, Syntax = IMTA_SHUTDOWN
  Keyword STARTUP, Syntax = IMTA_STARTUP
!+!%ifndef __VMS
!+!  Keyword STOP, Syntax = IMTA_SHUTDOWN
!+!%endif
!+!%ifdef __DCL
  Keyword SUBMIT_MASTER, Syntax = IMTA_SUBMIT_MASTER
!+!%else
!+!  Keyword SUBMIT_MASTER, World, Syntax = IMTA_SUBMIT_MASTER
!+!%endif
  Keyword TEST, Syntax = IMTA_TEST
  Keyword VERSION, Syntax = IMTA_VERSION
!+!%ifndef __VMS
!+!  Keyword VIEW, Syntax = IMTA_VIEW
!+!%endif
!+!%ifdef __VMS
  Keyword X5SEARCH, Syntax = IMTA_X5SEARCH
!+!%endif

Define Verb IMSIMTA
  Parameter P1, Value (Required, Type = IMTA_UTILITIES), Prompt = "Utility"
