SFPCKUSR32 v0.4.0 Beta 1 - Command Reference
=============================================

Run SFPCKUSR.EXE from the Spitfire HOME directory containing SFNODE.DAT.
Switches are not case-sensitive.

INFORMATION
-----------

  SFPCKUSR.EXE /VERSION
  SFPCKUSR.EXE /HELP
  SFPCKUSR.EXE /?

READ-ONLY PREVIEWS
------------------

  SFPCKUSR.EXE /DRYRUN
  SFPCKUSR.EXE /DEL /DRYRUN
  SFPCKUSR.EXE /SEC=5 /DRYRUN
  SFPCKUSR.EXE /OLD=365 /DRYRUN
  SFPCKUSR.EXE /SEC=5 /OLD=365 /DRYRUN
  SFPCKUSR.EXE /SEC=5 /OLD=365 /AND /DRYRUN

A dry run changes no Spitfire database files and creates no backup. It appends
the candidate list and validation results to SFPCKUSR32_REPORT.TXT.

VERIFIED WRITES
---------------

  SFPCKUSR.EXE
      Legacy no-switch behavior: pack only records already marked Deleted.

  SFPCKUSR.EXE /DEL
      Explicit deleted-record-only mode.

  SFPCKUSR.EXE /SEC=5
      Also select exact security level 5 when AllowPurge is Yes.

  SFPCKUSR.EXE /OLD=365
      Also select callers at least 365 calendar days old when AllowPurge is Yes.

  SFPCKUSR.EXE /SEC=5 /OLD=365
      Select non-deleted callers matching security OR age.

  SFPCKUSR.EXE /SEC=5 /OLD=365 /AND
      Select non-deleted callers matching both security AND age.

Already-deleted records are selected independently in non-/DEL modes. User
record #1 is always protected. /OLD accepts 30 through 65535 days.

/DEL cannot be combined with /SEC, /OLD, or /AND. /AND requires both /SEC and
/OLD. The obsolete /WRITE and /LAB switches are rejected.

BACKUP ROOT
-----------

Every write requires a verified backup. Default:

  <Spitfire HOME>\SFPCKUSR-BACKUPS

Custom root:

  SFPCKUSR.EXE /OLD=365 /BACKUP=D:\SFBAK

Quote the entire switch when the path contains spaces:

  SFPCKUSR.EXE /OLD=365 "/BACKUP=D:\SF Backups"

There is no /NOBACKUP switch.

DATE HANDLING
-------------

Last-call dates may use MM-DD-YY or MM-DD-YYYY. Two-digit years use:

  00 through 79 = 2000 through 2079
  80 through 99 = 1980 through 1999

Invalid or future dates are reported and never qualify for /OLD.

REPORT AND EXIT CODES
---------------------

Report file:

  <Spitfire HOME>\SFPCKUSR32_REPORT.TXT

Dry run:

  0 = complete; no candidates
  1 = complete; candidates found
  2 = safety or validation failure
  3 = command-line error

Write:

  0 = verified success, or no records matched
  2 = aborted or failed; keep nodes offline and review rollback status
  3 = command-line error
