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.

63 lines
2.4 KiB

4 years ago
  1. /^\/\*NOINC\*\//,/^\/\*INC\*\// s'^[/*]*';'
  2. /^union[ ]/,/^}/s/^/;/
  3. /^struct[ ]/,/^};/ {
  4. s/^struct[ ]\(.*\)[ ]*{/\1 struc/
  5. s/^};[ ]*\/\* \(.*\) \*\//\1 ends/
  6. s/^[ ]*[^ /][^ ]*[ ]*(\*[ ]*\([^\[;]*\))([ ]*\([^\[;]*\))/ \1 dd ?/
  7. s/^[ ]*[^ /][^ ]*[ ]*(\*[ ]*\([^\[;]*\))([ ]*\([^\[;]*\))/ \1 dd ?/
  8. s/struct[ ][ ]*[^ ]*[ ]*FAR[ ]*\*[ ]*FAR[ ]*\*[ ]*\(.*\);/ \1 dd ?/
  9. s/struct[ ][ ]*[^ ]*[ ]*FAR[ ]*\*[ ]*\(.*\);/ \1 dd ?/
  10. s/struct[ ][ ]*[^ ]*[ ]*far[ ]*\*[ ]*far[ ]*\*[ ]*\(.*\);/ \1 dd ?/
  11. s/struct[ ][ ]*[^ ]*[ ]*far[ ]*\*[ ]*\(.*\);/ \1 dd ?/
  12. s/struct[ ][ ]*[^ ]*[ ]*\*[ ]*\(.*\);/ \1 dd ?/
  13. s/struct[ ]*\([^ ]*\)[ ]*\([^ ]*\);/\2 db (size \1) dup (?)/
  14. s/^[ ]*unsigned[ ][^ ][^ ]*[ ]*FAR[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
  15. s/^[ ]*unsigned[ ][^ ][^ ]*[ ]*far[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
  16. s/^[ ]*[^ /][^ ]*[ ]*_*FAR[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
  17. s/^[ ]*[^ /][^ ]*[ ]*_*far[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
  18. s/^[ ]*[^ /][^ ]*[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
  19. s/unsigned[ ]*char[ ]*\([^\[;]*\)/\1 db ?/
  20. s/unsigned[ ]*int[ ]*\([^\[;]*\)/ \1 dd ?/
  21. s/unsigned[ ]*short[ ]*\([^\[;]*\)/\1 dw ?/
  22. s/unsigned[ ]*long[ ]*\([^\[;]*\)/\1 dd ?/
  23. s/IPAddr[ ]*\([^\[;]*\)/\1 dd ?/
  24. s/IPMask[ ]*\([^\[;]*\)/\1 dd ?/
  25. s/NDIS_STRING[ ]*\([^\[;]*\)/\1 dd 2 dup (?)/
  26. s/^[ ]\(.*_t\)[ ][ ]*\([^\[;]*\)/% \2 \1 ?/
  27. s/CTETimeOutRtn[ ]*\([^\[;]*\)/\1 dd ?/
  28. s/CTEEventRtn[ ]*\([^\[;]*\)/\1 dd ?/
  29. s/u*char[ ][ ]*\([^\[;]*\)/\1 db ?/
  30. s/u*short[ ][ ]*\([^\[;]*\)/\1 dw ?/
  31. s/^\([ ]*\)u*int[ ]*\([^\[;]*\)/ \1\2 dd ?/
  32. s/^\([ ]*\)u*long[ ]*\([^\[;]*\)/\1\2 dd ?/
  33. s/unsigned[ ]*\([^\[;]*\)/\1 dw ?/
  34. s/?\[\(.*\)\];/\1 dup (?)/
  35. s/\[\(.*\)\] db (size/ db (\1*size/
  36. s/\[\(.*\)\] \(d[bwd]\) ?/ \2 \1 dup (?)/
  37. s/\[\(.*\)\] \(\$[PIF]\) ?/ \2 \1 dup (?)/
  38. s/?;/?/
  39. }
  40. /^#define/ {
  41. s/sizeof *(struct *\([^)]*\))/size \1/g
  42. s/sizeof /size /
  43. s/^#define[ ]*\([^ ]*[ ]*\)[ ]0x\([0123456789abcdefABCDEF]*\)/\1 equ 0\2h/
  44. s/^#define[ ][ ]*\([^ ]*\)[ ][ ]*\([^ ]*\)/\1 equ \2/
  45. s/>>/SHR/g
  46. s/|/OR/g
  47. }
  48. /^#include/s/^#include *"\([^ ]*\)\.h"$/include \1\.inc/
  49. /^\([ ]*\)[\/ ]\*\/*/s//\1;/
  50. /\/\/\(.*\)/s//;\1/
  51. /\/\* \(.*\)/s//; \1/
  52. / *\*\/ *$/s///
  53. /volatile/s/volatile//
  54. /^typedef/s/^/;/
  55. /^#if/s/#//
  56. /^#else/s/#//
  57. /^#endif/s/#//
  58. /^extern API_FUNCTION/,/)[ ]*;[ ]*$/s/^/;/
  59. /extern[ ]/s/^/;/
  60. /int _cdecl/,/);$/s/^/;/
  61. /void _cdecl/,/);$/s/^/;/
  62. /^API_FUNCTION/,/);$/s/^/;/