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.

97 lines
3.0 KiB

  1. /*****************************************************************************
  2. /** Microsoft LAN Manager **/
  3. /** Copyright(c) Microsoft Corp., 1987-1999 **/
  4. /*****************************************************************************/
  5. /*****************************************************************************
  6. File : listhndl.cxx
  7. Title : general purpose list handler
  8. :
  9. Description : this file handles the general purpose list routines
  10. History :
  11. 05-Aug-1991 VibhasC Created
  12. *****************************************************************************/
  13. #if 0
  14. Notes
  15. -----
  16. The MIDL compilers DGROUP is larger than 64K (remember, 10k of stack space
  17. is allocated). To get around the link errors of DGROUP more than 64k, we
  18. allocate all data in a single file, and compile that file such that the
  19. data segement is a different named data segment. This way, we need not
  20. specify /Gt1 for every source file which has reasonably big data segments
  21. NOTE: In order to search easily I enter the data items in sorted order of names
  22. Please maintain this order
  23. #endif // 0
  24. #pragma warning ( disable : 4514 )
  25. /****************************************************************************
  26. include files
  27. ****************************************************************************/
  28. #include "nulldefs.h"
  29. extern "C"
  30. {
  31. #include <stdio.h>
  32. #include <stdlib.h>
  33. }
  34. #include "allnodes.hxx"
  35. #include "cmdana.hxx"
  36. #include "filehndl.hxx"
  37. #include "lextable.hxx"
  38. #include "symtable.hxx"
  39. #include "gramutil.hxx"
  40. #include "control.hxx"
  41. #include "treg.hxx"
  42. /****************************************************************************
  43. general data declarations
  44. ****************************************************************************/
  45. unsigned short CurrentIntfKey;
  46. unsigned short CurrentZp = 0;
  47. ATTR_SUMMARY DisallowedAttrs[INTERNAL_NODE_END];
  48. ATTR_SUMMARY FieldAttrs;
  49. BOOL fPragmaImportOn = FALSE;
  50. BOOL fNoLogo = FALSE;
  51. short GrammarAct;
  52. short ImportLevel = 0;
  53. TREGISTRY * pCallAsTable;
  54. CMD_ARG * pCommand;
  55. CCONTROL * pCompiler;
  56. SymTable * pCurSymTbl;
  57. SymTable * pBaseSymTbl;
  58. node_error * pErrorTypeNode;
  59. node_e_attr * pErrorAttrNode;
  60. node_e_status_t * pError_status_t;
  61. NFA_INFO * pImportCntrl;
  62. LexTable * pMidlLexTable;
  63. IDICT * pInterfaceDict;
  64. node_pragma_pack * pPackStack;
  65. PASS_1 * pPass1;
  66. PASS_2 * pPass2;
  67. PASS_3 * pPass3;
  68. pre_type_db * pPreAllocTypes;
  69. node_source * pSourceNode;
  70. nsa * pSymTblMgr;
  71. SymTable * pUUIDTable;
  72. ISTACK * pZpStack;
  73. ATTR_SUMMARY RedundantsOk;
  74. char * Skl_bufstart = 0;
  75. char * Skl_bufend = 0;
  76. unsigned long Skl_Allocations = 0;
  77. unsigned long Skl_Bytes = 0;
  78. unsigned long Skl_Deletions = 0;
  79. short yysavestate;
  80. IINFODICT * pInterfaceInfoDict;
  81. BOOL fRedundantImport = FALSE;
  82. node_skl * pBaseImplicitHandle = 0;