📄 w32syscall.c
字号:
/* * w32syscall.c * * Copyright (C) 2006 Insigme Co., Ltd * * Authors: * - Decao Mao, Chenzhan Hu, Lixing Chu, Limin Jin, Liwei Zhou, Zhiqiang Jiao * * This software has been developed while working on the Linux Unified Kernel * project (http://linux.insigma.com.cn) in the Insigma Reaserch Institute, * which is a subdivision of Insigma Co., Ltd (http://www.insigma.com.cn). * * The project is sponsored by Insigma Co., Ltd. * * The authors can be reached at linux@insigma.com.cn. * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation; either version 2 of the License, or (at your * option) any later version. * * Revision History: * Jan 2006 - Created. */ /* * w32syscall.c: win32 syscall definition * It also includes the W32 syscall function table and other data structures * (from ReactOS) * Reference to ReactOS code */#include <linux/module.h>#include "w32syscall.h"#include "win32.h"#include "object.h"#include "objwait.h" #include "process.h"#include "thread.h"#include "file.h"#include "event.h"#include "mutex.h"#include "section.h"#include "semaphore.h"#include <linux/kernel.h>#ifdef CONFIG_UNIFIED_KERNEL/* 0 */NTSTATUS STDCALLNtAcceptConnectPort (PHANDLE ServerPortHandle, HANDLE NamedPortHandle, PPORT_MESSAGE LpcMessage, BOOLEAN AcceptIt, PPORT_VIEW WriteMap, PREMOTE_PORT_VIEW ReadMap){ return -ENOSYS;}NTSTATUS STDCALLNtAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN HANDLE TokenHandle, IN ACCESS_MASK DesiredAccess, IN PGENERIC_MAPPING GenericMapping, OUT PPRIVILEGE_SET PrivilegeSet, OUT PULONG ReturnLength, OUT PACCESS_MASK GrantedAccess, OUT PNTSTATUS AccessStatus){ return -ENOSYS;}NTSTATUS STDCALLNtAccessCheckAndAuditAlarm(IN PUNICODE_STRING SubsystemName, IN PVOID HandleId, IN PUNICODE_STRING ObjectTypeName, IN PUNICODE_STRING ObjectName, IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN ACCESS_MASK DesiredAccess, IN PGENERIC_MAPPING GenericMapping, IN BOOLEAN ObjectCreation, OUT PACCESS_MASK GrantedAccess, OUT PNTSTATUS AccessStatus, OUT PBOOLEAN GenerateOnClose){ return -ENOSYS;}NTSTATUS STDCALLNtAddAtom(IN PWSTR AtomName, IN ULONG AtomNameLength, OUT PRTL_ATOM Atom){ return -ENOSYS;}NTSTATUS STDCALLNtAddBootEntry(IN PUNICODE_STRING EntryName, IN PUNICODE_STRING EntryValue){ return -ENOSYS;}/* 5 */NTSTATUS STDCALLNtAdjustGroupsToken(IN HANDLE TokenHandle, IN BOOLEAN ResetToDefault, IN PTOKEN_GROUPS NewState, IN ULONG BufferLength, OUT PTOKEN_GROUPS PreviousState OPTIONAL, OUT PULONG ReturnLength){ return -ENOSYS;}NTSTATUS STDCALLNtAdjustPrivilegesToken (IN HANDLE TokenHandle, IN BOOLEAN DisableAllPrivileges, IN PTOKEN_PRIVILEGES NewState, IN ULONG BufferLength, OUT PTOKEN_PRIVILEGES PreviousState OPTIONAL, OUT PULONG ReturnLength OPTIONAL){ return -ENOSYS;}NTSTATUS STDCALLNtAlertResumeThread(IN HANDLE ThreadHandle, OUT PULONG SuspendCount){ return -ENOSYS;}NTSTATUS STDCALLNtAlertThread (IN HANDLE ThreadHandle){ return -ENOSYS;}NTSTATUS STDCALLNtAllocateLocallyUniqueId(OUT LUID *LocallyUniqueId){ return -ENOSYS;}/* 10 */NTSTATUS STDCALLNtAllocateUuids(OUT PULARGE_INTEGER Time, OUT PULONG Range, OUT PULONG Sequence, OUT PUCHAR Seed){ return -ENOSYS;}/*NTSTATUS STDCALLNtAllocateVirtualMemory(IN HANDLE ProcessHandle, IN OUT PVOID* UBaseAddress, IN ULONG ZeroBits, IN OUT PULONG URegionSize, IN ULONG AllocationType, IN ULONG Protect){ return -ENOSYS;}*/NTSTATUS STDCALLNtAssignProcessToJobObject(HANDLE JobHandle, HANDLE ProcessHandle){ return -ENOSYS;}NTSTATUS STDCALLNtCallbackReturn (PVOID Result, ULONG ResultLength, NTSTATUS Status){ return -ENOSYS;}NTSTATUS STDCALLNtCancelIoFile(IN HANDLE FileHandle, OUT PIO_STATUS_BLOCK IoStatusBlock){ return -ENOSYS;}/* 15 */NTSTATUS STDCALLNtCancelTimer(IN HANDLE TimerHandle, OUT PBOOLEAN CurrentState OPTIONAL){ return -ENOSYS;}NTSTATUS STDCALLNtClearEvent(IN HANDLE EventHandle){ return -ENOSYS;}/*NTSTATUS STDCALLNtClose(IN HANDLE Handle){ return -ENOSYS;}*/NTSTATUS STDCALLNtCloseObjectAuditAlarm(IN PUNICODE_STRING SubsystemName, IN PVOID HandleId, IN BOOLEAN GenerateOnClose){ return -ENOSYS;}NTSTATUS STDCALLNtCompleteConnectPort (HANDLE hServerSideCommPort){ return -ENOSYS;}/* 20 */NTSTATUS STDCALLNtConnectPort (PHANDLE UnsafeConnectedPortHandle, PUNICODE_STRING PortName, PSECURITY_QUALITY_OF_SERVICE Qos, PPORT_VIEW UnsafeWriteMap, PREMOTE_PORT_VIEW UnsafeReadMap, PULONG UnsafeMaximumMessageSize, PVOID UnsafeConnectData, PULONG UnsafeConnectDataLength){ return -ENOSYS;}/*NTSTATUS STDCALLNtContinue(IN Pcontext Context, IN BOOLEAN TestAlert){ return -ENOSYS;}*/NTSTATUS STDCALLNtCreateDirectoryObject (OUT PHANDLE DirectoryHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes){ return -ENOSYS;}/*NTSTATUS STDCALLNtCreateEvent(OUT PHANDLE EventHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN EVENT_TYPE EventType, IN BOOLEAN InitialState){ return -ENOSYS;}*/NTSTATUS STDCALLNtCreateEventPair(OUT PHANDLE EventPairHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes){ return -ENOSYS;}/* 25 *//*NTSTATUS STDCALLNtCreateFile(PHANDLE FileHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, PIO_STATUS_BLOCK IoStatusBlock, PLARGE_INTEGER AllocateSize, ULONG FileAttributes, ULONG ShareAccess, ULONG CreateDisposition, ULONG CreateOptions, PVOID EaBuffer, ULONG EaLength){ return -ENOSYS;}*/NTSTATUS STDCALLNtCreateIoCompletion(OUT PHANDLE IoCompletionHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN ULONG NumberOfConcurrentThreads){ return -ENOSYS;}NTSTATUS STDCALLNtCreateJobObject(PHANDLE JobHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes){ return -ENOSYS;}NTSTATUS STDCALLNtCreateKey(OUT PHANDLE KeyHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN ULONG TitleIndex, IN PUNICODE_STRING Class, IN ULONG CreateOptions, OUT PULONG Disposition){ return -ENOSYS;}NTSTATUS STDCALLNtCreateMailslotFile(OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK IoStatusBlock, IN ULONG CreateOptions, IN ULONG MailslotQuota, IN ULONG MaxMessageSize, IN PLARGE_INTEGER TimeOut){ return -ENOSYS;}/* 30 *//*NTSTATUS STDCALLNtCreateMutant(OUT PHANDLE MutantHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN BOOLEAN InitialOwner){ return -ENOSYS;}*/ NTSTATUS STDCALLNtCreateNamedPipeFile(PHANDLE FileHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, PIO_STATUS_BLOCK IoStatusBlock, ULONG ShareAccess, ULONG CreateDisposition, ULONG CreateOptions, ULONG NamedPipeType, ULONG ReadMode, ULONG CompletionMode, ULONG MaximumInstances, ULONG InboundQuota, ULONG OutboundQuota, PLARGE_INTEGER DefaultTimeout){ return -ENOSYS;}NTSTATUS STDCALLNtCreatePagingFile(IN PUNICODE_STRING FileName, IN PLARGE_INTEGER InitialSize, IN PLARGE_INTEGER MaximumSize, IN ULONG Reserved){ return -ENOSYS;}NTSTATUS STDCALLNtCreatePort (PHANDLE PortHandle, POBJECT_ATTRIBUTES ObjectAttributes, ULONG MaxConnectInfoLength, ULONG MaxDataLength, ULONG MaxPoolUsage){ return -ENOSYS;}/*NTSTATUS STDCALLNtCreateProcess(OUT PHANDLE ProcessHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ParentProcess, IN BOOLEAN InheritObjectTable, IN HANDLE SectionHandle OPTIONAL, IN HANDLE DebugPort OPTIONAL, IN HANDLE ExceptionPort OPTIONAL){ return -ENOSYS;}*//* 35 */NTSTATUS STDCALLNtCreateProfile(OUT PHANDLE ProfileHandle, IN HANDLE Process OPTIONAL, IN PVOID ImageBase, IN ULONG ImageSize, IN ULONG BucketSize, IN PVOID Buffer, IN ULONG BufferSize, IN KPROFILE_SOURCE ProfileSource, IN KAFFINITY Affinity){ return -ENOSYS;}/*NTSTATUS STDCALLNtCreateSection (OUT PHANDLE SectionHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize OPTIONAL, IN ULONG SectionPageProtection OPTIONAL, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL){ return -ENOSYS;}*//*NTSTATUSSTDCALLNtCreateSemaphore(OUT PHANDLE SemaphoreHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN LONG InitialCount, IN LONG MaximumCount){ return -ENOSYS;}*/NTSTATUS STDCALLNtCreateSymbolicLinkObject(OUT PHANDLE LinkHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN PUNICODE_STRING LinkTarget){ return -ENOSYS;}/*NTSTATUS STDCALLNtCreateThread(OUT PHANDLE ThreadHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN HANDLE ProcessHandle, OUT PCLIENT_ID ClientId, IN PCONTEXT ThreadContext, IN PINITIAL_TEB InitialTeb, IN BOOLEAN CreateSuspended){ return -ENOSYS;}*//* 40 */NTSTATUS STDCALLNtCreateTimer(OUT PHANDLE TimerHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN TIMER_TYPE TimerType){ return -ENOSYS;}NTSTATUS STDCALLNtCreateToken(OUT PHANDLE TokenHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, IN TOKEN_TYPE TokenType, IN PLUID AuthenticationId, IN PLARGE_INTEGER ExpirationTime, IN PTOKEN_USER TokenUser, IN PTOKEN_GROUPS TokenGroups, IN PTOKEN_PRIVILEGES TokenPrivileges, IN PTOKEN_OWNER TokenOwner, IN PTOKEN_PRIMARY_GROUP TokenPrimaryGroup, IN PTOKEN_DEFAULT_DACL TokenDefaultDacl, IN PTOKEN_SOURCE TokenSource){ return -ENOSYS;}NTSTATUS STDCALLNtCreateWaitablePort (OUT PHANDLE PortHandle, IN POBJECT_ATTRIBUTES ObjectAttributes, IN ULONG MaxConnectInfoLength, IN ULONG MaxDataLength, IN ULONG MaxPoolUsage){ return -ENOSYS;}NTSTATUS STDCALLNtDelayExecution(IN BOOLEAN Alertable, IN PLARGE_INTEGER DelayInterval){ return -ENOSYS;}NTSTATUS STDCALLNtDeleteAtom(IN RTL_ATOM Atom){ return -ENOSYS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -