source: svn/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/linux/sunrpc/svcsock.h @ 43

Last change on this file since 43 was 43, checked in by megakiss, 11 years ago

광주방송 OTC 주파수 369Mhz로 변경

  • Property svn:executable set to *
File size: 1.9 KB
Line 
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
14/*
15 * RPC server socket.
16 */
17struct svc_sock {
18        struct list_head        sk_ready;       /* list of ready sockets */
19        struct list_head        sk_list;        /* list of all sockets */
20        struct socket *         sk_sock;        /* berkeley socket layer */
21        struct sock *           sk_sk;          /* INET layer */
22
23        struct svc_serv *       sk_server;      /* service for this socket */
24        unsigned int            sk_inuse;       /* use count */
25        unsigned long           sk_flags;
26#define SK_BUSY         0                       /* enqueued/receiving */
27#define SK_CONN         1                       /* conn pending */
28#define SK_CLOSE        2                       /* dead or dying */
29#define SK_DATA         3                       /* data pending */
30#define SK_TEMP         4                       /* temp (TCP) socket */
31#define SK_DEAD         6                       /* socket closed */
32#define SK_CHNGBUF      7                       /* need to change snd/rcv buffer sizes */
33#define SK_DEFERRED     8                       /* request on sk_deferred */
34
35        int                     sk_reserved;    /* space on outq that is reserved */
36
37        struct list_head        sk_deferred;    /* deferred requests that need to
38                                                 * be revisted */
39        struct semaphore        sk_sem;         /* to serialize sending data */
40
41        int                     (*sk_recvfrom)(struct svc_rqst *rqstp);
42        int                     (*sk_sendto)(struct svc_rqst *rqstp);
43
44        /* We keep the old state_change and data_ready CB's here */
45        void                    (*sk_ostate)(struct sock *);
46        void                    (*sk_odata)(struct sock *, int bytes);
47        void                    (*sk_owspace)(struct sock *);
48
49        /* private TCP part */
50        int                     sk_reclen;      /* length of record */
51        int                     sk_tcplen;      /* current read length */
52        time_t                  sk_lastrecv;    /* time of last received request */
53};
54
55/*
56 * Function prototypes.
57 */
58int             svc_makesock(struct svc_serv *, int, unsigned short);
59void            svc_delete_socket(struct svc_sock *);
60int             svc_recv(struct svc_serv *, struct svc_rqst *, long);
61int             svc_send(struct svc_rqst *);
62void            svc_drop(struct svc_rqst *);
63void            svc_sock_update_bufs(struct svc_serv *serv);
64
65#endif /* SUNRPC_SVCSOCK_H */
Note: See TracBrowser for help on using the repository browser.