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.

101 lines
1.8 KiB

  1. /*++
  2. Copyright (c) 1997 Microsoft Corporation
  3. Module Name:
  4. iiscblob.h
  5. Abstract:
  6. This include file contains the definition of the IIS_CRYPTO_BLOB
  7. structure and associated constants.
  8. Author:
  9. Keith Moore (keithmo) 25-Feb-1997
  10. Revision History:
  11. --*/
  12. #ifndef _IISCBLOB_H_
  13. #define _IISCBLOB_H_
  14. #ifndef _IIS_CRYPTO_BLOB_DEFINED
  15. #define _IIS_CRYPTO_BLOB_DEFINED
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif // __cplusplus
  19. //
  20. // Structure signatures for the various blob types.
  21. //
  22. #define SALT_BLOB_SIGNATURE ((DWORD)'bScI')
  23. #define KEY_BLOB_SIGNATURE ((DWORD)'bKcI')
  24. #define PUBLIC_KEY_BLOB_SIGNATURE ((DWORD)'bPcI')
  25. #define DATA_BLOB_SIGNATURE ((DWORD)'bDcI')
  26. #define HASH_BLOB_SIGNATURE ((DWORD)'bHcI')
  27. #define CLEARTEXT_BLOB_SIGNATURE ((DWORD)'bCcI')
  28. //
  29. // A crypto blob. Note that this is just the header for the blob.
  30. // The details of the blob internals are private to the IIS Crypto
  31. // package.
  32. //
  33. typedef struct _IIS_CRYPTO_BLOB {
  34. //
  35. // The structure signature for this blob.
  36. //
  37. DWORD BlobSignature;
  38. //
  39. // The total length of this blob, NOT including this header.
  40. //
  41. DWORD BlobDataLength;
  42. #if defined(MIDL_PASS)
  43. //
  44. // Define the raw data so that MIDL can marshal correctly.
  45. //
  46. [size_is(BlobDataLength)] unsigned char BlobData[*];
  47. #endif // MIDL_PASS
  48. } IIS_CRYPTO_BLOB;
  49. #if defined(MIDL_PASS)
  50. // BUGBUG: Hackety Hack: midl doesn't know about __unaligned, so we don't
  51. // tell it. At some point, midl should be fixed to know about it. Also,
  52. // we should ultimately stop using __unaligned
  53. typedef IIS_CRYPTO_BLOB *PIIS_CRYPTO_BLOB;
  54. #else
  55. typedef IIS_CRYPTO_BLOB UNALIGNED64 *PIIS_CRYPTO_BLOB;
  56. #endif // MIDL_PASS
  57. #ifdef __cplusplus
  58. } // extern "C"
  59. #endif // __cplusplus
  60. #endif // _IIS_CRYPTO_BLOB_DEFINED
  61. #endif // _IISCBLOB_H_