include/net/eee.h

Source file repositories/reference/linux-study-clean/include/net/eee.h

File Facts

System
Linux kernel
Corpus path
include/net/eee.h
Extension
.h
Size
832 bytes
Lines
36
Domain
Networking Core
Bucket
Sockets, Protocols, Packet Path, And Network Policy
Inferred role
Networking Core: implementation source
Status
source implementation candidate

Why This File Exists

Networking stack implementation surface: socket APIs, protocol dispatch, packet flow, routing, filtering, and network namespaces.

Dependency Surface

Detected Declarations

Annotated Snippet

struct eee_config {
	u32 tx_lpi_timer;
	bool tx_lpi_enabled;
	bool eee_enabled;
};

static inline bool eeecfg_mac_can_tx_lpi(const struct eee_config *eeecfg)
{
	/* eee_enabled is the master on/off */
	return eeecfg->eee_enabled && eeecfg->tx_lpi_enabled;
}

static inline void eeecfg_to_eee(struct ethtool_keee *eee,
				 const struct eee_config *eeecfg)
{
	eee->tx_lpi_timer = eeecfg->tx_lpi_timer;
	eee->tx_lpi_enabled = eeecfg->tx_lpi_enabled;
	eee->eee_enabled = eeecfg->eee_enabled;
}

static inline void eee_to_eeecfg(struct eee_config *eeecfg,
				 const struct ethtool_keee *eee)
{
	eeecfg->tx_lpi_timer = eee->tx_lpi_timer;
	eeecfg->tx_lpi_enabled = eee->tx_lpi_enabled;
	eeecfg->eee_enabled = eee->eee_enabled;
}

#endif

Annotation

Implementation Notes