cvs commit: src/sys/compat/ndis ntoskrnl_var.h subr_ntoskrnl.c

Bill Paul wpaul at
Wed Feb 23 16:44:34 GMT 2005

wpaul       2005-02-23 16:44:33 UTC

  FreeBSD src repository

  Modified files:
    sys/compat/ndis      ntoskrnl_var.h subr_ntoskrnl.c 
  Implement IoCancelIrp(), IoAcquireCancelSpinLock(), IoReleaseCancelSpinLock()
  and a machine-independent though inefficient InterlockedExchange().
  In Windows, InterlockedExchange() appears to be implemented in header
  files via inline assembly. I would prefer using an atomic.h macro for
  this, but there doesn't seem to be one that just does a plain old
  atomic exchange (as opposed to compare and exchange). Also implement
  IoSetCancelRoutine(), which is just a macro that uses InterlockedExchange().
  Fill in IoBuildSynchronousFsdRequest(), IoBuildAsynchronousFsdRequest()
  and IoBuildDeviceIoControlRequest() so that they do something useful,
  and add a bunch of #defines to ntoskrnl_var.h to help make these work.
  These may require some tweaks later.
  Revision  Changes    Path
  1.25      +61 -2     src/sys/compat/ndis/ntoskrnl_var.h
  1.52      +199 -3    src/sys/compat/ndis/subr_ntoskrnl.c

More information about the cvs-src mailing list