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.

65 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1995 Microsoft Corporation
  3. Module Name:
  4. sptlibp.h
  5. Abstract:
  6. private header for SPTLIB.DLL
  7. Environment:
  8. User mode only
  9. Revision History:
  10. 4/10/2000 - created
  11. --*/
  12. #ifndef __SPTLIBP_H__
  13. #define __SPTLIBP_H__
  14. #pragma warning(push)
  15. #pragma warning(disable:4200) // array[0] is not a warning for this file
  16. #include "sptlib.h"
  17. #include <stdio.h> // required for sscanf() function
  18. #ifndef ARGUMENT_PRESENT
  19. #define ARGUMENT_PRESENT(ArgumentPointer) (\
  20. (CHAR *)(ArgumentPointer) != (CHAR *)(NULL) )
  21. #endif
  22. typedef struct {
  23. SCSI_PASS_THROUGH Spt;
  24. char SenseInfoBuffer[18];
  25. char DataBuffer[0];
  26. // Allocate buffer space after this
  27. } SPT_WITH_BUFFERS, *PSPT_WITH_BUFFERS;
  28. typedef enum _SPT_MODE_PAGE_SIZE {
  29. SptModePageSizeUndefined = 0x00,
  30. SptModePageSizeModeSense6 = 0x06,
  31. SptModePageSizeModeSense10 = 0x0A
  32. } SPT_MODE_PAGE_SIZE, *PSPT_MODE_PAGE_SIZE;
  33. #define SPT_MODE_PAGE_INFO_SIGNATURE ((ULONGLONG)0x6567615165646f4d) // 'ModePage'
  34. struct _SPT_MODE_PAGE_INFO {
  35. ULONGLONG Signature;
  36. ULONG IsInitialized;
  37. SPT_MODE_PAGE_SIZE ModePageSize;
  38. union {
  39. UCHAR AsChar;
  40. MODE_PARAMETER_HEADER Header6;
  41. MODE_PARAMETER_HEADER10 Header10;
  42. } H;
  43. };
  44. #pragma warning(pop)
  45. #endif // __SPTLIBP_H__