Files
linux-apfs/include/linux/sunrpc/svcsock.h
T

54 lines
1.4 KiB
C
Raw Normal View History

2005-04-16 15:20:36 -07:00
/*
* linux/include/linux/sunrpc/svcsock.h
*
* RPC server socket I/O.
*
* Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
*/
#ifndef SUNRPC_SVCSOCK_H
#define SUNRPC_SVCSOCK_H
#include <linux/sunrpc/svc.h>
2007-12-30 21:07:17 -06:00
#include <linux/sunrpc/svc_xprt.h>
2005-04-16 15:20:36 -07:00
/*
* RPC server socket.
*/
struct svc_sock {
2007-12-30 21:07:17 -06:00
struct svc_xprt sk_xprt;
2005-04-16 15:20:36 -07:00
struct socket * sk_sock; /* berkeley socket layer */
struct sock * sk_sk; /* INET layer */
/* We keep the old state_change and data_ready CB's here */
void (*sk_ostate)(struct sock *);
void (*sk_odata)(struct sock *, int bytes);
void (*sk_owspace)(struct sock *);
/* private TCP part */
u32 sk_reclen; /* length of record */
u32 sk_tcplen; /* current read length */
2005-04-16 15:20:36 -07:00
};
/*
* Function prototypes.
*/
2007-12-30 21:07:53 -06:00
void svc_close_all(struct list_head *);
int svc_recv(struct svc_rqst *, long);
2005-04-16 15:20:36 -07:00
int svc_send(struct svc_rqst *);
void svc_drop(struct svc_rqst *);
void svc_sock_update_bufs(struct svc_serv *serv);
int svc_sock_names(char *buf, struct svc_serv *serv, char *toclose);
int svc_addsock(struct svc_serv *serv, int fd, char *name_return);
2007-12-30 21:07:17 -06:00
void svc_init_xprt_sock(void);
void svc_cleanup_xprt_sock(void);
2005-04-16 15:20:36 -07:00
/*
* svc_makesock socket characteristics
*/
#define SVC_SOCK_DEFAULTS (0U)
#define SVC_SOCK_ANONYMOUS (1U << 0) /* don't register with pmap */
#define SVC_SOCK_TEMPORARY (1U << 1) /* flag socket as temporary */
2005-04-16 15:20:36 -07:00
#endif /* SUNRPC_SVCSOCK_H */