Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygend4drvif.h
Go to the documentation of this file.
00001 /* 00002 * d4drvif.h 00003 * 00004 * DOT4 driver IOCTL 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 #pragma once 00024 00025 #define _DOT4DRVIF_H 00026 00027 #ifdef __cplusplus 00028 extern "C" { 00029 #endif 00030 00031 #define MAX_SERVICE_LENGTH 40 00032 00033 #ifndef CTL_CODE 00034 00035 #define CTL_CODE( DeviceType, Function, Method, Access ) ( \ 00036 ((DeviceType) << 16) | ((Access) << 14) | ((Function) << 2) | (Method) \ 00037 ) 00038 00039 #define METHOD_BUFFERED 0 00040 #define METHOD_IN_DIRECT 1 00041 #define METHOD_OUT_DIRECT 2 00042 #define METHOD_NEITHER 3 00043 00044 #define FILE_ANY_ACCESS 0 00045 #define FILE_READ_ACCESS 0x0001 00046 #define FILE_WRITE_ACCESS 0x0002 00047 00048 #endif /* CTL_CODE */ 00049 00050 #define FILE_DEVICE_DOT4 0x3a 00051 #define IOCTL_DOT4_USER_BASE 2049 00052 #define IOCTL_DOT4_LAST IOCTL_DOT4_USER_BASE + 9 00053 00054 #define IOCTL_DOT4_ADD_ACTIVITY_BROADCAST \ 00055 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 4, METHOD_BUFFERED, FILE_ANY_ACCESS) 00056 00057 #define IOCTL_DOT4_CLOSE_CHANNEL \ 00058 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 1, METHOD_BUFFERED, FILE_ANY_ACCESS) 00059 00060 #define IOCTL_DOT4_CREATE_SOCKET \ 00061 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 7, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) 00062 00063 #define IOCTL_DOT4_DESTROY_SOCKET \ 00064 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 9, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) 00065 00066 #define IOCTL_DOT4_OPEN_CHANNEL \ 00067 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 0, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) 00068 00069 #define IOCTL_DOT4_READ \ 00070 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 2, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) 00071 00072 #define IOCTL_DOT4_REMOVE_ACTIVITY_BROADCAST \ 00073 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 5, METHOD_BUFFERED, FILE_ANY_ACCESS) 00074 00075 #define IOCTL_DOT4_WAIT_ACTIVITY_BROADCAST \ 00076 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 6, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) 00077 00078 #define IOCTL_DOT4_WAIT_FOR_CHANNEL \ 00079 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 8, METHOD_OUT_DIRECT, FILE_ANY_ACCESS) 00080 00081 #define IOCTL_DOT4_WRITE \ 00082 CTL_CODE(FILE_DEVICE_DOT4, IOCTL_DOT4_USER_BASE + 3, METHOD_IN_DIRECT, FILE_ANY_ACCESS) 00083 00084 00085 typedef struct _DOT4_DC_CREATE_DATA { 00086 unsigned char bPsid; 00087 CHAR pServiceName[MAX_SERVICE_LENGTH + 1]; 00088 unsigned char bType; 00089 ULONG ulBufferSize; 00090 USHORT usMaxHtoPPacketSize; 00091 USHORT usMaxPtoHPacketSize; 00092 unsigned char bHsid; 00093 } DOT4_DC_CREATE_DATA, *PDOT4_DC_CREATE_DATA; 00094 00095 typedef struct _DOT4_DC_DESTROY_DATA { 00096 unsigned char bHsid; 00097 } DOT4_DC_DESTROY_DATA, *PDOT4_DC_DESTROY_DATA; 00098 00099 typedef struct _DOT4_DC_OPEN_DATA { 00100 unsigned char bHsid; 00101 unsigned char fAddActivity; 00102 CHANNEL_HANDLE hChannelHandle; 00103 } DOT4_DC_OPEN_DATA, *PDOT4_DC_OPEN_DATA; 00104 00105 typedef struct _DOT4_DRIVER_CMD { 00106 CHANNEL_HANDLE hChannelHandle; 00107 ULONG ulSize; 00108 ULONG ulOffset; 00109 ULONG ulTimeout; 00110 } DOT4_DRIVER_CMD, *PDOT4_DRIVER_CMD; 00111 00112 #ifdef __cplusplus 00113 } 00114 #endif Generated on Sat May 26 2012 04:28:34 for ReactOS by
1.7.6.1
|