Windows NT 4.0 source code leak
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.

102 lines
2.0 KiB

4 years ago
  1. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. Copyright (c) 1989 Microsoft Corporation
  3. Module Name:
  4. sdesc.hxx
  5. Abstract:
  6. Stub descriptor dictionary
  7. Notes:
  8. History:
  9. ----------------------------------------------------------------------------*/
  10. #ifndef __SDESC_HXX__
  11. #define __SDESC_HXX__
  12. /****************************************************************************
  13. * include files
  14. ***************************************************************************/
  15. #include "nulldefs.h"
  16. extern "C"
  17. {
  18. #include <stdio.h>
  19. #include <assert.h>
  20. #include <string.h>
  21. }
  22. #include "cgcommon.hxx"
  23. #include "dict.hxx"
  24. /****************************************************************************
  25. * local definitions
  26. ***************************************************************************/
  27. /****************************************************************************
  28. * local data
  29. ***************************************************************************/
  30. /****************************************************************************
  31. * externs
  32. ***************************************************************************/
  33. extern int CompareSDesc( void *, void *);
  34. extern void PrintSDesc( void * );
  35. /****************************************************************************/
  36. //
  37. typedef struct _sdesc
  38. {
  39. PNAME pName;
  40. PNAME AllocRtnName;
  41. PNAME FreeRtnName;
  42. PNAME RundownRtnName;
  43. BOOL fEmitted;
  44. void ResetEmitted()
  45. {
  46. fEmitted = FALSE;
  47. }
  48. void MarkAsEmitted()
  49. {
  50. fEmitted = TRUE;
  51. }
  52. BOOL IsEmitted()
  53. {
  54. return (fEmitted == TRUE);
  55. }
  56. } SDESC;
  57. // This class manages stub descriptors.
  58. class SDESCMGR : public Dictionary
  59. {
  60. private:
  61. public:
  62. SDESCMGR() : Dictionary()
  63. {
  64. }
  65. ~SDESCMGR()
  66. {
  67. // UNDONE
  68. }
  69. // Register an entry.
  70. SDESC * Register( PNAME AllocRtnName,
  71. PNAME FreeRtnName,
  72. PNAME RundownName );
  73. virtual
  74. int Compare (pUserType pL, pUserType pR);
  75. };
  76. #endif // __SDESC_HXX__