OpenCBM
Functions
libiec/util.c File Reference

Some utility functions for the IEC library. More...

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

Go to the source code of this file.

Functions

VOID cbmiec_schedule_timeout (IN ULONG Howlong)
 Schedule a timeout. More...
 
VOID cbmiec_udelay (IN ULONG Howlong)
 Wait for a timeout. More...
 
VOID cbmiec_block_irq (PDEVICE_EXTENSION Pdx)
 Block all interrupts. More...
 
VOID cbmiec_release_irq (PDEVICE_EXTENSION Pdx)
 Release the interrupts. More...
 

Detailed Description

Some utility functions for the IEC library.



Author
Spiro Trikaliotis

Definition in file libiec/util.c.

Function Documentation

VOID cbmiec_block_irq ( PDEVICE_EXTENSION  Pdx)

Block all interrupts.

This function blocks all interrupt, thus that we cannot be interrupted while executing some critical things.

This should not be used for big time periods.

Definition at line 94 of file libiec/util.c.

References CLI(), DBG_ASSERT, DBGDO, FUNC_ENTER, and FUNC_LEAVE.

Referenced by cbmiec_i_raw_read(), cbmiec_i_raw_write(), cbmiec_send_byte(), and cbmiec_wait_for_listener().

VOID cbmiec_release_irq ( PDEVICE_EXTENSION  Pdx)

Release the interrupts.

This function releases all interrupt, undoing a previous cbmiec_block_irq() call.

Definition at line 118 of file libiec/util.c.

References DBG_ASSERT, DBGDO, FUNC_ENTER, FUNC_LEAVE, and STI().

Referenced by cbmiec_i_raw_read(), cbmiec_i_raw_write(), cbmiec_send_byte(), and cbmiec_wait_for_listener().

VOID cbmiec_schedule_timeout ( IN ULONG  Howlong)

Schedule a timeout.

This function schedules a timeout. Scheduling means that other threads have the opportunity to use the processor while we're waiting.

Parameters
HowlongHow long to wait (in us)

Definition at line 34 of file libiec/util.c.

References FUNC_ENTER, and FUNC_LEAVE.

Referenced by cbmiec_check_device(), cbmiec_i_raw_read(), cbmiec_i_raw_write(), cbmiec_iec_wait(), cbmiec_reset(), cbmiec_wait_for_drives_ready(), and cbmiec_wait_for_listener().

VOID cbmiec_udelay ( IN ULONG  Howlong)

Wait for a timeout.

This function waits for a timeout. Waiting means that we want to have an exact timing, so don't give away the processor.

Parameters
HowlongHow long to wait (in us)

Definition at line 66 of file libiec/util.c.

References FUNC_ENTER, and FUNC_LEAVE.

Referenced by cbmiec_i_raw_read(), cbmiec_i_raw_write(), cbmiec_iec_wait(), cbmiec_parallel_burst_read(), cbmiec_parallel_burst_write(), cbmiec_send_byte(), cbmiec_test_irq(), and ParPortSetMode().