anchor.diff:    end;
     {$EXTERNALSYM UInt64}
   
  -  PSInt64 = ^SInt64;
  -  SInt64 = record
  +  PInt64 = ^Int64;
  +  Int64 = record
       hi: UInt32;
       lo: UInt32;
     end;
  +  {$EXTERNALSYM Int64}
  +  {$ENDIF}
  +
  +  PSInt64 = ^SInt64;
  +  SInt64 = Int64;
     {$EXTERNALSYM SInt64}
   
     {$IFDEF WIN64}
  
positive.code: function SDL_SetError(const fmt: PAnsiChar): SInt32 cdecl; external {$IFDEF GPC} name 'SDL_SetError' {$ELSE} SDL_LibName {$ENDIF};
  function SDL_GetError: PAnsiChar cdecl; external {$IFDEF GPC} name 'SDL_GetError' {$ELSE} SDL_LibName {$ENDIF};
  procedure SDL_ClearError cdecl; external {$IFDEF GPC} name 'SDL_ClearError' {$ELSE} SDL_LibName {$ENDIF};
  
    {**
     *  Internal error functions
     *
  
negative.code:                     SDL_UNSUPPORTED,
                      SDL_LASTERROR);
  
    TSDL_Error = record
      {* This is a numeric value corresponding to the current error *}
      error: SInt32;
  
      {* This is a key used to index into a language hashtable containing
         internationalized versions of the SDL error messages.  If the key
         is not in the hashtable, or no hashtable is available, the key is
         used directly as an error message format string.
       *}
      key: String[ERR_MAX_STRLEN];
  
      {* These are the arguments for the error functions *}
      argc: SInt32;
      case SInt32 of
           {* What is a character anyway?  (UNICODE issues) *}
        0: (value_c: Byte;);
        1: (value_ptr: Pointer;);
        2: (value_i: SInt32;);
        3: (value_f: Double;);
        4: (buf: String[ERR_MAX_STRLEN];);
    end;
  
    {* SDL_Error() unconditionally returns -1. *}
  function SDL_Error(code: TSDL_ErrorCode): SInt32 cdecl; external {$IFDEF GPC} name 'SDL_Error' {$ELSE} SDL_LibName {$ENDIF};
  
    //from "sdl_timer.h"
  
  