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.

102 lines
2.1 KiB

  1. /*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  2. Copyright (c) 1989-1999 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 <string.h>
  20. }
  21. #include "cgcommon.hxx"
  22. #include "dict.hxx"
  23. /****************************************************************************
  24. * local definitions
  25. ***************************************************************************/
  26. /****************************************************************************
  27. * local data
  28. ***************************************************************************/
  29. /****************************************************************************
  30. * externs
  31. ***************************************************************************/
  32. extern int CompareSDesc( void *, void *);
  33. extern void PrintSDesc( void * );
  34. /****************************************************************************/
  35. //
  36. typedef struct _sdesc
  37. {
  38. PNAME pName;
  39. PNAME AllocRtnName;
  40. PNAME FreeRtnName;
  41. PNAME RundownRtnName;
  42. BOOL fEmitted;
  43. void ResetEmitted()
  44. {
  45. fEmitted = FALSE;
  46. }
  47. void MarkAsEmitted()
  48. {
  49. fEmitted = TRUE;
  50. }
  51. BOOL IsEmitted()
  52. {
  53. return (fEmitted == TRUE);
  54. }
  55. } SDESC;
  56. // This class manages stub descriptors.
  57. class SDESCMGR : public Dictionary
  58. {
  59. private:
  60. public:
  61. SDESCMGR() : Dictionary()
  62. {
  63. }
  64. ~SDESCMGR()
  65. {
  66. // UNDONE
  67. }
  68. // Register an entry.
  69. SDESC * Register( PNAME AllocRtnName,
  70. PNAME FreeRtnName,
  71. PNAME RundownName );
  72. virtual
  73. SSIZE_T Compare (pUserType pL, pUserType pR);
  74. };
  75. #endif // __SDESC_HXX__