diff options
author | wpaul <wpaul@FreeBSD.org> | 2005-02-25 18:25:48 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 2005-02-25 18:25:48 +0000 |
commit | 371673aec831d8335f177b4cc155e42394ab140a (patch) | |
tree | bec133a8ae90c37b3ed4ba8ee9b55949212b9bf3 /sys/compat/ndis/ntoskrnl_var.h | |
parent | 3f4b3cea66572eb3ed0ac4713956de6c1cccef29 (diff) | |
download | FreeBSD-src-371673aec831d8335f177b4cc155e42394ab140a.zip FreeBSD-src-371673aec831d8335f177b4cc155e42394ab140a.tar.gz |
Add macros to construct Windows IOCTL codes, and to extract function
codes from an IOCTL. (The USB module will need them later.)
Diffstat (limited to 'sys/compat/ndis/ntoskrnl_var.h')
-rw-r--r-- | sys/compat/ndis/ntoskrnl_var.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/sys/compat/ndis/ntoskrnl_var.h b/sys/compat/ndis/ntoskrnl_var.h index 4992d7c..0a24471 100644 --- a/sys/compat/ndis/ntoskrnl_var.h +++ b/sys/compat/ndis/ntoskrnl_var.h @@ -750,8 +750,27 @@ typedef struct devobj_extension devobj_extension; #define METHOD_OUT_DIRECT 2 #define METHOD_NEITHER 3 +/* File access types */ + +#define FILE_ANY_ACCESS 0x0000 +#define FILE_SPECIAL_ACCESS FILE_ANY_ACCESS +#define FILE_READ_ACCESS 0x0001 +#define FILE_WRITE_ACCESS 0x0002 + +/* Recover I/O access method from IOCTL code. */ + #define IO_METHOD(x) ((x) & 0xFFFFFFFC) +/* Recover function code from IOCTL code */ + +#define IO_FUNC(x) (((x) & 0x7FFC) >> 2) + +/* Macro to construct an IOCTL code. */ + +#define IOCTL_CODE(dev, func, iomethod, acc) \ + ((dev) << 16) | (acc << 14) | (func << 2) | (iomethod)) + + struct io_status_block { union { uint32_t isb_status; |