ChimeraTK-DeviceAccess  03.18.00
pcieuni_io_compat.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Deutsches Elektronen-Synchrotron DESY, MSK, ChimeraTK Project <chimeratk-support@desy.de>
2 // SPDX-License-Identifier: LGPL-3.0-or-later
3 #pragma once
4 
5 // This is C code from the kernel driver. Turn off the C++ linter warnings
6 // NOLINTBEGIN
7 
8 #include <sys/types.h>
9 
13 static const loff_t PCIEUNI_BAR_OFFSETS[6] = {0LL, (1LL) << 60, (2LL) << 60, (3LL) << 60, (4LL) << 60, (5LL) << 60};
14 
17 typedef struct _pcieuni_ioctl_bar_sizes {
18  size_t barSizes[6];
19  size_t dmaAreaSize;
22 
23 /* Use 'U' like pcieUni as magic number */
24 #define PCIEUNI_IOC 'U'
25 /* relative to the new IOC we keep the same ioctls */
26 #define PCIEUNI_PHYSICAL_SLOT _IOWR(PCIEUNI_IOC, 60, int)
27 #define PCIEUNI_DRIVER_VERSION _IOWR(PCIEUNI_IOC, 61, int)
28 #define PCIEUNI_FIRMWARE_VERSION _IOWR(PCIEUNI_IOC, 62, int)
29 #define PCIEUNI_GET_DMA_TIME _IOWR(PCIEUNI_IOC, 70, int)
30 #define PCIEUNI_WRITE_DMA _IOWR(PCIEUNI_IOC, 71, int)
31 #define PCIEUNI_READ_DMA _IOWR(PCIEUNI_IOC, 72, int)
32 #define PCIEUNI_SET_IRQ _IOWR(PCIEUNI_IOC, 73, int)
33 #define PCIEUNI_IOC_MINNR 60
34 #define PCIEUNI_IOC_MAXNR 63
35 #define PCIEUNI_IOC_DMA_MINNR 70
36 #define PCIEUNI_IOC_DMA_MAXNR 74
37 
38 // NOLINTEND
_pcieuni_ioctl_bar_sizes::barSizes
size_t barSizes[6]
Definition: pcieuni_io_compat.h:18
_pcieuni_ioctl_bar_sizes::dmaAreaSize
size_t dmaAreaSize
Sizes of bar 0 to 5.
Definition: pcieuni_io_compat.h:19
pcieuni_ioctl_bar_sizes
struct _pcieuni_ioctl_bar_sizes pcieuni_ioctl_bar_sizes
Information about the bar sizes.
_pcieuni_ioctl_bar_sizes
Information about the bar sizes.
Definition: pcieuni_io_compat.h:17