1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| typedef struct tagMPA_CONFIG
{
ULONG structLen;
union
{
struct
{
// Set the following bits to indicate which parameter(s) are to be
// set. Parameter value(s) with corresponding bits set to zero are
// not changed.
// Tx does not require buffers since pending IRPs provide buffers.
UCHAR FrameBufferSizeRx : 1;
UCHAR NumFrameBuffersRx : 1;
UCHAR BaudRate : 1;
UCHAR ClockRate : 1;
UCHAR ClockMode : 1;
UCHAR InternalLoopback : 1;
UCHAR RxClockSource : 1;
UCHAR TxClockSource : 1;
UCHAR TRXCOutput : 1;
UCHAR Encoding : 1;
UCHAR DPLLClockSource : 1;
UCHAR DPLLMode : 1;
UCHAR AutoRTSDeact : 1;
UCHAR CRCPreset : 1;
UCHAR IdleLineControl : 1;
ULONG pad : (8*sizeof(ULONG) - 13);
} bits;
ULONG all; // Used to clear/set all bits at once.
} set;
ULONG FrameBufferSizeRx; // In bytes.
ULONG NumFrameBuffersRx;
ULONG BaudRate;
ULONG ClockRate;
ULONG ClockMode;
BOOLEAN InternalLoopback;
CLOCK_SOURCE RxClockSource;
CLOCK_SOURCE TxClockSource;
TRXC_OUTPUT TRXCOutput;
ENCODING Encoding;
DPLL_CLOCK_SOURCE DPLLClockSource;
DPLL_MODE DPLLMode;
BOOLEAN AutoRTSDeact;
BOOLEAN CRCPreset;
IDLE_LINE_CONTROL IdleLineControl;
} MPA_CONFIG, *PMPA_CONFIG; |
Partager