net/smc/smc_rx.h

Source file repositories/reference/linux-study-clean/net/smc/smc_rx.h

File Facts

System
Linux kernel
Corpus path
net/smc/smc_rx.h
Extension
.h
Size
771 bytes
Lines
32
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

#ifndef SMC_RX_H
#define SMC_RX_H

#include <linux/socket.h>
#include <linux/types.h>

#include "smc.h"

void smc_rx_init(struct smc_sock *smc);

int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg,
		   struct pipe_inode_info *pipe, size_t len, int flags);
int smc_rx_wait(struct smc_sock *smc, long *timeo, size_t peeked,
		int (*fcrit)(struct smc_connection *conn, size_t baseline));
static inline int smc_rx_data_available(struct smc_connection *conn, size_t peeked)
{
	return atomic_read(&conn->bytes_to_rcv) - peeked;
}

#endif /* SMC_RX_H */

Annotation

Implementation Notes