Embed:
(wiki syntax)
Show/hide line numbers
ntddpar.h
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_H 00024 #define __NTDDPAR_H 00025 00026 #if __GNUC__ >=3 00027 #pragma GCC system_header 00028 #endif 00029 00030 #ifdef __cplusplus 00031 extern "C" { 00032 #endif 00033 00034 #include "ntddk.h" 00035 00036 /* Parallel port device GUIDs */ 00037 00038 DEFINE_GUID (GUID_DEVINTERFACE_PARALLEL, 00039 0x97F76EF0, 0xF883, 0x11D0, 0xAF, 0x1F, 0x00, 0x00, 0xF8, 0x00, 0x84, 0x5C); 00040 DEFINE_GUID (GUID_DEVINTERFACE_PARCLASS, 00041 0x811FC6A5, 0xF728, 0x11D0, 0xA5, 0x37, 0x00, 0x00, 0xF8, 0x75, 0x3E, 0xD1); 00042 00043 #define GUID_PARALLEL_DEVICE GUID_DEVINTERFACE_PARALLEL 00044 #define GUID_PARCLASS_DEVICE GUID_DEVINTERFACE_PARCLASS 00045 00046 00047 #define IOCTL_IEEE1284_GET_MODE \ 00048 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 5, METHOD_BUFFERED, FILE_ANY_ACCESS) 00049 #define IOCTL_IEEE1284_NEGOTIATE \ 00050 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 6, METHOD_BUFFERED, FILE_ANY_ACCESS) 00051 #define IOCTL_PAR_GET_DEFAULT_MODES \ 00052 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 10, METHOD_BUFFERED, FILE_ANY_ACCESS) 00053 #define IOCTL_PAR_GET_DEVICE_CAPS \ 00054 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 9, METHOD_BUFFERED, FILE_ANY_ACCESS) 00055 #define IOCTL_PAR_IS_PORT_FREE \ 00056 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 21, METHOD_BUFFERED, FILE_ANY_ACCESS) 00057 #define IOCTL_PAR_QUERY_DEVICE_ID \ 00058 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 3, METHOD_BUFFERED, FILE_ANY_ACCESS) 00059 #define IOCTL_PAR_QUERY_DEVICE_ID_SIZE \ 00060 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 4, METHOD_BUFFERED, FILE_ANY_ACCESS) 00061 #define IOCTL_PAR_QUERY_INFORMATION \ 00062 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 1, METHOD_BUFFERED, FILE_ANY_ACCESS) 00063 #define IOCTL_PAR_QUERY_LOCATION \ 00064 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 22, METHOD_BUFFERED, FILE_ANY_ACCESS) 00065 #define IOCTL_PAR_QUERY_RAW_DEVICE_ID \ 00066 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 12, METHOD_BUFFERED, FILE_ANY_ACCESS) 00067 #define IOCTL_PAR_SET_INFORMATION \ 00068 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 2, METHOD_BUFFERED, FILE_ANY_ACCESS) 00069 #define IOCTL_PAR_SET_READ_ADDRESS \ 00070 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 8, METHOD_BUFFERED, FILE_ANY_ACCESS) 00071 #define IOCTL_PAR_SET_WRITE_ADDRESS \ 00072 CTL_CODE (FILE_DEVICE_PARALLEL_PORT, 7, METHOD_BUFFERED, FILE_ANY_ACCESS) 00073 00074 typedef struct _PAR_DEVICE_ID_SIZE_INFORMATION { 00075 ULONG DeviceIdSize; 00076 } PAR_DEVICE_ID_SIZE_INFORMATION, *PPAR_DEVICE_ID_SIZE_INFORMATION; 00077 00078 #define PARALLEL_INIT 0x01 00079 #define PARALLEL_AUTOFEED 0x02 00080 #define PARALLEL_PAPER_EMPTY 0x04 00081 #define PARALLEL_OFF_LINE 0x08 00082 #define PARALLEL_POWER_OFF 0x10 00083 #define PARALLEL_NOT_CONNECTED 0x20 00084 #define PARALLEL_BUSY 0x40 00085 #define PARALLEL_SELECTED 0x80 00086 00087 typedef struct _PAR_QUERY_INFORMATION { 00088 UCHAR Status; 00089 } PAR_QUERY_INFORMATION, *PPAR_QUERY_INFORMATION; 00090 00091 typedef struct _PAR_SET_INFORMATION { 00092 UCHAR Init; 00093 } PAR_SET_INFORMATION, *PPAR_SET_INFORMATION; 00094 00095 typedef struct _PARCLASS_NEGOTIATION_MASK { 00096 USHORT usReadMask; 00097 USHORT usWriteMask; 00098 } PARCLASS_NEGOTIATION_MASK, *PPARCLASS_NEGOTIATION_MASK; 00099 00100 #define NONE 0x0000 00101 #define CENTRONICS 0x0001 00102 #define IEEE_COMPATIBILITY 0x0002 00103 #define NIBBLE 0x0004 00104 #define CHANNEL_NIBBLE 0x0008 00105 #define BYTE_BIDIR 0x0010 00106 #define EPP_HW 0x0020 00107 #define EPP_SW 0x0040 00108 #define EPP_ANY 0x0060 00109 #define BOUNDED_ECP 0x0080 00110 #define ECP_HW_NOIRQ 0x0100 00111 #define ECP_HW_IRQ 0x0200 00112 #define ECP_SW 0x0400 00113 #define ECP_ANY 0x0780 00114 00115 #ifdef __cplusplus 00116 } 00117 #endif 00118 00119 #endif /* __NTDDPAR_H */
Generated on Tue Jul 12 2022 19:59:54 by
1.7.2