diff options
Diffstat (limited to 'private/ntos/nbt/tools/h2inc.sed')
-rw-r--r-- | private/ntos/nbt/tools/h2inc.sed | 63 |
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/^/;/ |