⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 w32syscall.c

📁 该项目主要是将wingdows程序直接运行在linux上
💻 C
📖 第 1 页 / 共 5 页
字号:
/* * 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 + -