zmodload [ -iL ] [ name ... ]
zmodload -u [ -i ] name ...
zmodload -d [ -L ] [ name [ dep ... ] ]
zmodload -du name [ dep ... ]
zmodload -a [ -iL ] [ name [ builtin ... ] ]
zmodload -au [ -i ] builtin ...
       Load a binary module.  The module must be in a file
       named either `name.so' or `name'.  If the module to
       be loaded is already loaded and the  -i  option  is
       given,  the duplicate module is ignored.  Otherwise
       zmodload prints an error message.

       The named module is searched for in the same way  a
       command  is,  using  $module path instead of $path.
       If name contains a `/', it will be used as-is,  and
       a  path  search  will be performed otherwise.  This

       behaviour can be modified by the PATH DIRS  option.

       With  -u,  zmodload unloads modules.  The same name
       must be given that was given when  the  module  was
       loaded,  but  it is not necessary for the module to
       exist in the filesystem.  The -i option  suppresses
       the error if the module is already unloaded (or was
       never loaded).

       Each module has a boot and a cleanup function.  The
       module  will  not  be  loaded  if its boot function
       fails.  Similarily a module can only be unloaded if
       its cleanup function runs successfully.

       Without  arguments all currently loaded binary mod-
       ules are printed.  The -L option causes  this  list
       to be in the form of a series of zmodload commands.

       The -d option can be used to specify module  depen-
       dencies.   This  operation is idempotent regardless
       of the -i option.  The modules named in the  second
       and  subsequent arguments will be loaded before the
       module named in the first argument.

       With -d and one argument, all dependencies for that
       module  are  listed.  With -d and no arguments, all
       module dependencies are listed.  This listing is by
       default  in  a Makefile-like format.  The -L option
       changes this format to a list of zmodload  -d  com-
       mands.

       If  -d  and  -u  are  both  used,  dependencies are
       removed.  This operation is  idempotent  regardless
       of  the  -i option.  If only one argument is given,
       all dependencies for that module are removed.

       The -a  option  defines  autoloaded  builtins.   It
       defines  the specified builtins.  When any of those
       builtins is called, the  module  specified  in  the
       first  argument is loaded.  If only one argument is
       given, one builtin is defined, with the  same  name
       as  the  module.   -i  suppresses  the error if the
       builtin is already defined or  autoloaded,  regard-
       less of which module it came from.

       With  -a  and no arguments, all autoloaded builtins
       are listed, with the  module  name  (if  different)
       shown  in  parentheses after the builtin name.  The
       -L option changes this format to a list of zmodload
       -a commands.

       If  -a  is  used  together  with  the  -u option it
       removes builtins defined with zmodload -a.  This is
       only possible if the builtin is not yet loaded.  -i

       suppresses the error  if  the  builtin  is  already
       removed (or never existed).
