Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

107 lines
3.0 KiB

  1. //***************************************************************************
  2. //
  3. // Microsoft NT Remote Access Service
  4. //
  5. // Copyright (C) 1992-93 Microsft Corporation. All rights reserved.
  6. //
  7. // Filename: device.h
  8. //
  9. // Revision History:
  10. //
  11. // Aug 11, 1992 J. Perry Hannah Created
  12. //
  13. //
  14. // Description: This file contains function prototypes and typedefs
  15. // used by the interface between RAS Manager and the
  16. // device DLLs, such as RASMXS.DLL. This header file
  17. // will be used by RASMAN.
  18. //
  19. //****************************************************************************
  20. #ifndef _RASDEVICEDLL_
  21. #define _RASDEVICEDLL_
  22. //* RASMXS API Prototypes **************************************************
  23. //
  24. // Apps should define RASMXS_STATIC_LINK to get the appropriate function
  25. // prototypes for linking statically with the RASMXS DLL.
  26. //
  27. // Apps should define RASMXS_DYNAMIC_LINK to get the appropriate function
  28. // typedefs for linking dynamically with the RASMXS DLL.
  29. //
  30. #ifdef RASMXS_STATIC_LINK
  31. DWORD APIENTRY DeviceEnum(char *pszDeviceType,
  32. WORD *pcEntries,
  33. BYTE *pBuffer,
  34. WORD *pwSize);
  35. DWORD APIENTRY DeviceGetInfo(HANDLE hIOPort,
  36. char *pszDeviceType,
  37. char *pszDeviceName,
  38. BYTE *pInfo,
  39. WORD *pwSize);
  40. DWORD APIENTRY DeviceSetInfo(HANDLE hIOPort,
  41. char *pszDeviceType,
  42. char *pszDeviceName,
  43. DEVICEINFO *pInfo);
  44. DWORD APIENTRY DeviceConnect(HANDLE hIOPort,
  45. char *pszDeviceType,
  46. char *pszDeviceName,
  47. HANDLE hNotifier);
  48. DWORD APIENTRY DeviceListen(HANDLE hIOPort,
  49. char *pszDeviceType,
  50. char *pszDeviceName,
  51. HANDLE hNotifier);
  52. VOID APIENTRY DeviceDone(HANDLE hIOPort);
  53. DWORD APIENTRY DeviceWork(HANDLE hIOPort,
  54. HANDLE hNotifier);
  55. #endif // RASMXS_STATIC_LINK
  56. #ifdef RASMXS_DYNAMIC_LINK
  57. typedef DWORD (APIENTRY * DeviceEnum_t)(char*, WORD*, BYTE*, WORD*);
  58. typedef DWORD (APIENTRY * DeviceGetInfo_t)(HANDLE, char*, char*, BYTE*, WORD*);
  59. typedef DWORD (APIENTRY * DeviceSetInfo_t)(HANDLE, char*, char*,
  60. RASMAN_DEVICEINFO*);
  61. typedef DWORD (APIENTRY * DeviceConnect_t)(HANDLE, char*, char*, HANDLE);
  62. typedef DWORD (APIENTRY * DeviceListen_t)(HANDLE, char*, char*, HANDLE);
  63. typedef DWORD (APIENTRY * DeviceDone_t)(HANDLE);
  64. typedef DWORD (APIENTRY * DeviceWork_t)(HANDLE, HANDLE);
  65. // OPTIONAL
  66. typedef DWORD (APIENTRY * DeviceSetDevConfig_t)(HANDLE, PBYTE, DWORD);
  67. typedef DWORD (APIENTRY * DeviceGetDevConfig_t)(char *, PBYTE, DWORD*);
  68. #endif // RASMXS_DYNAMIC_LINK
  69. #endif // _RASDEVICEDLL_