home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / sunrpc / svcsock.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.4 KB  |  54 lines

  1. /*
  2.  * linux/include/linux/sunrpc/svcsock.h
  3.  *
  4.  * RPC server socket I/O.
  5.  *
  6.  * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
  7.  */
  8.  
  9. #ifndef SUNRPC_SVCSOCK_H
  10. #define SUNRPC_SVCSOCK_H
  11.  
  12. #include <linux/sunrpc/svc.h>
  13. #include <linux/sunrpc/svc_xprt.h>
  14.  
  15. /*
  16.  * RPC server socket.
  17.  */
  18. struct svc_sock {
  19.     struct svc_xprt        sk_xprt;
  20.     struct socket *        sk_sock;    /* berkeley socket layer */
  21.     struct sock *        sk_sk;        /* INET layer */
  22.  
  23.     /* We keep the old state_change and data_ready CB's here */
  24.     void            (*sk_ostate)(struct sock *);
  25.     void            (*sk_odata)(struct sock *, int bytes);
  26.     void            (*sk_owspace)(struct sock *);
  27.  
  28.     /* private TCP part */
  29.     u32            sk_reclen;    /* length of record */
  30.     u32            sk_tcplen;    /* current read length */
  31. };
  32.  
  33. /*
  34.  * Function prototypes.
  35.  */
  36. void        svc_close_all(struct list_head *);
  37. int        svc_recv(struct svc_rqst *, long);
  38. int        svc_send(struct svc_rqst *);
  39. void        svc_drop(struct svc_rqst *);
  40. void        svc_sock_update_bufs(struct svc_serv *serv);
  41. int        svc_sock_names(char *buf, struct svc_serv *serv, char *toclose);
  42. int        svc_addsock(struct svc_serv *serv, int fd, char *name_return);
  43. void        svc_init_xprt_sock(void);
  44. void        svc_cleanup_xprt_sock(void);
  45.  
  46. /*
  47.  * svc_makesock socket characteristics
  48.  */
  49. #define SVC_SOCK_DEFAULTS    (0U)
  50. #define SVC_SOCK_ANONYMOUS    (1U << 0)    /* don't register with pmap */
  51. #define SVC_SOCK_TEMPORARY    (1U << 1)    /* flag socket as temporary */
  52.  
  53. #endif /* SUNRPC_SVCSOCK_H */
  54.