OpenCBM
Macros | Functions
mnib.c File Reference

Nibble a complete track. More...

#include <wdm.h>
#include "cbm_driver.h"
#include "i_iec.h"

Go to the source code of this file.

Macros

#define TO_HANDSHAKED_READ   libiec_global_timeouts.T_PARALLEL_BURST_READ_BYTE_HANDSHAKED
 
#define TO_HANDSHAKED_WRITE   libiec_global_timeouts.T_PARALLEL_BURST_WRITE_BYTE_HANDSHAKED
 
#define PERF_EVENT_PARBURST_PAR_READ_ENTER()   PERF_EVENT(0x5000, 0)
 
#define PERF_EVENT_PARBURST_PAR_READ_DELAY1(_x_)   PERF_EVENT(0x5001, _x_)
 
#define PERF_EVENT_PARBURST_PAR_READ_PP_READ()   PERF_EVENT(0x5002, 0)
 
#define PERF_EVENT_PARBURST_PAR_READ_RELEASED(_x_)   PERF_EVENT(0x5003, _x_)
 
#define PERF_EVENT_PARBURST_PAR_READ_DELAY2(_x_)   PERF_EVENT(0x5004, _x_)
 
#define PERF_EVENT_PARBURST_PAR_READ_TIMEOUT(_x_)   PERF_EVENT(0x5005, _x_)
 
#define PERF_EVENT_PARBURST_PAR_READ_EXIT(_x_)   PERF_EVENT(0x5006, _x_)
 
#define PERF_EVENT_PARBURST_PAR_WRITE_ENTER()   PERF_EVENT(0x5100, 0)
 
#define PERF_EVENT_PARBURST_PAR_WRITE_DELAY1(_x_)   PERF_EVENT(0x5101, _x_)
 
#define PERF_EVENT_PARBURST_PAR_WRITE_PP_WRITE(_x_)   PERF_EVENT(0x5102, _x_)
 
#define PERF_EVENT_PARBURST_PAR_WRITE_RELEASE()   PERF_EVENT(0x5103, 0)
 
#define PERF_EVENT_PARBURST_PAR_WRITE_DELAY2(_x_)   PERF_EVENT(0x5104, _x_)
 
#define PERF_EVENT_PARBURST_PAR_WRITE_DUMMY_READ(_x_)   PERF_EVENT(0x5105, _x_)
 
#define PERF_EVENT_PARBURST_SEND_CMD(_x_)   PERF_EVENT(0x5200, _x_)
 
#define PERF_EVENT_PARBURST_NREAD_RELEASE()   PERF_EVENT(0x5300, 0)
 
#define PERF_EVENT_PARBURST_NREAD_AFTERDELAY()   PERF_EVENT(0x5301, 0)
 
#define PERF_EVENT_PARBURST_NREAD_EXIT(_x_)   PERF_EVENT(0x5302, _x_)
 
#define PERF_EVENT_PARBURST_NWRITE_RELEASE()   PERF_EVENT(0x5400, 0)
 
#define PERF_EVENT_PARBURST_NWRITE_VALUE(_x_)   PERF_EVENT(0x5401, _x_)
 
#define PERF_EVENT_PARBURST_NWRITE_EXIT(_x_)   PERF_EVENT(0x5402, _x_)
 
#define PERF_EVENT_PARBURST_READ_TRACK_ENTER()   PERF_EVENT(0x5500, 0)
 
#define PERF_EVENT_PARBURST_READ_TRACK_STARTLOOP()   PERF_EVENT(0x5500, 0)
 
#define PERF_EVENT_PARBURST_READ_TRACK_VALUE(_x_)   PERF_EVENT(0x5500, _x_)
 
#define PERF_EVENT_PARBURST_READ_TRACK_TIMEOUT(_x_)   PERF_EVENT(0x5500, _x_)
 
#define PERF_EVENT_PARBURST_READ_TRACK_READ_DUMMY(_x_)   PERF_EVENT(0x5500, _x_)
 
#define PERF_EVENT_PARBURST_READ_TRACK_EXIT(_x_)   PERF_EVENT(0x5500, _x_)
 
#define PERF_EVENT_PARBURST_WRITE_TRACK_ENTER()   PERF_EVENT(0x5500, 0)
 
#define PERF_EVENT_PARBURST_WRITE_TRACK_STARTLOOP()   PERF_EVENT(0x5500, 0)
 
#define PERF_EVENT_PARBURST_WRITE_TRACK_VALUE(_x_)   PERF_EVENT(0x5500, _x_)
 
#define PERF_EVENT_PARBURST_WRITE_TRACK_TIMEOUT(_x_)   PERF_EVENT(0x5500, _x_)
 
#define PERF_EVENT_PARBURST_WRITE_TRACK_EXIT(_x_)   PERF_EVENT(0x5500, _x_)
 
#define enable()   cbmiec_release_irq(Pdx)
 
#define disable()   cbmiec_block_irq(Pdx)
 

Functions

NTSTATUS cbmiec_parallel_burst_read (IN PDEVICE_EXTENSION Pdx, OUT UCHAR *Byte)
 @@@ More...
 
NTSTATUS cbmiec_parallel_burst_write (IN PDEVICE_EXTENSION Pdx, IN UCHAR Byte)
 @@@ More...
 
NTSTATUS cbmiec_parallel_burst_read_track (IN PDEVICE_EXTENSION Pdx, OUT UCHAR *Buffer, IN ULONG ReturnLength)
 @@@ More...
 
NTSTATUS cbmiec_parallel_burst_read_track_var (IN PDEVICE_EXTENSION Pdx, OUT UCHAR *Buffer, IN ULONG ReturnLength)
 @@@ More...
 
NTSTATUS cbmiec_parallel_burst_write_track (IN PDEVICE_EXTENSION Pdx, IN UCHAR *Buffer, IN ULONG BufferLength)
 

Detailed Description

Nibble a complete track.



Author
Tim Schürmann, Spiro Trikaliotis, Arnd M.
Authors
Based on code from Markus Brenner

Definition in file mnib.c.

Macro Definition Documentation

#define disable ( )    cbmiec_block_irq(Pdx)

disable interrupts for transfer

Definition at line 291 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define enable ( )    cbmiec_release_irq(Pdx)

enable interrupts for transfer

Definition at line 290 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_NREAD_AFTERDELAY ( )    PERF_EVENT(0x5301, 0)

Mark performance event: @@@

Definition at line 50 of file mnib.c.

#define PERF_EVENT_PARBURST_NREAD_EXIT (   _x_)    PERF_EVENT(0x5302, _x_)

Mark performance event: @@@

Definition at line 51 of file mnib.c.

#define PERF_EVENT_PARBURST_NREAD_RELEASE ( )    PERF_EVENT(0x5300, 0)

Mark performance event: @@@

Definition at line 49 of file mnib.c.

#define PERF_EVENT_PARBURST_NWRITE_EXIT (   _x_)    PERF_EVENT(0x5402, _x_)

Mark performance event: @@@

Definition at line 55 of file mnib.c.

#define PERF_EVENT_PARBURST_NWRITE_RELEASE ( )    PERF_EVENT(0x5400, 0)

Mark performance event: @@@

Definition at line 53 of file mnib.c.

#define PERF_EVENT_PARBURST_NWRITE_VALUE (   _x_)    PERF_EVENT(0x5401, _x_)

Mark performance event: @@@

Definition at line 54 of file mnib.c.

#define PERF_EVENT_PARBURST_PAR_READ_DELAY1 (   _x_)    PERF_EVENT(0x5001, _x_)

Mark performance event: @@@

Definition at line 33 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_READ_DELAY2 (   _x_)    PERF_EVENT(0x5004, _x_)

Mark performance event: @@@

Definition at line 36 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_READ_ENTER ( )    PERF_EVENT(0x5000, 0)

Mark performance event: @@@

Definition at line 32 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_READ_EXIT (   _x_)    PERF_EVENT(0x5006, _x_)

Mark performance event: @@@

Definition at line 38 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_READ_PP_READ ( )    PERF_EVENT(0x5002, 0)

Mark performance event: @@@

Definition at line 34 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_READ_RELEASED (   _x_)    PERF_EVENT(0x5003, _x_)

Mark performance event: @@@

Definition at line 35 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_READ_TIMEOUT (   _x_)    PERF_EVENT(0x5005, _x_)

Mark performance event: @@@

Definition at line 37 of file mnib.c.

Referenced by cbmiec_parallel_burst_read().

#define PERF_EVENT_PARBURST_PAR_WRITE_DELAY1 (   _x_)    PERF_EVENT(0x5101, _x_)

Mark performance event: @@@

Definition at line 41 of file mnib.c.

Referenced by cbmiec_parallel_burst_write().

#define PERF_EVENT_PARBURST_PAR_WRITE_DELAY2 (   _x_)    PERF_EVENT(0x5104, _x_)

Mark performance event: @@@

Definition at line 44 of file mnib.c.

Referenced by cbmiec_parallel_burst_write().

#define PERF_EVENT_PARBURST_PAR_WRITE_DUMMY_READ (   _x_)    PERF_EVENT(0x5105, _x_)

Mark performance event: @@@

Definition at line 45 of file mnib.c.

Referenced by cbmiec_parallel_burst_write().

#define PERF_EVENT_PARBURST_PAR_WRITE_ENTER ( )    PERF_EVENT(0x5100, 0)

Mark performance event: @@@

Definition at line 40 of file mnib.c.

Referenced by cbmiec_parallel_burst_write().

#define PERF_EVENT_PARBURST_PAR_WRITE_PP_WRITE (   _x_)    PERF_EVENT(0x5102, _x_)

Mark performance event: @@@

Definition at line 42 of file mnib.c.

Referenced by cbmiec_parallel_burst_write().

#define PERF_EVENT_PARBURST_PAR_WRITE_RELEASE ( )    PERF_EVENT(0x5103, 0)

Mark performance event: @@@

Definition at line 43 of file mnib.c.

#define PERF_EVENT_PARBURST_READ_TRACK_ENTER ( )    PERF_EVENT(0x5500, 0)

Mark performance event: @@@

Definition at line 57 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_READ_TRACK_EXIT (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 62 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_READ_TRACK_READ_DUMMY (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 61 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_READ_TRACK_STARTLOOP ( )    PERF_EVENT(0x5500, 0)

Mark performance event: @@@

Definition at line 58 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_READ_TRACK_TIMEOUT (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 60 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_READ_TRACK_VALUE (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 59 of file mnib.c.

Referenced by cbmiec_parallel_burst_read_track(), and cbmiec_parallel_burst_read_track_var().

#define PERF_EVENT_PARBURST_SEND_CMD (   _x_)    PERF_EVENT(0x5200, _x_)

Mark performance event: @@@

Definition at line 47 of file mnib.c.

#define PERF_EVENT_PARBURST_WRITE_TRACK_ENTER ( )    PERF_EVENT(0x5500, 0)

Mark performance event: @@@

Definition at line 64 of file mnib.c.

#define PERF_EVENT_PARBURST_WRITE_TRACK_EXIT (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 68 of file mnib.c.

#define PERF_EVENT_PARBURST_WRITE_TRACK_STARTLOOP ( )    PERF_EVENT(0x5500, 0)

Mark performance event: @@@

Definition at line 65 of file mnib.c.

#define PERF_EVENT_PARBURST_WRITE_TRACK_TIMEOUT (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 67 of file mnib.c.

#define PERF_EVENT_PARBURST_WRITE_TRACK_VALUE (   _x_)    PERF_EVENT(0x5500, _x_)

Mark performance event: @@@

Definition at line 66 of file mnib.c.

#define TO_HANDSHAKED_READ   libiec_global_timeouts.T_PARALLEL_BURST_READ_BYTE_HANDSHAKED

timeout value for handshaked read

Definition at line 25 of file mnib.c.

#define TO_HANDSHAKED_WRITE   libiec_global_timeouts.T_PARALLEL_BURST_WRITE_BYTE_HANDSHAKED

timeout value for handshaked write

Definition at line 26 of file mnib.c.

Function Documentation

NTSTATUS cbmiec_parallel_burst_read ( IN PDEVICE_EXTENSION  Pdx,
OUT UCHAR *  Byte 
)
NTSTATUS cbmiec_parallel_burst_read_track ( IN PDEVICE_EXTENSION  Pdx,
OUT UCHAR *  Buffer,
IN ULONG  ReturnLength 
)
NTSTATUS cbmiec_parallel_burst_read_track_var ( IN PDEVICE_EXTENSION  Pdx,
OUT UCHAR *  Buffer,
IN ULONG  ReturnLength 
)
NTSTATUS cbmiec_parallel_burst_write ( IN PDEVICE_EXTENSION  Pdx,
IN UCHAR  Byte 
)