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.

91 lines
1.4 KiB

  1. /*++
  2. Copyright (c) 1990-2003 Microsoft Corporation
  3. All rights reserved
  4. Module Name:
  5. MsNull.c
  6. Abstract:
  7. Implements lanman's msnull type parsing for FFs.
  8. Author:
  9. Environment:
  10. User Mode -Win32
  11. Revision History:
  12. --*/
  13. enum ParserAction
  14. {
  15. prdg_ActNull,
  16. prdg_ActDelimited,
  17. prdg_ActConstIgnore,
  18. prdg_ActCountIgnore,
  19. prdg_ActFF,
  20. prdg_ActReset
  21. };
  22. enum FFstateType
  23. {
  24. prdg_FFtext,
  25. prdg_FFx0c,
  26. prdg_FFx1b6f,
  27. prdg_FFx1b45
  28. };
  29. enum ParserStateType
  30. {
  31. prdg_Text,
  32. prdg_ESC_match,
  33. prdg_ESC_n_ignore,
  34. prdg_ESC_d_ignore,
  35. prdg_ESC_read_lo_count,
  36. prdg_ESC_read_hi_count
  37. };
  38. typedef struct dci
  39. {
  40. enum ParserStateType ParserState;
  41. UINT ParserCount;
  42. struct EscapeSequence *ParserSequence;
  43. CHAR *ParserString;
  44. CHAR ParserDelimiter;
  45. enum FFstateType FFstate;
  46. UINT uType;
  47. } DCI;
  48. typedef DCI far *lpDCI;
  49. struct EscapeSequence
  50. {
  51. CHAR *ESCString;
  52. enum ParserAction ESCAction;
  53. UINT ESCValue;
  54. };
  55. #define MaxEscapeStrings (sizeof(EscapeStrings)/sizeof(struct EscapeSequence))
  56. BOOL
  57. CheckFormFeed(
  58. lpDCI pDCIData);
  59. VOID
  60. CheckFormFeedStream(
  61. lpDCI pDCIData,
  62. UCHAR inch);