Leaked source code of windows server 2003
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.

65 lines
2.2 KiB

  1. #include "hash.h"
  2. #pragma once
  3. typedef struct _PARAM_DESCR_DATA *PPARAM_DESCR_DATA;
  4. typedef struct _PARAM_DESCR *PPARAM_DESCR;
  5. typedef DWORD (*PARAM_PARSE_FN)(
  6. PPARAM_DESCR_DATA pPDData,
  7. PPARAM_DESCR pPDEntry,
  8. LPWSTR wszParamArg);
  9. typedef DWORD (*PARAM_CMD_FN)(
  10. PPARAM_DESCR_DATA pPDData);
  11. typedef struct _PARAM_DESCR_DATA
  12. {
  13. DWORD dwExistingParams; // bitmask of params provided by the user
  14. DWORD dwArgumentedParams; // bitmask of argumented params provided by the user (subset of dwExistingParams)
  15. FILE *pfOut;
  16. BOOL bOneX; // OneX boolean value
  17. PARAM_CMD_FN pfnCommand; // function handler for the cmd line command
  18. INTF_ENTRY wzcIntfEntry; // storage for all WZC params
  19. } PARAM_DESCR_DATA;
  20. typedef struct _PARAM_DESCR
  21. {
  22. UINT nParamID; // parameter ID
  23. LPWSTR wszParam; // parameter string
  24. PARAM_PARSE_FN pfnArgParser; // parser function for the parameter's argument
  25. PARAM_CMD_FN pfnCommand; // command function for the parameter
  26. } PARAM_DESCR;
  27. #define PRM_SHOW 0x00000001
  28. #define PRM_ADD 0x00000002
  29. #define PRM_DELETE 0x00000004
  30. #define PRM_SET 0x00000008
  31. #define PRM_VISIBLE 0x00000010
  32. #define PRM_PREFERRED 0x00000020
  33. #define PRM_MASK 0x00000040
  34. #define PRM_ENABLED 0x00000080
  35. #define PRM_SSID 0x00000100
  36. #define PRM_BSSID 0x00000200
  37. #define PRM_IM 0x00000400
  38. #define PRM_AM 0x00000800
  39. #define PRM_PRIV 0x00001000
  40. #define PRM_ONETIME 0x00002000
  41. #define PRM_REFRESH 0x00004000
  42. #define PRM_KEY 0x00008000
  43. #define PRM_ONEX 0x00010000
  44. #define PRM_FILE 0x00020000
  45. extern PARAM_DESCR_DATA g_PDData;
  46. extern PARAM_DESCR g_PDTable[];
  47. extern HASH g_PDHash;
  48. //----------------------------------------------------------
  49. // Initialize and fill in hash for the parameter descriptors
  50. // Returns: win32 error
  51. DWORD
  52. PDInitialize();
  53. //----------------------------------------------------------
  54. // Clean out resources used for the parameter descriptors
  55. VOID
  56. PDDestroy();