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

d4drvif.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 doxygen 1.7.6.1

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