Программирование модемов

SYSP_COM.H



SYSP_COM.H

/* SYSP_COM.H - include-файл для примеров, приведенных в книге */

/** *.Name FP_MAKE * *.Title Макро для составления FAR-указателя * *.Descr Макро составляет FAR-указатель, пользуясь * значениями сегмента и смещения * *.Params FP_MAKE(seg,off) * seg - сегмент; * off - смещение * *.Return FAR-указатель seg:off **/

#define FP_MAKE(seg,off) ((void far *) \ ((((unsigned long) (unsigned)(seg)) << 16L) | \ ((unsigned long) (unsigned) (off))))

#pragma pack(1)

/* Идентификатор BIOS */

typedef struct _BIOS_ID_ {

char date[8]; unsigned reserve; char pc_type;

} BIOS_ID;

typedef struct _AUX_MODE_ {

union {

struct { unsigned char len : 2, // длина символа stop : 1, // число стоп-битов parity : 2, // контроль четности stuck_parity : 1, // фиксация четности en_break_ctl : 1, // установка перерыва dlab : 1; // загрузка регистра делителя } ctl_word;

char ctl;

} ctl_aux;

unsigned long baud; // скорость передачи данных

} AUX_MODE;

int aux_init(AUX_MODE *, int, int); // инициализация // асинхронного адаптера

void aux_stat(AUX_MODE *, int); // определение режима // асинхронного адаптера

void aux_outp(char, int); // вывод символа в // асинхронный адаптер

char aux_inp(int); // ввод символа из асинхронного // адаптера



Содержание раздела