anchor.diff:      ShowHelp            : TFarApiShowHelp;
       AdvControl          : TFarApiAdvControl;
       InputBox            : TFarApiInputBox;
  +    ColorDialog         : TFarApiColorDialog;
       DialogInit          : TFarApiDialogInit;
       DialogRun           : TFarApiDialogRun;
       DialogFree          : TFarApiDialogFree;
   
       SendDlgMessage      : TFarApiSendDlgMessage;
       DefDlgProc          : TFarApiDefDlgProc;
  -    Reserved            : DWORD_PTR;
       ViewerControl       : TFarApiViewerControl;
       PluginsControl      : TFarApiPluginsControl;
       FileFilterControl   : TFarApiFilterControl;
  -
       RegExpControl       : TFarApiRegexpControl;
  +    MacroControl        : TFarApiMacroControl;
  +    SettingsControl     : TFarApiSettingsControl;
  +
  +    _Private            : Pointer;
     end; {TPluginStartupInfo}
   
   
  +(*
  +typedef HANDLE (WINAPI *FARAPICREATEFILE)(const wchar_t *Object,DWORD DesiredAccess,DWORD ShareMode,LPSECURITY_ATTRIBUTES SecurityAttributes,DWORD CreationDistribution,DWORD FlagsAndAttributes,HANDLE TemplateFile);
  +typedef DWORD (WINAPI *FARAPIGETFILEATTRIBUTES)(const wchar_t *FileName);
  +typedef BOOL (WINAPI *FARAPISETFILEATTRIBUTES)(const wchar_t *FileName,DWORD dwFileAttributes);
  +typedef BOOL (WINAPI *FARAPIMOVEFILEEX)(const wchar_t *ExistingFileName,const wchar_t *NewFileName,DWORD dwFlags);
  +typedef BOOL (WINAPI *FARAPIDELETEFILE)(const wchar_t *FileName);
  +typedef BOOL (WINAPI *FARAPIREMOVEDIRECTORY)(const wchar_t *DirName);
  +typedef BOOL (WINAPI *FARAPICREATEDIRECTORY)(const wchar_t *PathName,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
  +
  +struct ArclitePrivateInfo
  +{
  +	size_t StructSize;
  +	FARAPICREATEFILE CreateFile;
  +	FARAPIGETFILEATTRIBUTES GetFileAttributes;
  +	FARAPISETFILEATTRIBUTES SetFileAttributes;
  +	FARAPIMOVEFILEEX MoveFileEx;
  +	FARAPIDELETEFILE DeleteFile;
  +	FARAPIREMOVEDIRECTORY RemoveDirectory;
  +	FARAPICREATEDIRECTORY CreateDirectory;
  +};
  +*)
  +{!!!}
  +
  +(*
  +typedef intptr_t (WINAPI *FARAPICALLFAR)(intptr_t CheckCode, struct FarMacroCall* Data);
  +
  +struct MacroPrivateInfo
  +{
  +	size_t StructSize;
  +	FARAPICALLFAR CallFar;
  +};
  +*)
  +{!!!}
  +
  +
   { PLUGIN_FLAGS }
   
  -const
  +type
  +  TPluginFlags = Int64;
  +
  +const
  +  PF_NONE          = 0;
     PF_PRELOAD       = $0001;
     PF_DISABLEPANELS = $0002;
     PF_EDITOR        = $0004;
  
positive.code:   DI_USERCONTROL  = 255;
  
  
  { FarDialogItemFlags }
  
  const
    DIF_NONE                  = 0;
    DIF_COLORMASK             = $000000ff;
    DIF_SETCOLOR              = $00000100;
    DIF_BOXCOLOR              = $00000200;
    DIF_GROUP                 = $00000400;
    DIF_LEFTTEXT              = $00000800;
    DIF_MOVESELECT            = $00001000;
    DIF_SHOWAMPERSAND         = $00002000;
    DIF_CENTERGROUP           = $00004000;
    DIF_NOBRACKETS            = $00008000;
    DIF_MANUALADDHISTORY      = $00008000;
    DIF_SEPARATOR             = $00010000;
    DIF_SEPARATOR2            = $00020000;
    DIF_EDITOR                = $00020000;
    DIF_LISTNOAMPERSAND       = $00020000;
    DIF_LISTNOBOX             = $00040000;
    DIF_HISTORY               = $00040000;
    DIF_BTNNOCLOSE            = $00040000;
    DIF_CENTERTEXT            = $00040000;
    DIF_SETSHIELD             = $00080000;
    DIF_EDITEXPAND            = $00080000;
    DIF_DROPDOWNLIST          = $00100000;
    DIF_USELASTHISTORY        = $00200000;
    DIF_MASKEDIT              = $00400000;
    DIF_SELECTONENTRY         = $00800000;
    DIF_3STATE                = $00800000;
    DIF_EDITPATH              = $01000000;
    DIF_LISTWRAPMODE          = $01000000;
    DIF_NOAUTOCOMPLETE        = $02000000;
    DIF_LISTAUTOHIGHLIGHT     = $02000000;
    DIF_LISTNOCLOSE           = $04000000;
    DIF_HIDDEN                = $10000000;
    DIF_READONLY              = $20000000;
    DIF_NOFOCUS               = $40000000;
    DIF_DISABLE               = $80000000;
  
  
  { FarMessagesProc }
  
  const
    DM_FIRST                = 0;
    DM_CLOSE                = DM_FIRST+1;
    DM_ENABLE               = DM_FIRST+2;
    DM_ENABLEREDRAW         = DM_FIRST+3;
    DM_GETDLGDATA           = DM_FIRST+4;
    DM_GETDLGITEM           = DM_FIRST+5;
    DM_GETDLGRECT           = DM_FIRST+6;
    DM_GETTEXT              = DM_FIRST+7;
    DM_GETTEXTLENGTH        = DM_FIRST+8;
    DM_KEY                  = DM_FIRST+9;
    DM_MOVEDIALOG           = DM_FIRST+10;
    DM_SETDLGDATA           = DM_FIRST+11;
    DM_SETDLGITEM           = DM_FIRST+12;
    DM_SETFOCUS             = DM_FIRST+13;
    DM_REDRAW               = DM_FIRST+14;
    DM_SETREDRAW            = DM_REDRAW;
    DM_SETTEXT              = DM_FIRST+15;
    DM_SETMAXTEXTLENGTH     = DM_FIRST+16;
    DM_SETTEXTLENGTH        = DM_SETMAXTEXTLENGTH;
    DM_SHOWDIALOG           = DM_FIRST+17;
    DM_GETFOCUS             = DM_FIRST+18;
    DM_GETCURSORPOS         = DM_FIRST+19;
    DM_SETCURSORPOS         = DM_FIRST+20;
    DM_GETTEXTPTR           = DM_FIRST+21;
    DM_SETTEXTPTR           = DM_FIRST+22;
    DM_SHOWITEM             = DM_FIRST+23;
    DM_ADDHISTORY           = DM_FIRST+24;
  
    DM_GETCHECK             = DM_FIRST+25;
    DM_SETCHECK             = DM_FIRST+26;
    DM_SET3STATE            = DM_FIRST+27;
  
    DM_LISTSORT             = DM_FIRST+28;
    DM_LISTGETITEM          = DM_FIRST+29;
    DM_LISTGETCURPOS        = DM_FIRST+30;
    DM_LISTSETCURPOS        = DM_FIRST+31;
    DM_LISTDELETE           = DM_FIRST+32;
    DM_LISTADD              = DM_FIRST+33;
    DM_LISTADDSTR           = DM_FIRST+34;
    DM_LISTUPDATE           = DM_FIRST+35;
    DM_LISTINSERT           = DM_FIRST+36;
    DM_LISTFINDSTRING       = DM_FIRST+37;
    DM_LISTINFO             = DM_FIRST+38;
    DM_LISTGETDATA          = DM_FIRST+39;
    DM_LISTSETDATA          = DM_FIRST+40;
    DM_LISTSETTITLES        = DM_FIRST+41;
    DM_LISTGETTITLES        = DM_FIRST+42;
  
    DM_RESIZEDIALOG         = DM_FIRST+43;
    DM_SETITEMPOSITION      = DM_FIRST+44;
  
    DM_GETDROPDOWNOPENED    = DM_FIRST+45;
    DM_SETDROPDOWNOPENED    = DM_FIRST+46;
  
    DM_SETHISTORY           = DM_FIRST+47;
  
    DM_GETITEMPOSITION      = DM_FIRST+48;
    DM_SETMOUSEEVENTNOTIFY  = DM_FIRST+49;
  
    DM_EDITUNCHANGEDFLAG    = DM_FIRST+50;
  
    DM_GETITEMDATA          = DM_FIRST+51;
    DM_SETITEMDATA          = DM_FIRST+52;
  
    DM_LISTSET              = DM_FIRST+53;
    DM_LISTSETMOUSEREACTION = DM_FIRST+54;
  
    DM_GETCURSORSIZE        = DM_FIRST+55;
    DM_SETCURSORSIZE        = DM_FIRST+56;
  
    DM_LISTGETDATASIZE      = DM_FIRST+57;
  
    DM_GETSELECTION         = DM_FIRST+58;
    DM_SETSELECTION         = DM_FIRST+59;
  
    DM_GETEDITPOSITION      = DM_FIRST+60;
    DM_SETEDITPOSITION      = DM_FIRST+61;
  
    DM_SETCOMBOBOXEVENT     = DM_FIRST+62;
    DM_GETCOMBOBOXEVENT     = DM_FIRST+63;
  
    DM_GETCONSTTEXTPTR      = DM_FIRST+64;
    DM_GETDLGITEMSHORT      = DM_FIRST+65;
    DM_SETDLGITEMSHORT      = DM_FIRST+66;
  
    DM_GETDIALOGINFO        = DM_FIRST+67;
  
    DN_FIRST                = $1000;
    DN_BTNCLICK             = DN_FIRST+1;
    DN_CTLCOLORDIALOG       = DN_FIRST+2;
    DN_CTLCOLORDLGITEM      = DN_FIRST+3;
    DN_CTLCOLORDLGLIST      = DN_FIRST+4;
    DN_DRAWDIALOG           = DN_FIRST+5;
    DN_DRAWDLGITEM          = DN_FIRST+6;
    DN_EDITCHANGE           = DN_FIRST+7;
    DN_ENTERIDLE            = DN_FIRST+8;
    DN_GOTFOCUS             = DN_FIRST+9;
    DN_HELP                 = DN_FIRST+10;
    DN_HOTKEY               = DN_FIRST+11;
    DN_INITDIALOG           = DN_FIRST+12;
    DN_KILLFOCUS            = DN_FIRST+13;
    DN_LISTCHANGE           = DN_FIRST+14;
    DN_MOUSECLICK           = DN_FIRST+15;
    DN_DRAGGED              = DN_FIRST+16;
    DN_RESIZECONSOLE        = DN_FIRST+17;
    DN_MOUSEEVENT           = DN_FIRST+18;
    DN_DRAWDIALOGDONE       = DN_FIRST+19;
    DN_LISTHOTKEY           = DM_FIRST+20;
  
    DN_GETDIALOGINFO        = DM_GETDIALOGINFO;
  
    DN_CLOSE                = DM_CLOSE;
    DN_KEY                  = DM_KEY;
  
    DM_USER                 = $4000;
  
  { FARCHECKEDSTATE }
  
  
negative.code:   VF_DELETEONLYFILEONCLOSE = $00000200;
  
  (*
  typedef intptr_t (WINAPI *FARAPIVIEWER)(
    const wchar_t *FileName,
    const wchar_t *Title,
    intptr_t X1,
    intptr_t Y1,
    intptr_t X2,
    intptr_t Y2,
    VIEWER_FLAGS Flags,
    uintptr_t CodePage
  );
  *)
  type
    TFarApiViewer = function (
      FileName :PFarChar;
      Title :PFarChar;
      X1, Y1, X2, Y2 :TIntPtr;
      Flags :TViewerFlags;
      CodePage :TUIntPtr
    ) :TIntPtr; stdcall;
  
  
  { EDITOR_FLAGS }
  
  type
    TEditorFlags = Int64;
  
  const
    EN_NONE                  = 0;
    EF_NONMODAL              = $00000001;
    EF_CREATENEW             = $00000002;
    EF_ENABLE_F6             = $00000004;
  