Описание файла FAX.H

Описание файла FAX.H. Все константы, описанные в этом файле можно разбить не две категории первая - константы, необходимые для программирования режимов микросхем контроллера, вторая - константы, необходимость описания которых диктуется алгоритмом рекомендации Т.30. Кроме того в файле содержатся прототипы функций, используемых в модуле.

О каждой из них речь пойдет ниже. Новый тип данных newt содержит только два значения - RDIS и RRESP. Он вводится мной только лишь для обеспечения стройности и прозрачности программного текста.

В самом начале этапа В алгоритма, когда идет распределение ролей между факсимильными аппаратами, определяются две переменные status для местного аппарата и exstatus для удаленного аппарата. Эти переменные типа newt служат индикаторами того, в каком состоянии находится аппаратура - передачи документа или приема.

Этот индикатор присутствует во всех командах диалога. Переменная k типа int необходима для процедур приема, кодирования и декодирования. Описывается она здесь для обеспечения возможности видимости во всех функциях модуля. Пеpеменная r типа int необходима для хpанения значения скоpости обмена. fp указывает на файл, пpедназначенный для пеpедачи, а filename - на его имя. Структуры frame1 и frame2 служат для хранения кадров управления. Их число об ясняется тем, что размер кадра, используемого в алгоритме может иметь только два значения стандартный случай. Однако, для обоих типов кадров отводится один и тот же участок памяти.

Это реализуется с помощью такой конструкции языка Си как об единение. Для согласования форматов структура frame1 имеет неиспользуемые в программе поля em и empt. Массив m - компонент об единения frm - необходим для удобства реализации подпрограмм приема и передачи кадра. Расположение кадра в памяти контрольная область, информационная область, область управления, область адреса от младших адресов а старшим. Такая реализация связана с особенностью представления типов int и long int в памяти ЭВМ. Указатель fcf содержит адрес первого байта информационной области кадра.

Этот байт соответствует команде или ответу, поэтому я счел необходимым выделить его персонально для облегчения доступа к нему. stdio.h, time.h, dos.h - стандартные головные файлы, в которых содержатся прототипы используемых в модуле функций. 4.3.3.