| $$ ********************************************************** |
| $$ Copyright (c) 2006 VMware, Inc. All rights reserved. |
| $$ ********************************************************** |
| |
| $$ Redistribution and use in source and binary forms, with or without |
| $$ modification, are permitted provided that the following conditions are met: |
| $$ |
| $$ * Redistributions of source code must retain the above copyright notice, |
| $$ this list of conditions and the following disclaimer. |
| $$ |
| $$ * Redistributions in binary form must reproduce the above copyright notice, |
| $$ this list of conditions and the following disclaimer in the documentation |
| $$ and/or other materials provided with the distribution. |
| $$ |
| $$ * Neither the name of VMware, Inc. nor the names of its contributors may be |
| $$ used to endorse or promote products derived from this software without |
| $$ specific prior written permission. |
| $$ |
| $$ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" |
| $$ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
| $$ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
| $$ ARE DISCLAIMED. IN NO EVENT SHALL VMWARE, INC. OR CONTRIBUTORS BE LIABLE |
| $$ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
| $$ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR |
| $$ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
| $$ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
| $$ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
| $$ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH |
| $$ DAMAGE. |
| |
| $$ usage: set $t0 to a bitmask of access privileges |
| $$ values are from winnt.h and http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/thread_security_and_access_rights.asp |
| |
| ? @$t0 |
| .if ((@$t0 & 0x0001)==0x0001) {.echo "THREAD_TERMINATE";}; |
| .if ((@$t0 & 0x0002)==0x0002) {.echo "THREAD_SUSPEND_RESUME";}; |
| .if ((@$t0 & 0x0008)==0x0008) {.echo "THREAD_GET_CONTEXT";}; |
| .if ((@$t0 & 0x0010)==0x0010) {.echo "THREAD_SET_CONTEXT";}; |
| .if ((@$t0 & 0x0020)==0x0020) {.echo "THREAD_SET_INFORMATION";}; |
| .if ((@$t0 & 0x0040)==0x0040) {.echo "THREAD_QUERY_INFORMATION";}; |
| .if ((@$t0 & 0x0080)==0x0080) {.echo "THREAD_SET_THREAD_TOKEN";}; |
| .if ((@$t0 & 0x0100)==0x0100) {.echo "THREAD_IMPERSONATE";}; |
| .if ((@$t0 & 0x0200)==0x0200) {.echo "THREAD_DIRECT_IMPERSONATION";}; |
| .if ((@$t0 & 0x0400)==0x0400) {.echo "THREAD_SET_LIMITED_INFORMATION";}; |
| .if ((@$t0 & 0x0800)==0x0800) {.echo "THREAD_QUERY_LIMITED_INFORMATION";}; |
| .if ((@$t0 & 0x1f03ff)==0x1f03ff) {.echo "(==THREAD_ALL_ACCESS)";}; |
| .if ((@$t0 & 0x00010000)==0x00010000) {.echo "DELETE";}; |
| .if ((@$t0 & 0x00020000)==0x00020000) {.echo "READ_CONTROL";}; |
| .if ((@$t0 & 0x00040000)==0x00040000) {.echo "WRITE_DAC";}; |
| .if ((@$t0 & 0x00080000)==0x00080000) {.echo "WRITE_OWNER";}; |
| .if ((@$t0 & 0x00100000)==0x00100000) {.echo "SYNCHRONIZE";}; |