package Destruction_Utilities is

    procedure Destroy_All (Of_These : in String := "<SELECTION>";
                           Target_Key : in String := "R1000";
                           Response : in String := "<PROFILE>");
    --
    -- This procedure attempts to destroy any and all objects denoted by the
    -- "Of_These" parameter, including cross-importing subsystems and other
    -- complex networks of objects. Frozen, checked-out, access controlled,
    -- and other stubborn kinds of objects are destroyed. (Lock errors cannot
    -- be overcome.)
    --
    -- For maximum efficiency, specify only top-level objects. For instance,
    -- if you wish to destroy "!Tools.Test??", only specify "!Tools.Test": the
    -- resolution of sub-objects should be left to this procedure itself.
    --
    -- The "Target_Key" parameter specifies what target key each library
    -- should be set to before attempting the destroy.

    procedure Destroy_Users (Named : in String := "<SELECTION>";
                             Target_Key : in String := "R1000";
                             Response : in String := "<PROFILE>");
    --
    -- This procedure attempts to destroy any and all users denoted by the
    -- "Named" parameter. The home world, group, searchlists, and error
    -- logs for each user are destroyed.

end Destruction_Utilities;