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.

90 lines
2.3 KiB

  1. /*++
  2. Copyright (c) 1989-1993 Microsoft Corporation
  3. Module Name:
  4. globals.c
  5. Abstract:
  6. Author:
  7. Nikhil Kamkolkar (nikhilk) 11-November-1993
  8. Environment:
  9. Kernel mode
  10. Revision History:
  11. --*/
  12. #include "precomp.h"
  13. #pragma hdrstop
  14. // Global values
  15. PDEVICE SpxDevice = NULL;
  16. UNICODE_STRING IpxDeviceName = {0};
  17. HANDLE IpxHandle = NULL;
  18. LARGE_INTEGER Magic100000 = {
  19. 0x1b478424,
  20. 0xa7c5ac47
  21. };
  22. #define DEFAULT_MAXPACKETSIZE 1500
  23. // Line info
  24. IPX_LINE_INFO IpxLineInfo = {0, DEFAULT_MAXPACKETSIZE, 0 , 0 };
  25. USHORT IpxMacHdrNeeded = 0;
  26. USHORT IpxInclHdrOffset= 0;
  27. // Entry Points into the IPX stack
  28. IPX_INTERNAL_SEND IpxSendPacket = NULL;
  29. IPX_INTERNAL_FIND_ROUTE IpxFindRoute = NULL;
  30. IPX_INTERNAL_QUERY IpxQuery = NULL;
  31. IPX_INTERNAL_TRANSFER_DATA IpxTransferData = NULL;
  32. IPX_INTERNAL_PNP_COMPLETE IpxPnPComplete = NULL;
  33. #if DBG
  34. ULONG SpxDebugDump = 0;
  35. LONG SpxDumpInterval = DBG_DUMP_DEF_INTERVAL;
  36. ULONG SpxDebugLevel = DBG_LEVEL_ERR;
  37. ULONG SpxDebugSystems = DBG_COMP_MOST;
  38. #endif
  39. // Unload event triggered when ref count on device goes to zero.
  40. KEVENT SpxUnloadEvent = {0};
  41. // Maximum packet size quanta used during packet size negotiation
  42. ULONG SpxMaxPktSize[] = {
  43. 576 - MIN_IPXSPX2_HDRSIZE,
  44. 1024 - MIN_IPXSPX2_HDRSIZE,
  45. 1474 - MIN_IPXSPX2_HDRSIZE,
  46. 1492 - MIN_IPXSPX2_HDRSIZE,
  47. 1500 - MIN_IPXSPX2_HDRSIZE,
  48. 1954 - MIN_IPXSPX2_HDRSIZE,
  49. 4002 - MIN_IPXSPX2_HDRSIZE,
  50. 8192 - MIN_IPXSPX2_HDRSIZE,
  51. 17314 - MIN_IPXSPX2_HDRSIZE,
  52. 65535 - MIN_IPXSPX2_HDRSIZE
  53. };
  54. ULONG SpxMaxPktSizeIndex = sizeof(SpxMaxPktSize)/sizeof(ULONG);
  55. // Global interlock
  56. CTELock SpxGlobalInterlock = {0};
  57. // Another one, used only for global queues for addr/conn
  58. CTELock SpxGlobalQInterlock = {0};
  59. PSPX_CONN_FILE SpxGlobalConnList = NULL;
  60. PSPX_ADDR_FILE SpxGlobalAddrList = NULL;
  61. SPX_CONNFILE_LIST SpxPktConnList = {NULL, NULL};
  62. SPX_CONNFILE_LIST SpxRecvConnList = {NULL, NULL};
  63. // Timer globals
  64. LONG SpxTimerCurrentTime = 0;
  65.