f-stack/dpdk/lib/librte_eal/windows/include/rte_virt2phys.h

35 lines
973 B
C

/* SPDX-License-Identifier: BSD-3-Clause
* Copyright (c) 2020 Dmitry Kozlyuk
*/
/**
* @file virt2phys driver interface
*/
/**
* Driver device interface GUID {539c2135-793a-4926-afec-d3a1b61bbc8a}.
*/
DEFINE_GUID(GUID_DEVINTERFACE_VIRT2PHYS,
0x539c2135, 0x793a, 0x4926,
0xaf, 0xec, 0xd3, 0xa1, 0xb6, 0x1b, 0xbc, 0x8a);
/**
* Driver device type for IO control codes.
*/
#define VIRT2PHYS_DEVTYPE 0x8000
/**
* Translate a valid non-paged virtual address to a physical address.
*
* Note: A physical address zero (0) is reported if input address
* is paged out or not mapped. However, if input is a valid mapping
* of I/O port 0x0000, output is also zero. There is no way
* to distinguish between these cases by return value only.
*
* Input: a non-paged virtual address (PVOID).
*
* Output: the corresponding physical address (LARGE_INTEGER).
*/
#define IOCTL_VIRT2PHYS_TRANSLATE CTL_CODE( \
VIRT2PHYS_DEVTYPE, 0x800, METHOD_BUFFERED, FILE_ANY_ACCESS)