TFarStandardFunctions = packed record StructSize: integer; atoi: TFarStdAToI; atoi64: TFarStdAToI64; itoa: TFarStdIToA; itoa64: TFarStdIToA64; sprintf: pointer; sscanf: pointer; qsort: TFarStdQSort; bsearch: TFarStdBSearch; qsortex: TFarStdQSortEx; Reserved: packed array[0..8] of DWORD; LIsLower: TFarStdLocalIsLower; LIsUpper: TFarStdLocalIsUpper; LIsAlpha: TFarStdLocalIsAlpha; LIsAlphanum: TFarStdLocalIsAlphaNum; LUpper: TFarStdLocalUpper; LLower: TFarStdLocalLower; LUpperBuf: TFarStdLocalUpperBuf; LLowerBuf: TFarStdLocalLowerBuf; LStrupr: TFarStdLocalStrUpr; LStrlwr: TFarStdLocalStrLwr; LStricmp: TFarStdLocalStrICmp; LStrnicmp: TFarStdLocalStrNICmp; Unquote: TFarStdUnquote; ExpandEnvironmentStr: TFarStdExpandEnvironmentStr; LTrim: TFarStdLTrim; RTrim: TFarStdRTrim; Trim: TFarStdTrim; TruncStr: TFarStdTruncStr; TruncPathStr: TFarStdTruncPathStr; QuoteSpaceOnly: TFarStdQuoteSpaceOnly; PointToName: TFarStdPointToName; GetPathRoot: TFarStdGetPathRoot; AddEndSlash: TFarStdAddEndSlash; CopyToClipboard: TFarStdCopyToClipboard; PasteFromClipboard: TFarStdPasteFromClipboard; FarKeyToName: TFarStdKeyToKeyName; FarNameToKey: TFarStdKeyNameToKey; FarInputRecordToKey: TFarStdInputRecordToKey; XLAT: TFarStdXLAT; GetFileOwner: TFarStdGetFileOwner; GetNumberOfLinks: TFarStdGetNumberOfLinks; FarRecurseSearch: TFarRecursiveSearch; MkTemp: TFarStdMkTemp; DeleteBuffer: TFarStdDeleteBuffer; ProcessName: TFarStdProcessName; MkLink: TFarStdMkLink; ConvertNameToReal: TFarStdConvertNameToReal; GetReparsePointInfo: TFarStdGetReparsePointInfo; end; PFarStandardFunctions = ^TFarStandardFunctions;
Where:
TFarStdatoi = function(
S: PChar): integer; stdcall;
TFarStdAToI64 = function(
S: PChar): int64; stdcall;
TFarStdIToA = function(
Value: integer;
Str: PChar;
Radix: integer): PChar; stdcall;
TFarStdIToA64 = function(
Value: int64;
Str: PChar;
Radix: integer): PChar; stdcall;
TFarStdQSortFunc = function(
Param1: pointer;
Param2: pointer): integer; cdecl;
TFarStdQSort = procedure(
Base: pointer;
NElem: size_t;
Width: size_t;
fcmp: TFarStdQSortFunc); stdcall;
TFarStdBSearch = procedure(
Key: pointer;
Base: pointer;
NElem: size_t;
Width: size_t;
fcmp: TFarStdQSortFunc); stdcall;
TFarStdLocalIsLower = function(
Ch: integer): integer; stdcall;
TFarStdLocalIsUpper = function(
Ch: integer): integer; stdcall;
TFarStdLocalIsAlpha = function(
Ch: integer): integer; stdcall;
TFarStdLocalIsAlphaNum = function(
Ch: integer): integer; stdcall;
TFarStdLocalUpper = function(
LowerChar: integer): integer; stdcall;
TFarStdLocalLower = function(
UpperChar: integer): integer; stdcall;
TFarStdLocalUpperBuf = procedure(
Buf: PChar;
Length: integer); stdcall;
TFarStdLocalLowerBuf = procedure(
Buf: PChar;
Length: integer); stdcall;
TFarStdLocalStrUpr = procedure(
s1: PChar); stdcall;
TFarStdLocalStrLwr= procedure(
s1: PChar); stdcall;
TFarStdLocalStrICmp = function(
s1: PChar;
s2: PChar): integer; stdcall;
TFarStdLocalStrNICmp = function(
s1: PChar;
s2: PChar;
n: integer): integer; stdcall;
TFarStdUnquote = procedure(
Str: PChar); stdcall;
TFarStdExpandEnvironmentStr = function(
Src: PChar;
Dst: PChar;
Size: DWORD): DWORD; stdcall;
TFarStdLTrim = function(
Str: PChar): PChar; stdcall;
TFarStdRTrim = function(
Str: PChar): PChar; stdcall;
TFarStdTrim = function(
Str: PChar): PChar; stdcall;
TFarStdTruncStr = function(
Str: PChar;
MaxLength: integer): PChar; stdcall;
TFarStdTruncPathStr = function(
Str: PChar;
MaxLength: integer): PChar; stdcall;
TFarStdQuoteSpaceOnly = function(
Str: PChar): PChar; stdcall;
TFarStdPointToName = function(
Path: PChar): PChar; stdcall;
TFarStdGetPathRoot = procedure(
Path: PChar;
Root: PChar); stdcall;
TFarStdAddEndSlash = function(
Path: PChar): integer; stdcall;
TFarStdCopyToClipboard = function(
Data: PChar): integer; stdcall;
TFarStdPasteFromClipboard = function: PChar; stdcall;
TFarStdKeyToKeyName = function(
Key: integer; KeyName: PChar; Size: integer): BOOL; stdcall;
TFarStdKeyNameToKey = function(
Name: PChar): integer; stdcall;
TFarStdInputRecordToKey = function(
var R: INPUT_RECORD): integer; stdcall;
TFarStdXLAT = function(
Line: PChar;
StartPos: integer;
EndPos: integer;
TableSet: PCharTableSet;
Flags: DWORD): PChar; stdcall;
TFarStdGetFileOwner = function(
Computer: PChar;
Name: PChar;
Owner: PChar): integer; stdcall;
TFarStdGetNumberOfLinks = function(
Name: PChar): integer; stdcall;
TFRSFunction = function(
var FindData: TWin32FindDataEx;
FullName: PChar): integer; stdcall;
TFarRecursiveSearch = procedure(
InitDir: PChar;
Mask: PChar;
Func: TFRSFunction;
Flags: DWORD); stdcall;
TFarStdMkTemp = function(
Dest: PChar;
Template: PChar): PChar; stdcall;
TFarStdDeleteBuffer = procedure(
Buffer: PChar); stdcall;
TFarStdProcessName = function(
Param1: PChar;
Param2: PChar;
Flags: DWORD): integer;
TFarStdMkLink = function(
const Src: PChar;
const Dest: PChar;
Flags: DWORD): integer;
TFarStdConvertNameToReal = function(
const Src: PChar;
Dest: PChar;
DestSize: integer): integer;
TFarStdGetReparsePointInfo = function(
const Src: PChar;
Dest: PChar;
DestSize: integer): integer;