Отличия второй версии документа.{#sect_v2}
=====================================================

Данный документ является второй, значительно переработанной версией описания библиотеки ltrapi. Данная версия содержит обновленную информацию с учетом замены ранее используемой программы LTR Server на службу ltrd, возможности использования библиотек не только под ОС Windows, а также включает дополнения и изменения (совместимые с библиотеками более старых версий), сделанные в версии библиотек 1.31.x по сравнению с библиотеками версии 1.27.x, к которой относится [первая версия документа](http://www.lcard.ru/download/ltrapi_v1.pdf).

Также переработано описание общего подхода и местами более подробно описана работа некоторых функций. В общем описании рассмотрены некоторые дополнительные вопросы, включая описание [типов клиентских соединений](@ref sect_con_types) с указанием, какие функции применимы для какого типа, описание принципа работы с [синхрометками](@ref sect_marks) и др.

Из изменений, связанных с более новыми версиями библиотеки, можно отметить:
- Все константы и типы, используемые в данном документе, для избежания пересечения названий с другими библиотеками имеют префикс LTR_ или TLTR_, соответственно. Старые константы и типы без префиксов оставлены в библиотеке для обратной совместимости и вынесены в отдельный заголовочный файл "ltrapi_compat_defs.h", который включается по умолчанию, но может быть при желании явно запрещен через определение LTRAPI_DISABLE_COMPAT_DEFS.
- Добавлены вспомогательные функции для более удобного открытия управляющих соединений нужного типа --- LTR_OpenSvcControl() и LTR_OpenCrate().
- Добавлено описание новых функций, работающих только с ltrd, которые не поддерживались программой LTR Server (указано в описании функций).
- Добавлены новые коды ошибок, включая обобщенные коды, одинаковые для всех модулей. Библиотеки модулей используют в первую очередь данные общие коды из ltrapi и возвращают одинаковую ошибку в одинаковых ситуациях вместо того, чтобы определять свой код в каждом модуле для одних и тех же случаев. Кроме того, часть функций возвращают код ошибки, более подробно указывающий на причину ошибки, а не на саму функцию, где ошибка произошла (так как приложению верхнего уровня уже известно, какая функция вернула ошибку).
- Изменено поведение библиотеки при попытке открыть соединение с модулем, с которым уже было открыто соединение. Теперь это не приводит к нарушению первого соединения, однако повторно открытое соединение имеет ограниченные возможности и может не позволять полноценно работать с модулем. Для возможности принудительного сброса первого соединения введена функция LTR_ResetModule(). Более подробное описание представлено в разделе [Множественное подключение](@ref sec_client_multiconnect).
- Убраны из описания редко используемые функции, которые не были реализованы в ltrd ввиду отсутствия запросов в их потребности от клиентов. При этом функции оставлены в библиотеке для обратной совместимости. Это функции:
        - LTR_GetCrateRawData()
        - LTR_SetServerProcessPriority()
        - LTR_GetServerProcessPriority().
- Убраны из описания также функции, которые были введены, но реальная работа которых не была поддержана крейтами LTR (при этом функции оставлены в библиотеке для обратной совместимости):
        - LTR_GetIPCrateDiscoveryMode() 
        - LTR_SetIPCrateDiscoveryMode() 


