Commit ddd647ac authored by Aleksey R.'s avatar Aleksey R.

split tables

parent 3b3dbe20
......@@ -22,6 +22,10 @@ Required access masks (ACCESS_MASK) for system calls: [NtQueryInformationFile](#
| FilePipeLocalInformation(=24) | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FilePipeLocalInformation(=24) |
| FilePipeRemoteInformation(=25) | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FilePipeRemoteInformation(=25) |
| FileMailslotQueryInformation(=26) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileMailslotQueryInformation(=26) |
| | 5.1.2600.0 | 5.2.3790.1830 | 5.2.3790.3959 | 6.0.6000.16386 | 6.0.6002.18005 | 6.1.7600.16385 | 6.1.7601.17514 | 6.2.9200.16384 | 6.3.9600.16384 | 10.0.10240.16515 | 10.0.10586.0 | 10.0.14393.0 | 10.0.15063.0 | 10.0.16299.15 | |
| | 5.1.2600.0 | 5.2.3790.1830 | 5.2.3790.3959 | 6.0.6000.16386 | 6.0.6002.18005 | 6.1.7600.16385 | 6.1.7601.17514 | 6.2.9200.16384 | 6.3.9600.16384 | 10.0.10240.16515 | 10.0.10586.0 | 10.0.14393.0 | 10.0.15063.0 | 10.0.16299.15 | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| FileCompressionInformation(=28) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileCompressionInformation(=28) |
| FileObjectIdInformation(=29) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileObjectIdInformation(=29) |
| FileQuotaInformation(=32) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileQuotaInformation(=32) |
......@@ -38,6 +42,10 @@ Required access masks (ACCESS_MASK) for system calls: [NtQueryInformationFile](#
| FileNetworkPhysicalNameInformation(=49) | | | | ![A](plus_green.png) 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileNetworkPhysicalNameInformation(=49) |
| FileIsRemoteDeviceInformation(=51) | | | | | | ![A](plus_green.png) FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FileIsRemoteDeviceInformation(=51) |
| FileUnusedInformation/FileAttributeCacheInformation(=52) | | | | | | ![A](plus_green.png) FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | ![X](deny_rd_cr.png) | ![X](deny_rd_cr.png) | ![X](deny_rd_cr.png) | ![X](deny_rd_cr.png) | ![X](deny_rd_cr.png) | ![X](deny_rd_cr.png) | FileUnusedInformation/FileAttributeCacheInformation(=52) |
| | 5.1.2600.0 | 5.2.3790.1830 | 5.2.3790.3959 | 6.0.6000.16386 | 6.0.6002.18005 | 6.1.7600.16385 | 6.1.7601.17514 | 6.2.9200.16384 | 6.3.9600.16384 | 10.0.10240.16515 | 10.0.10586.0 | 10.0.14393.0 | 10.0.15063.0 | 10.0.16299.15 | |
| | 5.1.2600.0 | 5.2.3790.1830 | 5.2.3790.3959 | 6.0.6000.16386 | 6.0.6002.18005 | 6.1.7600.16385 | 6.1.7601.17514 | 6.2.9200.16384 | 6.3.9600.16384 | 10.0.10240.16515 | 10.0.10586.0 | 10.0.14393.0 | 10.0.15063.0 | 10.0.16299.15 | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| FileNumaNodeInformation(=53) | | | | | | ![A](plus_green.png) 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileNumaNodeInformation(=53) |
| FileStandardLinkInformation(=54) | | | | | | ![A](plus_green.png) 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileStandardLinkInformation(=54) |
| FileRemoteProtocolInformation(=55) | | | | | | ![A](plus_green.png) 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileRemoteProtocolInformation(=55) |
......@@ -68,6 +76,10 @@ Required access masks (ACCESS_MASK) for system calls: [NtQueryInformationFile](#
| FileMoveClusterInformation(=31) | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FileMoveClusterInformation(=31) |
| FileQuotaInformation(=32) | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileQuotaInformation(=32) |
| FileTrackingInformation(=36) | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FileTrackingInformation(=36) |
| | 5.1.2600.0 | 5.2.3790.1830 | 5.2.3790.3959 | 6.0.6000.16386 | 6.0.6002.18005 | 6.1.7600.16385 | 6.1.7601.17514 | 6.2.9200.16384 | 6.3.9600.16384 | 10.0.10240.16515 | 10.0.10586.0 | 10.0.14393.0 | 10.0.15063.0 | 10.0.16299.15 | |
| | 5.1.2600.0 | 5.2.3790.1830 | 5.2.3790.3959 | 6.0.6000.16386 | 6.0.6002.18005 | 6.1.7600.16385 | 6.1.7601.17514 | 6.2.9200.16384 | 6.3.9600.16384 | 10.0.10240.16515 | 10.0.10586.0 | 10.0.14393.0 | 10.0.15063.0 | 10.0.16299.15 | |
| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |
| FileValidDataLengthInformation(=39) | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FILE_WRITE_DATA | FileValidDataLengthInformation(=39) |
| FileShortNameInformation(=40) | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | DELETE | FileShortNameInformation(=40) |
| FileIoCompletionNotificationInformation(=41) | | | ![A](plus_green.png) FILE_WRITE_ATTRIBUTES | ![C](arrow_circle_double.png) FILE_READ_ATTRIBUTES | FILE_READ_ATTRIBUTES | ![C](arrow_circle_double.png) 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | FileIoCompletionNotificationInformation(=41) |
......
......@@ -91,16 +91,24 @@ class Masks:
self.version = nt.getVersion()
def print_table(f, collected, function_name, enum_name):
# Headers
versions = [".".join(["{}".format(n) for n in x.version]) for x in collected]
f.write( "| | {} | |\n".format(" | ".join(versions)) )
f.write( "| {} |\n".format(" | ".join(["---" for i in range(len(versions) + 2)])) )
values = list()
for x in collected:
values += [ i for i in x.values[function_name] ]
line = 0
for i in sorted( set(values) ):
if (line % 16) == 0:
if line:
f.write( "| | {} | |\n".format(" | ".join(versions)) )
f.write( "\n".format(" | ".join(versions)) )
f.write( "| | {} | |\n".format(" | ".join(versions)) )
f.write( "| {} |\n".format(" | ".join(["---" for x in range(len(versions) + 2)])) )
line += 1
names = set([ x.enums[enum_name][i] for x in collected if i in x.enums[enum_name] ])
f.write( "| {}(={}) |".format("/".join(names), i) )
......@@ -158,22 +166,18 @@ def main():
f.write( "\n" )
f.write( "# NtQueryInformationFile\n" )
f.write( "\n" )
print_table( f, collected, "NtQueryInformationFile", "FILE_INFORMATION_CLASS" )
f.write( "\n" )
f.write( "# NtSetInformationFile\n" )
f.write( "\n" )
print_table( f, collected, "NtSetInformationFile", "FILE_INFORMATION_CLASS" )
f.write( "\n" )
f.write( "# NtQueryVolumeInformationFile\n" )
f.write( "\n" )
print_table( f, collected, "NtQueryVolumeInformationFile", "FSINFOCLASS" )
f.write( "\n" )
f.write( "# NtSetVolumeInformationFile\n" )
f.write( "\n" )
print_table( f, collected, "NtSetVolumeInformationFile", "FSINFOCLASS" )
f.write( "\n" )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment