Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
transport.h
Go to the documentation of this file.
1 /*
2  * include/net/9p/transport.h
3  *
4  * Transport Definition
5  *
6  * Copyright (C) 2005 by Latchesar Ionkov <[email protected]>
7  * Copyright (C) 2004-2008 by Eric Van Hensbergen <[email protected]>
8  *
9  * This program is free software; you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License version 2
11  * as published by the Free Software Foundation.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to:
20  * Free Software Foundation
21  * 51 Franklin Street, Fifth Floor
22  * Boston, MA 02111-1301 USA
23  *
24  */
25 
26 #ifndef NET_9P_TRANSPORT_H
27 #define NET_9P_TRANSPORT_H
28 
49  struct list_head list;
50  char *name; /* name of transport */
51  int maxsize; /* max message size of transport */
52  int def; /* this transport should be default */
53  struct module *owner;
54  int (*create)(struct p9_client *, const char *, char *);
55  void (*close) (struct p9_client *);
56  int (*request) (struct p9_client *, struct p9_req_t *req);
57  int (*cancel) (struct p9_client *, struct p9_req_t *req);
58  int (*zc_request)(struct p9_client *, struct p9_req_t *,
59  char *, char *, int , int, int, int);
60 };
61 
66 void v9fs_put_trans(struct p9_trans_module *m);
67 #endif /* NET_9P_TRANSPORT_H */