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: (*
  struct FarListItem
  {
    DWORD Flags;
    const wchar_t *Text;
    DWORD Reserved[3];
  };
  *)
  type
    PFarListItem = ^TFarListItem;
    TFarListItem = record
      Flags    :DWORD;
      TextPtr  :PFarChar;
      Reserved :array [0..2] of DWORD;
    end;
  
  type
    PFarListItemArray = ^TFarListItemArray;
    TFarListItemArray = packed array[0..MaxInt div SizeOf(TFarListItem) - 1] of TFarListItem;
  
  (*
  struct FarListUpdate
  {
    int Index;
    struct FarListItem Item;
  };
  *)
  type
    PFarListUpdate = ^TFarListUpdate;
    TFarListUpdate = record
      Index :Integer;
      Item :TFarListItem;
    end;
  
  (*
  struct FarListInsert
  {
    int Index;
    struct FarListItem Item;
  };
  *)
  type
    PFarListInsert = ^TFarListInsert;
    TFarListInsert = record
      Index :Integer;
      Item :TFarListItem;
    end;
  
  (*
  struct FarListGetItem
  {
    int ItemIndex;
    struct FarListItem Item;
  };
  *)
  type
    PFarListGetItem = ^TFarListGetItem;
    TFarListGetItem = record
      ItemIndex :Integer;
      Item :TFarListItem;
    end;
  
  (*
  struct FarListPos
  {
    int SelectPos;
    int TopPos;
  };
  *)
  type
    PFarListPos = ^TFarListPos;
    TFarListPos = record
      SelectPos : Integer;
      TopPos : Integer;
    end;
  
  { FARLISTFINDFLAGS }
  
  const
     LIFIND_EXACTMATCH = $00000001;
  
  (*
  struct FarListFind
  {
    int StartIndex;
    const wchar_t *Pattern;
    DWORD Flags;
    DWORD Reserved;
  };
  *)
  type
    PFarListFind = ^TFarListFind;
    TFarListFind = record
      StartIndex : Integer;
      Pattern : PFarChar;
      Flags : DWORD;
      Reserved : DWORD;
    end;
  
  (*
  struct FarListDelete
  {
    int StartIndex;
    int Count;
  };
  *)
  type
    PFarListDelete = ^TFarListDelete;
    TFarListDelete = record
      StartIndex : Integer;
      Count : Integer;
    end;
  
  { FARLISTINFOFLAGS }
  
  const
    LINFO_SHOWNOBOX         = $00000400;
    LINFO_AUTOHIGHLIGHT     = $00000800;
    LINFO_REVERSEHIGHLIGHT  = $00001000;
  
negative.code: 
  {VIEWER_SETMODEFLAGS_TYPES}
  
  type
    TViewerSetModeFlagsTypes = Int64;
  
  const
    VSMFL_REDRAW   = $00000001;
  
  (*
  struct ViewerSetMode
  {
    size_t StructSize;
    enum VIEWER_SETMODE_TYPES Type;
    union
    {
      intptr_t iParam;
      wchar_t *wszParam;
    }
    Param;
    VIEWER_SETMODEFLAGS_TYPES Flags;
  };
  *)
  type
    PViewerSetMode = ^TViewerSetMode;
    TViewerSetMode = record
      StructSize :size_t;
      ParamType :DWORD; {VIEWER_SETMODE_TYPES}
      Param : record case byte of
        0 : (iParam : TIntPtr);
        1 : (wszParam : PFarChar);
      end;
      Flags :TViewerSetModeFlagsTypes;
    end;
  
  (*
  struct ViewerSelect
  {
    size_t StructSize;
    __int64 BlockStartPos;
    __int64 BlockLen;
  };
  *)
  type
    PViewerSelect = ^TViewerSelect;
    TViewerSelect = record
      StructSize :size_t;
      BlockStartPos :Int64;
      BlockLen :Int64;
    end;
  
  
  { VIEWER_SETPOS_FLAGS }
  
  type
    TViewerSetPosFlags = Int64;
  
  const
    VSP_NOREDRAW    = $0001;
  