Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
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
