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.

52 lines
2.0 KiB

  1. //================================================================================
  2. // Copyright (C) Microsoft Corporation 1997
  3. // Author: RameshV
  4. // Description: this file has functions that marshal and unmarshal the arguments
  5. // and calls the right functions to get the api executed.
  6. //================================================================================
  7. #ifndef APISTUB_H_INCLUDED
  8. #define APISTUB_H_INCLUDED
  9. typedef enum _API_OPCODES {
  10. FirstApiOpCode = 0,
  11. AcquireParametersOpCode = FirstApiOpCode,
  12. FallbackParamsOpCode,
  13. ReleaseParametersOpCode,
  14. EnableDhcpOpCode,
  15. DisableDhcpOpCode,
  16. StaticRefreshParamsOpCode,
  17. RequestParamsOpCode,
  18. PersistentRequestParamsOpCode,
  19. RegisterParamsOpCode,
  20. DeRegisterParamsOpCode,
  21. RemoveDNSRegistrationsOpCode,
  22. AcquireParametersByBroadcastOpCode,
  23. InvalidApiOpCode
  24. } API_OPCODES, *LPAPI_OPCODES;
  25. typedef enum _API_PARAMS {
  26. ClassIdParam = InvalidApiOpCode,
  27. VendorOptionParam,
  28. NormalOptionParam,
  29. ProcIdParam,
  30. DescriptorParam,
  31. EventHandleParam,
  32. FlagsParam,
  33. InvalidApiParam
  34. } API_PARAMS, *PAPI_PARAMS, *LPAPI_PARAMS;
  35. //================================================================================
  36. // the api buffer comes to DhcpApiProcessBuffer which then dispatches it to
  37. // the right function after unmarshalling as much of the arguments as possible.
  38. //================================================================================
  39. DWORD // win32 status
  40. DhcpApiProcessBuffer( // process a single buffer
  41. IN LPBYTE InBuffer, // the input buffer
  42. IN DWORD InBufSize, // input buffer size
  43. IN OUT LPBYTE OutBuffer, // the processed data gets written to this buffer
  44. IN OUT LPDWORD OutBufSize // the size of the output buffer
  45. );
  46. #endif APISTUB_H_INCLUDED