summaryrefslogtreecommitdiffstats
path: root/private/ntos/nbt/tools/h2inc.sed
diff options
context:
space:
mode:
Diffstat (limited to 'private/ntos/nbt/tools/h2inc.sed')
-rw-r--r--private/ntos/nbt/tools/h2inc.sed63
1 files changed, 63 insertions, 0 deletions
diff --git a/private/ntos/nbt/tools/h2inc.sed b/private/ntos/nbt/tools/h2inc.sed
new file mode 100644
index 000000000..7f82d7966
--- /dev/null
+++ b/private/ntos/nbt/tools/h2inc.sed
@@ -0,0 +1,63 @@
+/^\/\*NOINC\*\//,/^\/\*INC\*\// s'^[/*]*';'
+/^union[ ]/,/^}/s/^/;/
+/^struct[ ]/,/^};/ {
+ s/^struct[ ]\(.*\)[ ]*{/\1 struc/
+ s/^};[ ]*\/\* \(.*\) \*\//\1 ends/
+ s/^[ ]*[^ /][^ ]*[ ]*(\*[ ]*\([^\[;]*\))([ ]*\([^\[;]*\))/ \1 dd ?/
+ s/^[ ]*[^ /][^ ]*[ ]*(\*[ ]*\([^\[;]*\))([ ]*\([^\[;]*\))/ \1 dd ?/
+ s/struct[ ][ ]*[^ ]*[ ]*FAR[ ]*\*[ ]*FAR[ ]*\*[ ]*\(.*\);/ \1 dd ?/
+ s/struct[ ][ ]*[^ ]*[ ]*FAR[ ]*\*[ ]*\(.*\);/ \1 dd ?/
+ s/struct[ ][ ]*[^ ]*[ ]*far[ ]*\*[ ]*far[ ]*\*[ ]*\(.*\);/ \1 dd ?/
+ s/struct[ ][ ]*[^ ]*[ ]*far[ ]*\*[ ]*\(.*\);/ \1 dd ?/
+ s/struct[ ][ ]*[^ ]*[ ]*\*[ ]*\(.*\);/ \1 dd ?/
+ s/struct[ ]*\([^ ]*\)[ ]*\([^ ]*\);/\2 db (size \1) dup (?)/
+ s/^[ ]*unsigned[ ][^ ][^ ]*[ ]*FAR[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
+ s/^[ ]*unsigned[ ][^ ][^ ]*[ ]*far[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
+ s/^[ ]*[^ /][^ ]*[ ]*_*FAR[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
+ s/^[ ]*[^ /][^ ]*[ ]*_*far[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
+ s/^[ ]*[^ /][^ ]*[ ]*\*[ ]*\([^\[;]*\)/ \1 dd ?/
+ s/unsigned[ ]*char[ ]*\([^\[;]*\)/\1 db ?/
+ s/unsigned[ ]*int[ ]*\([^\[;]*\)/ \1 dd ?/
+ s/unsigned[ ]*short[ ]*\([^\[;]*\)/\1 dw ?/
+ s/unsigned[ ]*long[ ]*\([^\[;]*\)/\1 dd ?/
+ s/IPAddr[ ]*\([^\[;]*\)/\1 dd ?/
+ s/IPMask[ ]*\([^\[;]*\)/\1 dd ?/
+ s/NDIS_STRING[ ]*\([^\[;]*\)/\1 dd 2 dup (?)/
+ s/^[ ]\(.*_t\)[ ][ ]*\([^\[;]*\)/% \2 \1 ?/
+ s/CTETimeOutRtn[ ]*\([^\[;]*\)/\1 dd ?/
+ s/CTEEventRtn[ ]*\([^\[;]*\)/\1 dd ?/
+ s/u*char[ ][ ]*\([^\[;]*\)/\1 db ?/
+ s/u*short[ ][ ]*\([^\[;]*\)/\1 dw ?/
+ s/^\([ ]*\)u*int[ ]*\([^\[;]*\)/ \1\2 dd ?/
+ s/^\([ ]*\)u*long[ ]*\([^\[;]*\)/\1\2 dd ?/
+ s/unsigned[ ]*\([^\[;]*\)/\1 dw ?/
+ s/?\[\(.*\)\];/\1 dup (?)/
+ s/\[\(.*\)\] db (size/ db (\1*size/
+ s/\[\(.*\)\] \(d[bwd]\) ?/ \2 \1 dup (?)/
+ s/\[\(.*\)\] \(\$[PIF]\) ?/ \2 \1 dup (?)/
+ s/?;/?/
+}
+/^#define/ {
+s/sizeof *(struct *\([^)]*\))/size \1/g
+s/sizeof /size /
+s/^#define[ ]*\([^ ]*[ ]*\)[ ]0x\([0123456789abcdefABCDEF]*\)/\1 equ 0\2h/
+s/^#define[ ][ ]*\([^ ]*\)[ ][ ]*\([^ ]*\)/\1 equ \2/
+s/>>/SHR/g
+s/|/OR/g
+}
+
+/^#include/s/^#include *"\([^ ]*\)\.h"$/include \1\.inc/
+/^\([ ]*\)[\/ ]\*\/*/s//\1;/
+/\/\/\(.*\)/s//;\1/
+/\/\* \(.*\)/s//; \1/
+/ *\*\/ *$/s///
+/volatile/s/volatile//
+/^typedef/s/^/;/
+/^#if/s/#//
+/^#else/s/#//
+/^#endif/s/#//
+/^extern API_FUNCTION/,/)[ ]*;[ ]*$/s/^/;/
+/extern[ ]/s/^/;/
+/int _cdecl/,/);$/s/^/;/
+/void _cdecl/,/);$/s/^/;/
+/^API_FUNCTION/,/);$/s/^/;/