![]() |
![]() |
This file contains the type definitions and helper macros for the Enet IOCTL interface. More...
#include <stdint.h>
#include <stdbool.h>
Data Structures | |
struct | Enet_IoctlPrms_s |
Enet IOCTL param. More... | |
Macros | |
#define | ENET_IOCTL_TYPE_OFFSET (24U) |
IOCTL type bit offset. | |
#define | ENET_IOCTL_PER_OFFSET (16U) |
IOCTL hardware peripheral bit offset. | |
#define | ENET_IOCTL_MAJOR_OFFSET (8U) |
IOCTL major number bit offset. | |
#define | ENET_IOCTL_MINOR_OFFSET (0U) |
IOCTL minor number bit offset. | |
#define | ENET_IOCTL_GET_TYPE(x) ((x) & 0xFF000000U) |
Helper macro to get the IOCTL type (public/private). | |
#define | ENET_IOCTL_GET_PER(x) ((x) & 0x00FF0000U) |
Helper macro to get the peripheral type. | |
#define | ENET_IOCTL_GET_MAJ(x) ((x) & 0x0000FF00U) |
Helper macro to get the IOCTL major number. | |
#define | ENET_IOCTL_GET_MIN(x) ((x) & 0x000000FFU) |
Helper macro to get the IOCTL major number. | |
#define | ENET_IOCTL_TYPE(x) ((x) << ENET_IOCTL_TYPE_OFFSET) |
Helper macro to set the IOCTL type. | |
#define | ENET_IOCTL_PER(x) ((x) << ENET_IOCTL_PER_OFFSET) |
Helper macro to set the IOCTL type. | |
#define | ENET_IOCTL_MAJ(x) ((x) << ENET_IOCTL_MAJOR_OFFSET) |
Helper macro to set the IOCTL major number. | |
#define | ENET_IOCTL_MIN(x) ((x) << ENET_IOCTL_MINOR_OFFSET) |
Helper macro to set the IOCTL minor number. | |
#define | ENET_IOCTL_SET_NO_ARGS(prms) |
Set null args for an IOCTL command that takes no arguments. More... | |
#define | ENET_IOCTL_SET_IN_ARGS(prms, in) |
Set the input args for an IOCTL command. More... | |
#define | ENET_IOCTL_SET_OUT_ARGS(prms, out) |
Set the output args for an IOCTL command. More... | |
#define | ENET_IOCTL_SET_INOUT_ARGS(prms, in, out) |
Set the input and output args for an IOCTL command. More... | |
#define | ENET_PUBLIC_IOCTL(x) (ENET_IOCTL_ENET_BASE | ENET_IOCTL_MIN(x)) |
Helper macro for Enet public IOCTL command ids. | |
Typedefs | |
typedef struct Enet_IoctlPrms_s | Enet_IoctlPrms |
Enet IOCTL param. More... | |
Enumerations | |
enum | Enet_IoctlType_e { ENET_IOCTL_TYPE_PUBLIC = ENET_IOCTL_TYPE(0U), ENET_IOCTL_TYPE_PRIVATE = ENET_IOCTL_TYPE(1U) } |
IOCTL types. More... | |
enum | Enet_IoctlPer_e { ENET_IOCTL_PER_CPSW = ENET_IOCTL_PER(0U), ENET_IOCTL_PER_ICSSG = ENET_IOCTL_PER(1U), ENET_IOCTL_PER_GMAC = ENET_IOCTL_PER(2U) } |
IOCTL peripheral types. More... | |
enum | Enet_IoctlMajor_e { ENET_IOCTL_PER_BASE = ENET_IOCTL_MAJ(1U), ENET_IOCTL_FDB_BASE = ENET_IOCTL_MAJ(2U), ENET_IOCTL_TIMESYNC_BASE = ENET_IOCTL_MAJ(3U), ENET_IOCTL_HOSTPORT_BASE = ENET_IOCTL_MAJ(4U), ENET_IOCTL_MACPORT_BASE = ENET_IOCTL_MAJ(5U), ENET_IOCTL_MDIO_BASE = ENET_IOCTL_MAJ(6U), ENET_IOCTL_STATS_BASE = ENET_IOCTL_MAJ(7U) } |
IOCTL base number. More... | |
This file contains the type definitions and helper macros for the Enet IOCTL interface.