libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
NtCreateNamedPipeFile.hh
Go to the documentation of this file.
1/*
2 * Copyright 2021 Assured Information Security, Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17/* This file is automatically generated. Do not edit. */
18#pragma once
19
20#include "NtSystemCall.hh"
22
29
30#include <memory>
31
32namespace introvirt {
33namespace windows {
34namespace nt {
35
40 public:
41 /* Direct parameter getters */
42
54 virtual FILE_ACCESS_MASK DesiredAccess() const = 0;
66 virtual guest_ptr<void> IoStatusBlockPtr() const = 0;
72 virtual FILE_SHARE_ACCESS ShareAccess() const = 0;
84 virtual FileCreateOptions CreateOptions() const = 0;
90 virtual bool WriteModeMessage() const = 0;
96 virtual bool ReadModeMessage() const = 0;
102 virtual bool NonBlocking() const = 0;
108 virtual uint32_t MaxInstances() const = 0;
114 virtual uint32_t InBufferSize() const = 0;
120 virtual uint32_t OutBufferSize() const = 0;
127
128 /* Direct parameter setters */
129
135 virtual void NamedPipeFileHandlePtr(const guest_ptr<void>& pNamedPipeFileHandle) = 0;
147 virtual void ObjectAttributesPtr(const guest_ptr<void>& pObjectAttributes) = 0;
153 virtual void IoStatusBlockPtr(const guest_ptr<void>& pIoStatusBlock) = 0;
177 virtual void WriteModeMessage(bool WriteModeMessage) = 0;
183 virtual void ReadModeMessage(bool ReadModeMessage) = 0;
189 virtual void NonBlocking(bool NonBlocking) = 0;
195 virtual void MaxInstances(uint32_t MaxInstances) = 0;
201 virtual void InBufferSize(uint32_t InBufferSize) = 0;
207 virtual void OutBufferSize(uint32_t OutBufferSize) = 0;
213 virtual void DefaultTimeOutPtr(const guest_ptr<void>& pDefaultTimeOut) = 0;
214
215 /* Helper methods */
216 virtual uint64_t NamedPipeFileHandle() const = 0;
217 virtual void NamedPipeFileHandle(uint64_t NamedPipeFileHandle) = 0;
218 virtual const OBJECT_ATTRIBUTES* ObjectAttributes() const = 0;
220 virtual const IO_STATUS_BLOCK* IoStatusBlock() const = 0;
222 virtual int64_t DefaultTimeOut() const = 0;
223 virtual void DefaultTimeOut(int64_t DefaultTimeOut) = 0;
227 virtual IO_STATUS_RESULT IoStatusResult() const = 0;
228
233
234 /*
235 * System call injection support. You probably want to use
236 * inject::system_call<NtCreateNamedPipeFile>.
237 */
239 const guest_ptr<void>& pObjectAttributes,
240 const guest_ptr<void>& pIoStatusBlock, FILE_SHARE_ACCESS ShareAccess,
243 uint32_t MaxInstances, uint32_t InBufferSize, uint32_t OutBufferSize,
244 const int64_t& DefaultTimeOut);
245};
246
247} /* namespace nt */
248} /* namespace windows */
249} /* namespace introvirt */
Definition guest_ptr.hh:88
ACCESS_MASK class for file permissions.
Definition FILE_ACCESS_MASK.hh:99
Definition FILE_SHARE_ACCESS.hh:31
Definition FileCreateOptions.hh:51
Definition IO_STATUS_BLOCK.hh:31
Status codes returned by Windows NT system calls.
Definition NTSTATUS.hh:34
Handler class for the NtCreateNamedPipeFile system call.
Definition NtCreateNamedPipeFile.hh:39
virtual uint32_t OutBufferSize() const =0
Getter for OutBufferSize.
virtual uint32_t InBufferSize() const =0
Getter for InBufferSize.
virtual FileCreateOptions CreateOptions() const =0
Getter for CreateOptions.
virtual void DesiredAccess(FILE_ACCESS_MASK DesiredAccess)=0
Setter for DesiredAccess.
virtual guest_ptr< void > NamedPipeFileHandlePtr() const =0
Getter for NamedPipeFileHandlePtr.
virtual void WriteModeMessage(bool WriteModeMessage)=0
Setter for WriteModeMessage.
virtual CreateFileDisposition CreateDisposition() const =0
Getter for CreateDisposition.
virtual void ReadModeMessage(bool ReadModeMessage)=0
Setter for ReadModeMessage.
virtual void CreateDisposition(CreateFileDisposition CreateDisposition)=0
Setter for CreateDisposition.
virtual const OBJECT_ATTRIBUTES * ObjectAttributes() const =0
virtual void OutBufferSize(uint32_t OutBufferSize)=0
Setter for OutBufferSize.
virtual void CreateOptions(FileCreateOptions CreateOptions)=0
Setter for CreateOptions.
virtual FILE_ACCESS_MASK DesiredAccess() const =0
Getter for DesiredAccess.
virtual void IoStatusBlockPtr(const guest_ptr< void > &pIoStatusBlock)=0
Setter for IoStatusBlockPtr.
virtual void IoStatusResult(IO_STATUS_RESULT IoStatusResult)=0
Sets the IoStatusResult field in the IoStatusBlock.
virtual void NonBlocking(bool NonBlocking)=0
Setter for NonBlocking.
virtual void DefaultTimeOut(int64_t DefaultTimeOut)=0
virtual int64_t DefaultTimeOut() const =0
virtual uint64_t NamedPipeFileHandle() const =0
virtual void DefaultTimeOutPtr(const guest_ptr< void > &pDefaultTimeOut)=0
Setter for DefaultTimeOutPtr.
virtual void InBufferSize(uint32_t InBufferSize)=0
Setter for InBufferSize.
virtual void ShareAccess(FILE_SHARE_ACCESS ShareAccess)=0
Setter for ShareAccess.
static NTSTATUS inject(uint64_t &NamedPipeFileHandle, FILE_ACCESS_MASK DesiredAccess, const guest_ptr< void > &pObjectAttributes, const guest_ptr< void > &pIoStatusBlock, FILE_SHARE_ACCESS ShareAccess, CreateFileDisposition CreateDisposition, FileCreateOptions CreateOptions, bool WriteModeMessage, bool ReadModeMessage, bool NonBlocking, uint32_t MaxInstances, uint32_t InBufferSize, uint32_t OutBufferSize, const int64_t &DefaultTimeOut)
virtual guest_ptr< void > DefaultTimeOutPtr() const =0
Getter for DefaultTimeOutPtr.
virtual FILE_SHARE_ACCESS ShareAccess() const =0
Getter for ShareAccess.
virtual IO_STATUS_BLOCK * IoStatusBlock()=0
virtual bool WriteModeMessage() const =0
Getter for WriteModeMessage.
virtual guest_ptr< void > ObjectAttributesPtr() const =0
Getter for ObjectAttributesPtr.
virtual void NamedPipeFileHandle(uint64_t NamedPipeFileHandle)=0
virtual uint32_t MaxInstances() const =0
Getter for MaxInstances.
virtual bool NonBlocking() const =0
Getter for NonBlocking.
virtual const IO_STATUS_BLOCK * IoStatusBlock() const =0
virtual guest_ptr< void > IoStatusBlockPtr() const =0
Getter for IoStatusBlockPtr.
virtual IO_STATUS_RESULT IoStatusResult() const =0
virtual bool ReadModeMessage() const =0
Getter for ReadModeMessage.
virtual OBJECT_ATTRIBUTES * ObjectAttributes()=0
virtual void MaxInstances(uint32_t MaxInstances)=0
Setter for MaxInstances.
virtual void ObjectAttributesPtr(const guest_ptr< void > &pObjectAttributes)=0
Setter for ObjectAttributesPtr.
virtual void NamedPipeFileHandlePtr(const guest_ptr< void > &pNamedPipeFileHandle)=0
Setter for NamedPipeFileHandlePtr.
Base type for NT system calls.
Definition NtSystemCall.hh:29
Definition OBJECT_ATTRIBUTES.hh:38
IO_STATUS_RESULT
Definition IO_STATUS_RESULT.hh:24
CreateFileDisposition
Definition CreateFileDisposition.hh:24
Core IntroVirt classes.
Definition Cr0.hh:20