Компилятор нодлиста TNC
Программа TNC (T-Mail nodelist compiler), входящая в комплект T-Mail,
предназначена для совместного использования с мэйлером T-Mail. TNC создает
индексный файл, необходимый для работы T-Mail с нодлистами и пойнтлистами.
Число одновременно используемых нодлистов и пойнтлистов может достигать 32.
Кроме того, TNC при компиляции нодлиста может создавать усеченный
нодлист, "вырезая" данные о регионах, сетях или зонах. По желанию, для
каждого региона создается отдельный файл, содержащий списки сетей, входящих
в этот регион. Это может оказаться полезным для организации маршрутизации
по регионам.
TNC использует собственный конфигурационный файл, который имеет имя
TNC.ctl и представляет собой обычный текстовый файл, каждая строка которого
представляет собой директиву с параметрами. Строки с комментариями должны
начинаться символом ";" и компилятором не обрабатываются. Этот файл ищется
программой в текущем каталоге.
Ниже приведен пример этого файла.
;--------------- Nodelist compiler TNC. Control file. --------------------
;
;
Address 2:5030/15.1 ; Full address
;
; Эта переменная задает полный адрес системы.
; При использовании с T-Mail должен совпадать с адресом в T-Mail.ctl
;
Path c:\T-Mail\nodelist\ ; Path to nodelist
;
; Эта переменная определяет каталог, в котором содержатся нодлисты и
; пойнтлисты.
;
List nodelist.*
List Contact.dat
List net5030.d??
List abclist.999
;
; В этих переменных перечислены нодлисты и пойнтлисты. При определении
; нодлистов допускается использование шаблонов (wildcards) согласно
; правилам, принятым в MS-DOS. TNC может обработать до 32 нодлистов и
; пойнтлистов.
;
; При использовании шаблонов в обработку включаются все подходящие файлы,
; за исключением тех, которые имеют расширения .ZIP, .ARJ, .LZH, .ZOO,
; .RAR, .ARC, .PAK, .RED, .IDX, .NDX, .INX, .V8.
;
; При использовании расширения имени файла .999 будет найден файл с
; заданным именем, имеющий в качестве расширения трехзначное десятичное
; число. Если таких файлов будет несколько, будет выбран один из них с
; наиболее поздней датой/временем создания.
;
-ZONE 1 ; Exclude Zone
;
; Таким образом, к примеру, исключается зона 1 из индексного файла.
;
;+ZONE 2 ; Only this zone
;+ZONE 66
;
; Таким образом в индексный файл включаются только указанные зоны,
; остальные игнорируются.
;
Flag compiled.ok
; Flag \SEM32\compiled.ok
;
; Этой переменной задается имя файла-флага или системного семафора (для
; OS/2), который будет создан после компиляции. Может быть определено до
; 32 таких переменных. Имя системного семафора должно начинаться со строки
; "\SEM32\". Если TNC создал хотя бы один системный семафор, то перед
; завершением своей работы он выдерживает паузу 60 секунд. Если же все
; установленные системные семафоры были распознаны другими программами до
; окончания этой паузы, то работа завершается сразу.
;
;ReducedList Region 46 47 50
;
; Условия для создания усеченного нодлиста. Имя его совпадает с исходным,
; а расширение заменяется на .RED. В усеченный нодлист включаются только
; записи о регионах, сетях или зонах, перечисленных в строке.
;
; Примеры:
; ~~~~~~~~
; ReducedList Zone 2 3
; ReducedList Net 5030 5040 5050
;
;---------------------------- End of tnc.ctl ------------------------------
Компилятор нодлиста запускается с помощью команды TNC и может иметь в
командной строке следующие ключи:
-C - компилировать нодлисты при необходимости(при изменении даты);
-F - компилировать нодлисты принудительно;
-R - создавать файлы r.net, содержащие списки сетей по регионам;
-S - нет вывода на экран (несколько ускоряет работу);
-? - подсказка.
При запуске с ключом -C компилятор сравнивает даты модификации
нодлистов и индексного файла, и выполняет компиляцию только при
необходимости. Ключ -F отменяет эту проверку и компиляция будет выполнена в
любом случае. TNC может компилировать нодлисты с максимальным суммарным
количеством узлов до 131000. Если при компиляции нодлиста произошла ошибка,
TNC завершает работу с кодом завершения (errorlevel) 255. Если компиляция
завершена успешно, то TNC завершает работу с кодом завершения (errorlevel)
0.
Существует возможность компилировать нодлисты "на лету". TNC пpи
невозможности открыть индексный файл нодлиста ndxlist.t-m создает один из 9
альтернативных индексных файлов (nxdlist.t-0 ...ndxlist.t-9). T-Mail же пpи
открытии индексного файла открывает последний (по дате). Это происходит пpи
1) запуске t-mail
2) возврате из swap/run
3) пpи обработке Process (или Key, Process_Flag) Control.
Перед началом компиляции TNC пытается удалить все индексы, не
заблокированные программой T-Mail.