Flags definitions


;
;      Секция определения флагов (семафоров) и функций работы с ними
;
;--------------------------------------------------------------------------
;
Flag_Dir      c:\t-mail\flags\       ; Semaphores directory
;
;  Каталог,  где  по  умолчанию  создаются  и  ищутся  файлы-флаги. Если не
;  определен, то для этого используется  каталог, где находится сам t-mail.
;  Для этой переменной НЕЛЬЗЯ использовать корневой каталог диска!
;
Flag_Session     busy.t-m             ; Global busy flag
;
;  Этот  файл-флаг создается  T-Mail-ом при  начале любого  сеанса связи  и
;  уничтожается  после его  окончания. По  умолчанию создается  в каталоге,
;  определенном переменной Flag_Dir. Структура этого файла подробно описана
;  в главе 14 документации.
;
; Flag_NoScan  noscan.t-m   ; обычное использование
; Flag_NoScan  !scan.t-m    ; инверсное использование
; Flag_NoScan  nosca*.t-m   ; wildcard
;
;  Этот  флаг  запрещает  сканирование  нетмейла,  mailboxes,  fileboxes. В
;  качестве флага можно использовать маску файлов (wildcard).
;
; Busy_Flags_Create Normal Semaphore Bink
;
;  В этой переменной указывается, какие  флаги занятости (busy-флаги) будет
;  создавать  T-Mail при  установлении сеанса  связи, а  также будет  ли он
;  создавать  их  вообще.  Значения   совпадают  со  значениями  переменной
;  Busy_Flags_Scan (см.ниже).
;
; Busy_Flags_Scan Normal Semaphore Bink
;
;  В этой переменной указывается, какие  флаги занятости (busy-флаги) будет
;  анализировать  T-Mail перед  попыткой  установления  сеанса связи  и при
;  формировании/модификации очереди,  а также будет ли  он анализировать их
;  вообще.
;
;  Возможные значения (ключевые слова):
;
;     Normal     - обычные флаги, совместимые с мэйлером FrontDoor;
;     Bink       - флаги, совместимые с мэйлером BinkleyTerm (файлы *.BSY);
;     Semaphore  - системные семафоры (для OS/2 и Windows NT);
;     No         - флаги создаваться не будут.
;
;  Можно задавать  несколько ключевых слов  вместе, однако слово  No должно
;  быть задано единственным. Значение переменной по умолчанию - Normal.
;
;  Не рекомендуется использовать все три  типа флагов одновременно, так как
;  это   требует  значительных   ресурсов.  В   большинстве  случаев  будет
;  достаточно  использовать  сочетания   "Semaphore  Bink"  или  "Semaphore
;  Normal".
;
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
;  Далее определены  Process_Flag, то есть  имена флагов и  соответствующие
;  программы     или    действия,     которые    T-Mail     выполнит    при
;  появлении/исчезновении соответствующего флага.
;
;  Синтаксис:
;
;     Process_Flag  [prefix]flag_name action1
;                                       [# action2]
;                                       [# action3]
;                                       
;
;    где
;    flag_name - имя  флага,   на  который  надо   реагировать.  Если  не
;                  определен  полный путь,  то флаг  ищется в  каталоге для
;                  флагов (см. Flag_Dir).
;
;                  Если  имя флага  начинается  со  строки "\SEM32\",  то в
;                  версиях для OS/2 и Windows NT это означает не файл-флаг,
;                  а системный семафор в памяти.
;
;     [prefix]   - перед именем флага может быть указан [prefix] - это один
;                  из префиксов '!' или '+'.
;
;                  Если  перед именем  флага стоит  '!', то  флаг считается
;                  инверсным, то есть  действие происходит при исчезновении
;                  файла-флага.  В этом  случае файл,  заданный flag_name
;                  создается перед  выполнением действия (иначе,  если флаг
;                  неинверсный,  - flag_name  уничтожается. Исключение  -
;                  для  действия  Sleep.  В   этом  случае  T-Mail  ожидает
;                  исчезновения файла  (или его создания, если используется
;                  '!').
;
;                  Если  перед  именем  флага  стоит  '+',  то  флаг  после
;                  обработки  НЕ   БУДЕТ  УДАЛЕН.  Эту   возможность  можно
;                  использовать   только  для   файлов-флагов  (нельзя  для
;                  системных  семафоров)  и  только  для неинверсных флагов
;                  (т.е., нельзя  задавать префиксы '+' и  '!' для одного и
;                  того же флага). T-Mail не реагирует на такой неудаленный
;                  флаг более одного  раза - до тех пор,  пока не изменятся
;                  дата и время создания этого файла.
;
;
;  action*      - одно из следующих действий, которое будет выполнено:
;
;                    KeyWord
;                    [!] command
;                    dvpname
;
;  Далее эти действия описаны подробно.
;
;  KeyWord     - одно из ключевых слов, определяющих действие по флагу:
;
;                  Exit EL [line] - выход  из T-Mail  с заданным  кодом
;                                       завершения (errorlevel)  EL, EL -
;                                       число в интервале 1-255. Если задан
;                                       параметр  line,   то  при  выходе
;                                       будет сформирован  командный файл с
;                                       именем EXIT.BAT (EXIT.CMD), где
;                                       ""  -  номер  задачи  T-Mail  (по
;                                       умолчанию  01).   Этот  файл  будет
;                                       содержать  одну  строку, содержимое
;                                       которой  будет   взято  из  line.
;                                       line  может   содержать  макросы,
;                                       описанные ниже; в командный файл же
;                                       будут  подставлены  соответствующие
;                                       реальные   значения.   Если  line
;                                       отсутствует,   то   командный  файл
;                                       создан не будет.
;
;                  Sleep              - ожидание  исчезновения  флага  (или
;                                       появления, если флаг задан с '!').
;
;                  Set var=value  - задать новое значение переменной из
;                                        t-mail.ctl .
;
;                  Poll addr group  - сформировать  Poll  по  адресу  или
;                                       группе  адресов,  заданных  в addr
;                                       group.
;
;                  Control            - проанализировать, не  обновились ли
;                                       конфигурационные   файлы,   и   при
;                                       необходимости перечитать их.
;
;                  Repack addr group- пересканировать  заново  нетмэйл, а
;                                       также,   если    используются,   то
;                                       файловые    ящики    и   Bink-Style
;                                       Outbound  и   сформировать  очередь
;                                       заново. Если  задана группа адресов
;                                       addr   group,   то   производится
;                                       перепаковка  только   для  адресов,
;                                       входящих   в    эту   группу.   При
;                                       выполнении    этого    действия   в
;                                       Slave-задаче    происходит   только
;                                       сброс счетчиков  (попыток дозвона и
;                                       т.п.).
;
;                  KeyMacro macro   - имитирует    ввод  с     клавиатуры
;                                       символов и скэн-кодов, определенных
;                                       в macro -см.главу 20 документации
;
;                  Sound filename   - воспроизводит  звуковой  файл (.wav
;                                       или   .voc).   Работает   только  в
;                                       коммерческих  версиях  для  OS/2  и
;                                       Windows  NT  (см.  раздел "Звуковые
;                                       эффекты" главы 20 и главу 29).
;
;                  Create  filename - создать    файл    filename   или
;                                       системный   семафор  (для   OS/2  и
;                                       Windows   NT).   Системный  семафор
;                                       должен   начинаться   со  следующих
;                                       символов:    "\SEM32\",   например:
;                                       "\SEM32\arcmail.t-m".
;
;                  Kill    filename - уничтожить файл filename.
;
;                  Log     string   - вывести строку  символов string в
;                                       лог-файл  (определенный  переменной
;                                       Log  в   t-mail.ctl ),   на  экран  и
;                                       (только  для  OS/2)  в  pipe-log. В
;                                       строке string  можно использовать
;                                       макрос *A.
;
;                  Terminal           - осуществляется  выход   в  эмулятор
;                                       терминала (встроенный).
;
;                  Script filename  - выполнить  сценарий,  находящийся в
;                                       файле filename (см.главу 17).
;
;                  Nothing            - ничего     не     делать.     Можно
;                                       использовать для удаления флага.
;
;  command     - это  просто имя  программы, которую  нужно запустить для
;                  соответствующей  обработки (.exe,  .com, .bat,..),  и ее
;                  параметры. Если перед command стоит '!', это означает,
;                  что команда  будет запущена без swap.  При работе в OS/2
;                  символ '!' имеет другое значение: перед запуском внешней
;                  задачи  необходимо закрыть  соответствующий этой  задаче
;                  COM-порт. При этом использование  макроса *O теряет свой
;                  смысл.
;
;  dvpname     - имя  (с путем)  DesqView programm,  т.е имя  .dvp-файла,
;                  определяющего окно, которое нужно открыть в этом случае.
;
;  Примеры:
;  ~~~~~~~~
; Process_Flag   anyarc.t-m     c:\squish\squish -In -Out
; Process_Flag   c:\anytic.000  anytic.bat -Debug
; Process_Flag   doswap.t-m     doswap.bat
; Process_Flag   sleep.t-m      Sleep                ; Force sleep
; Process_Flag   exit.t-m       Exit 99           ; Exit with errorlevel 99
; Process_Flag   repack.t-m     Repack               ; Repack netmail
; Process_Flag   alive.t-m      Kill flags\alive.t-m ; Erase file
; Process_Flag  !alive1.t-m     Nothing            ; For creating flagfile
; Process_Flag   key1.t-m       KeyMacro Alt-Dd:\command.com0d/1240d
; Process_Flag   poll.t-m       Poll /2 /100 /6          ; create polls
; Process_Flag   \SEM32\set1    Set Freq_Size=1000       ; set parameter
; Process_Flag   test.t-m       test.bat *A *P *B -debug ; execute
; Process_Flag   ex.t-m         Exit 99 bbs.exe -d -p*P -b*B -y*N
;
;  При задании command в Process_Flag можно использовать макросы, которые
;  будут заменены на соответствующие параметры:
;
;     *A - полный адрес  системы, которая является текущей  в очереди. Если
;          очередь пуста, подставляется адрес -1:-1/-1.-1;
;
;     *B - скорость соединения (DCE baudrate);
;     *D - файлбокс  "по умолчанию" для системы,  которая  является текущей
;          в очереди;
;     *I - PID текущей задачи;
;     *L - скорость фиксации порта (locked port) (или 0);
;     *P - номер COM-порта;
;     *T - номер задачи (task number);
;     *O - (только для OS/2 версии) - handle открытого COM порта;
;
;  Может  быть определено  несколько  действий  (action), соответствующих
;  одному  флагу. При  этом каждое  следующее действие  должно начинаться с
;  новой строки  и предваряться символом "#".  Не поддерживается выполнение
;  нескольких  действий  только  для  "Process_Flag  ...  Sleep".  Действия
;  Control  и Exit  должны быть   последними. Если  после Control  или Exit
;  поставить еще какие-либо действия, то такие действия выполнены не будут.
;
;  Пример:
;  ~~~~~~~
; Process_Flag   flag.t-m   Create  busy.t-m
;                         # Sound  snd1.wav
;                         # doproc.cmd  -T -D
;                         # Sound  end.wav
;                         # Kill busy.t-m
;
;  Максимальное число переменных Process_Flag ограничено только оперативной
;  памятью.
;