You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
1.8 KiB
81 lines
1.8 KiB
|
|
#ifndef _FR_H
|
|
#define _FR_H
|
|
|
|
#pragma pack(1) /** ensure packed structures **/
|
|
|
|
typedef BYTE IFR;
|
|
typedef IFR FAR* LPIFR;
|
|
|
|
typedef struct
|
|
{
|
|
IFR ifr;
|
|
BYTE cb;
|
|
|
|
} FRBASE;
|
|
|
|
typedef struct
|
|
{
|
|
FRBASE; /* anonymous */
|
|
BYTE fif[1]; /* variable length fif field */
|
|
|
|
} FR, FAR* LPFR, NEAR* NPFR;
|
|
|
|
typedef LPFR FAR* LPLPFR;
|
|
typedef LPLPFR FAR* LPLPLPFR;
|
|
|
|
|
|
typedef struct
|
|
{
|
|
|
|
BYTE Baud;
|
|
BYTE MinScan;
|
|
}
|
|
LLPARAMS, FAR* LPLLPARAMS, NEAR* NPLLPARAMS;
|
|
|
|
/** Baud rate capability codes **/
|
|
// Bit order is from 14 to 11: 14 13 12 11
|
|
#define V27_SLOW 0 // 0000
|
|
#define V27_ONLY 2 // 0010
|
|
#define V29_ONLY 1 // 0001
|
|
#define V33_ONLY 4 // 0100
|
|
#define V17_ONLY 8 // 1000
|
|
#define V27_V29 3 // 0011
|
|
#define V27_V29_V33 7 // 0111
|
|
#define V27_V29_V33_V17 11 // 1011
|
|
#define V_ALL 15 // 1111
|
|
|
|
|
|
/** Baud rate mode codes **/
|
|
#define V27_2400 0 // 0000
|
|
#define V29_9600 1 // 0001
|
|
#define V27_4800 2 // 0010
|
|
#define V29_7200 3 // 0011
|
|
#define V33_14400 4 // 0100
|
|
#define V33_12000 6 // 0110
|
|
#define V17_14400 8 // 1000
|
|
#define V17_9600 9 // 1001
|
|
#define V17_12000 10 // 1010
|
|
#define V17_7200 11 // 1011
|
|
|
|
|
|
/** Minscan capability codes **/
|
|
#define MINSCAN_0_0_0 7
|
|
#define MINSCAN_5_5_5 1
|
|
#define MINSCAN_10_10_10 2
|
|
#define MINSCAN_20_20_20 0
|
|
#define MINSCAN_40_40_40 4
|
|
#define MINSCAN_40_20_20 5
|
|
#define MINSCAN_20_10_10 3
|
|
#define MINSCAN_10_5_5 6
|
|
#define MINSCAN_10_10_5 10
|
|
#define MINSCAN_20_20_10 8
|
|
#define MINSCAN_40_40_20 12
|
|
#define MINSCAN_40_20_10 13
|
|
#define MINSCAN_20_10_5 11
|
|
|
|
|
|
|
|
#pragma pack()
|
|
|
|
#endif /* _FR_H */
|