# FarStandardFunctions

Структура `FarStandardFunctions` содержит указатели на стандартные функции, используемые в Far.exe

    struct FarStandardFunctions
    {
      size_t StructSize;

      FARSTDATOI                 atoi;
      FARSTDATOI64               atoi64;
      FARSTDITOA                 itoa;
      FARSTDITOA64               itoa64;
      FARSTDSPRINTF              sprintf;
      FARSTDSSCANF               sscanf;
      FARSTDQSORT                qsort;
      FARSTDBSEARCH              bsearch;
      FARSTDSNPRINTF             snprintf;

      FARSTDLOCALISLOWER         LIsLower;
      FARSTDLOCALISUPPER         LIsUpper;
      FARSTDLOCALISALPHA         LIsAlpha;
      FARSTDLOCALISALPHANUM      LIsAlphanum;
      FARSTDLOCALUPPER           LUpper;
      FARSTDLOCALLOWER           LLower;
      FARSTDLOCALUPPERBUF        LUpperBuf;
      FARSTDLOCALLOWERBUF        LLowerBuf;
      FARSTDLOCALSTRUPR          LStrupr;
      FARSTDLOCALSTRLWR          LStrlwr;
      FARSTDLOCALSTRICMP         LStricmp;
      FARSTDLOCALSTRNICMP        LStrnicmp;

      FARSTDUNQUOTE              Unquote;
      FARSTDLTRIM                LTrim;
      FARSTDRTRIM                RTrim;
      FARSTDTRIM                 Trim;
      FARSTDTRUNCSTR             TruncStr;
      FARSTDTRUNCPATHSTR         TruncPathStr;
      FARSTDQUOTESPACEONLY       QuoteSpaceOnly;
      FARSTDPOINTTONAME          PointToName;
      FARSTDGETPATHROOT          GetPathRoot;
      FARSTDADDENDSLASH          AddEndSlash;
      FARSTDCOPYTOCLIPBOARD      CopyToClipboard;
      FARSTDPASTEFROMCLIPBOARD   PasteFromClipboard;
      FARSTDINPUTRECORDTOKEYNAME FarInputRecordToName;
      FARSTDKEYNAMETOINPUTRECORD FarNameToInputRecord;
      FARSTDXLAT                 XLat;
      FARSTDGETFILEOWNER         GetFileOwner;
      FARSTDGETNUMBEROFLINKS     GetNumberOfLinks;
      FARSTDRECURSIVESEARCH      FarRecurseSearch;
      FARSTDMKTEMP               MkTemp;
      FARSTDPROCESSNAME          ProcessName;
      FARSTDMKLINK               MkLink;
      FARCONVERTPATH             ConvertPath;
      FARGETREPARSEPOINTINFO     GetReparsePointInfo;
      FARGETCURRENTDIRECTORY     GetCurrentDirectory;
      FARFORMATFILESIZE          FormatFileSize;
      FARSTDFARCLOCK             FarClock;
    };

### Элементы

StructSize
Это поле содержит размер структуры `FarStandardFunctions`. Если в будущем будут добавлены новые поля, это поле позволит определить это.

### Замечания

Сохраните содержимое структуры в локальное пространство плагина:

    static struct PluginStartupInfo Info;
    static struct FarStandardFunctions FSF;

    void WINAPI SetStartupInfoW(struct PluginStartupInfo *psInfo)
    {
        Info=*psInfo;
        FSF=*psInfo->FSF;
        Info.FSF=&FSF; // скорректируем адрес в локальной структуре
        ...
    }

Смотрите также:
Стандартные функции, PluginStartupInfo