ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ntddpar.h
Go to the documentation of this file.
00001 /*
00002  * ntddpar.h
00003  *
00004  * Parallel port driver interface
00005  *
00006  * This file is part of the w32api package.
00007  *
00008  * Contributors:
00009  *   Created by Casper S. Hornstrup <chorns@users.sourceforge.net>
00010  *
00011  * THIS SOFTWARE IS NOT COPYRIGHTED
00012  *
00013  * This source code is offered for use in the public domain. You may
00014  * use, modify or distribute it freely.
00015  *
00016  * This code is distributed in the hope that it will be useful but
00017  * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY
00018  * DISCLAIMED. This includes but is not limited to warranties of
00019  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00020  *
00021  */
00022 
00023 #ifndef _NTDDPAR_
00024 #define _NTDDPAR_
00025 
00026 #ifdef __cplusplus
00027 extern "C" {
00028 #endif
00029 
00030 /* Parallel port device GUIDs */
00031 
00032 DEFINE_GUID (GUID_DEVINTERFACE_PARALLEL,
00033   0x97F76EF0, 0xF883, 0x11D0, 0xAF, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x84, 0x5C);
00034 DEFINE_GUID (GUID_DEVINTERFACE_PARCLASS,
00035   0x811FC6A5, 0xF728, 0x11D0, 0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1);
00036 
00037 #define GUID_PARALLEL_DEVICE GUID_DEVINTERFACE_PARALLEL
00038 #define GUID_PARCLASS_DEVICE GUID_DEVINTERFACE_PARCLASS
00039 
00040 
00041 #define IOCTL_IEEE1284_GET_MODE \
00042   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS)
00043 #define IOCTL_IEEE1284_NEGOTIATE \
00044   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS)
00045 #define IOCTL_PAR_GET_DEFAULT_MODES \
00046   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS)
00047 #define IOCTL_PAR_GET_DEVICE_CAPS \
00048   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS)
00049 #define IOCTL_PAR_IS_PORT_FREE \
00050   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS)
00051 #define IOCTL_PAR_QUERY_DEVICE_ID \
00052   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS)
00053 #define IOCTL_PAR_QUERY_DEVICE_ID_SIZE \
00054   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS)
00055 #define IOCTL_PAR_QUERY_INFORMATION \
00056   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS)
00057 #define IOCTL_PAR_QUERY_LOCATION \
00058   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS)
00059 #define IOCTL_PAR_QUERY_RAW_DEVICE_ID \
00060   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS)
00061 #define IOCTL_PAR_SET_INFORMATION \
00062   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS)
00063 #define IOCTL_PAR_SET_READ_ADDRESS \
00064   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS)
00065 #define IOCTL_PAR_SET_WRITE_ADDRESS \
00066   CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS)
00067 
00068 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION {
00069   ULONG  DeviceIdSize;
00070 } PAR_DEVICE_ID_SIZE_INFORMATION, *PPAR_DEVICE_ID_SIZE_INFORMATION;
00071 
00072 #define PARALLEL_INIT                     0x01
00073 #define PARALLEL_AUTOFEED                 0x02
00074 #define PARALLEL_PAPER_EMPTY              0x04
00075 #define PARALLEL_OFF_LINE                 0x08
00076 #define PARALLEL_POWER_OFF                0x10
00077 #define PARALLEL_NOT_CONNECTED            0x20
00078 #define PARALLEL_BUSY                     0x40
00079 #define PARALLEL_SELECTED                 0x80
00080 
00081 typedef struct _PAR_QUERY_INFORMATION {
00082   UCHAR  Status;
00083 } PAR_QUERY_INFORMATION, *PPAR_QUERY_INFORMATION;
00084 
00085 typedef struct _PAR_SET_INFORMATION {
00086   UCHAR  Init;
00087 } PAR_SET_INFORMATION, *PPAR_SET_INFORMATION;
00088 
00089 typedef struct _PARCLASS_NEGOTIATION_MASK {
00090   USHORT  usReadMask;
00091   USHORT  usWriteMask;
00092 } PARCLASS_NEGOTIATION_MASK, *PPARCLASS_NEGOTIATION_MASK;
00093 
00094 #define NONE                              0x0000
00095 #define CENTRONICS                        0x0001
00096 #define IEEE_COMPATIBILITY                0x0002
00097 #define NIBBLE                            0x0004
00098 #define CHANNEL_NIBBLE                    0x0008
00099 #define BYTE_BIDIR                        0x0010
00100 #define EPP_HW                            0x0020
00101 #define EPP_SW                            0x0040
00102 #define EPP_ANY                           0x0060
00103 #define BOUNDED_ECP                       0x0080
00104 #define ECP_HW_NOIRQ                      0x0100
00105 #define ECP_HW_IRQ                        0x0200
00106 #define ECP_SW                            0x0400
00107 #define ECP_ANY                           0x0780
00108 
00109 #ifdef __cplusplus
00110 }
00111 #endif
00112 
00113 #endif /* _NTDDPAR_ */

Generated on Sun May 27 2012 04:32:06 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.