00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00023 #include <wdm.h>
00024 #include "cbm_driver.h"
00025 #include "i_iec.h"
00026
00044 NTSTATUS
00045 cbmiec_open(IN PDEVICE_EXTENSION Pdx, IN UCHAR Device, IN UCHAR Secaddr)
00046 {
00047 NTSTATUS ntStatus;
00048 ULONG sent;
00049 UCHAR buffer[2];
00050
00051 FUNC_ENTER();
00052
00053 FUNC_PARAM((DBG_PREFIX "Device = 0x%02x, Secaddr = 0x%02x", (int)Device, (int)Secaddr));
00054
00055
00056
00057 buffer[0] = 0x20 | Device;
00058 buffer[1] = 0xf0 | Secaddr;
00059 ntStatus = cbmiec_i_raw_write(Pdx, buffer, 2, &sent, 1, 0);
00060
00061 FUNC_LEAVE_NTSTATUS(ntStatus);
00062 }
00063
00081 NTSTATUS
00082 cbmiec_close(IN PDEVICE_EXTENSION Pdx, IN UCHAR Device, IN UCHAR Secaddr)
00083 {
00084 NTSTATUS ntStatus;
00085 ULONG sent;
00086 UCHAR buffer[2];
00087
00088 FUNC_ENTER();
00089
00090 FUNC_PARAM((DBG_PREFIX "Device = 0x%02x, Secaddr = 0x%02x", (int)Device, (int)Secaddr));
00091
00092
00093
00094 buffer[0] = 0x20 | Device;
00095 buffer[1] = 0xe0 | Secaddr;
00096 ntStatus = cbmiec_i_raw_write(Pdx, buffer, 2, &sent, 1, 0);
00097
00098 FUNC_LEAVE_NTSTATUS(ntStatus);
00099 }