home *** CD-ROM | disk | FTP | other *** search
- /*
- * Author : Ranveer Chandra
- * Directory: VirtualWiFi_Root\inc
- * File Name: ioctlcodes.h
- * Purpose : Defines all the ioctls, and their data structures
- */
-
- #define ADAPTIVE_SCHEDULING 1
- #define FIXED_SCHEDULING 0
- #define SSID_LENGTH 32
- #define MODE_AH 0
- #define MODE_IS 1
-
- // Define the ioctls to be used by VirtualWiFi
- #define CTRL_CODE(function, method, access) CTL_CODE(FILE_DEVICE_NETWORK, function, method, access)
-
- /*
- // When no service, set time to switch to IS mode
- #define IOCTL_SET_SWITCHING_TIME_INFRA CTRL_CODE( 0x849, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // When no service, get time to switch to IS mode
- #define IOCTL_GET_SWITCHING_TIME_INFRA CTRL_CODE( 0x848, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // When no service, set time to stay in IS mode
- #define IOCTL_SET_WAITING_TIME_INFRA CTRL_CODE( 0x847, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // When no service, get time to stay in IS mode
- #define IOCTL_GET_WAITING_TIME_INFRA CTRL_CODE( 0x846, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // When no service, set time to switch to AH mode
- #define IOCTL_SET_SWITCHING_TIME_ADHOC CTRL_CODE( 0x845, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // When no service, get time to swtich to AH mode
- #define IOCTL_GET_SWITCHING_TIME_ADHOC CTRL_CODE( 0x844, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // When no service, set time to stay in AH mode
- #define IOCTL_SET_WAITING_TIME_ADHOC CTRL_CODE( 0x843, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // When no service, get time to stay in AH mode
- #define IOCTL_GET_WAITING_TIME_ADHOC CTRL_CODE( 0x842, METHOD_BUFFERED, FILE_READ_ACCESS)
- */
-
- // Used by the Service: Get the number of networks to connect
- #define IOCTL_GET_NUM_NETWORKS CTRL_CODE( 0x846, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Used by the Service: Find out if we want to use adaptive scheduling
- #define IOCTL_GET_SCHEDULING_SCHEME CTRL_CODE( 0x845, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // During installation: Set the switching parameters for the current network
- #define IOCTL_SET_SWITCHING_PARAMETERS CTRL_CODE( 0x844, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // Used by the service: Retrieve the switching parameters for the current network
- #define IOCTL_GET_SWITCH_TIME CTRL_CODE( 0x843, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Used by the service: Retrieve the switching parameters for the current network
- #define IOCTL_GET_WAIT_TIME CTRL_CODE( 0x842, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // When no service, starts the switching of the card
- #define IOCTL_START_SWITCHING CTRL_CODE( 0x841, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Switch the SSID, used by the Service
- #define IOCTL_SWITCH_SSID CTRL_CODE( 0x840, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Send the buffered packets - used by both the Server and Service
- #define IOCTL_SEND_BUFFERED_PACKETS CTRL_CODE( 0x839, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Get the current SSID, used by Service
- #define IOCTL_GET_CURRENT_SSID CTRL_CODE( 0x838, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Get the current Mode, used by Service
- #define IOCTL_GET_CURRENT_MODE CTRL_CODE( 0x837, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Start Buffering Packets - used by VirtualWiFi Server
- #define IOCTL_START_BUFFERING_PACKETS CTRL_CODE( 0x836, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Get the length of Buffer Queue - used for adaptive scheduling
- #define IOCTL_GET_BUFFER_QUEUE_LENGTH CTRL_CODE( 0x835, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- // Get the current SSID, used by Service
- #define IOCTL_SET_CURRENT_SSID CTRL_CODE( 0x834, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // Post installation: Dynamically set the switching parameters for any network
- #define IOCTL_SET_SWITCHING_PARAMETERS_FOR_CONNECTION CTRL_CODE( 0x833, METHOD_BUFFERED, FILE_WRITE_ACCESS)
-
- // For VirtualWiFihelper: determine the time taken by the card to switch to another network
- #define IOCTL_GET_CARD_SWITCH_TIME CTRL_CODE( 0x832, METHOD_BUFFERED, FILE_READ_ACCESS)
-
- typedef struct {
- char *adapterNum;
- ULONG switchTime;
- ULONG waitTime;
- int isAdaptiveScheduling;
- } SetVirtualWiFiTimers;
-
- typedef struct {
- char *adapterNum;
- USHORT networkMode;
- ULONG ssidLength;
- char networkSSID[SSID_LENGTH];
- //ULONG connectionNum;
- ULONG switchTime;
- ULONG waitTime;
- int isAdaptiveScheduling;
- } SetVirtualWiFiTimersForConnection;
-
- typedef struct {
- ULONG switchTime;
- ULONG waitTime;
- } GetVirtualWiFiTimers;
-
- typedef struct {
- char *adapterNum;
- USHORT networkMode;
- ULONG ssidLength;
- char networkSSID[SSID_LENGTH];
- } NetworkModeAndSSID;
-
- typedef ULONGLONG Time;
-