/* * d4iface.h * * DOT4 interface * * This file is part of the MinGW package. * * Contributors: * Created by Casper S. Hornstrup * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */ #ifndef __D4IFACE_H #define __D4IFACE_H #if __GNUC__ >=3 #pragma GCC system_header #endif #ifdef __cplusplus extern "C" { #endif #pragma pack(push,4) #include "ntddk.h" #define DOT4_MAX_CHANNELS 128 #define NO_TIMEOUT 0 #define DOT4_CHANNEL 0 #define HP_MESSAGE_PROCESSOR 1 #define PRINTER_CHANNEL 2 #define SCANNER_CHANNEL 4 #define MIO_COMMAND_PROCESSOR 5 #define ECHO_CHANNEL 6 #define FAX_SEND_CHANNEL 7 #define FAX_RECV_CHANNEL 8 #define DIAGNOSTIC_CHANNEL 9 #define HP_RESERVED 10 #define IMAGE_DOWNLOAD 11 #define HOST_DATASTORE_UPLOAD 12 #define HOST_DATASTORE_DOWNLOAD 13 #define CONFIG_UPLOAD 14 #define CONFIG_DOWNLOAD 15 #define STREAM_TYPE_CHANNEL 1 #define PACKET_TYPE_CHANNEL 2 /* DOT4_ACTIVITY.ulMessage flags */ #define DOT4_STREAM_RECEIVED 0x100 #define DOT4_STREAM_CREDITS 0x101 #define DOT4_MESSAGE_RECEIVED 0x102 #define DOT4_DISCONNECT 0x103 #define DOT4_CHANNEL_CLOSED 0x105 typedef unsigned long CHANNEL_HANDLE, *PCHANNEL_HANDLE; typedef struct _DOT4_ACTIVITY { ULONG ulMessage; ULONG ulByteCount; CHANNEL_HANDLE hChannel; } DOT4_ACTIVITY, *PDOT4_ACTIVITY; typedef struct _DOT4_WMI_XFER_INFO { ULONG ulStreamBytesWritten; ULONG ulStreamBytesRead; ULONG ulPacketBytesWritten; ULONG ulPacketBytesRead; } DOT4_WMI_XFER_INFO, *PDOT4_WMI_XFER_INFO; #pragma pack(pop) #ifdef __cplusplus } #endif #endif /* __D4IFACE_H */