www.pudn.com > 17551_portion.rar > GPIOCTL.H


/*++ 
 
Copyright (c) 1990-2000 Microsoft Corporation, All Rights Reserved 
  
Module Name: 
 
    gpioctl.h   
 
Abstract:   Include file for Generic Port I/O Example Driver 
 
 
Author:    Robert R. Howell  January 8, 1993 
 
 
Revision History: 
 
 Robert B. Nelson (Microsoft)     March 1, 1993 
 
--*/ 
 
#if     !defined(__GPIOCTL_H__) 
#define __GPIOCTL_H__ 
 
// 
// Define the IOCTL codes we will use.  The IOCTL code contains a command 
// identifier, plus other information about the device, the type of access 
// with which the file must have been opened, and the type of buffering. 
// 
 
// 
// Device type           -- in the "User Defined" range." 
// 
 
#define GPD_TYPE 40000 
 
// The IOCTL function codes from 0x800 to 0xFFF are for customer use. 
 
#define IOCTL_GPD_READ_PORT_UCHAR \ 
    CTL_CODE( GPD_TYPE, 0x900, METHOD_NEITHER, FILE_ANY_ACCESS ) 
 
 
#define IOCTL_GPD_WRITE_PORT_UCHAR \ 
    CTL_CODE(GPD_TYPE,  0x910, METHOD_NEITHER, FILE_ANY_ACCESS) 
 
 
typedef struct  _GENPORT_WRITE_INPUT { 
    ULONG   PortNumber;     // Port # to write to 
    union   {               // Data to be output to port 
        ULONG   LongData; 
        USHORT  ShortData; 
        UCHAR   CharData; 
    }; 
}   GENPORT_WRITE_INPUT; 
 
#endif