Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Enumerations | Functions
client.c File Reference
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/fs.h>
#include <linux/poll.h>
#include <linux/idr.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <linux/sched.h>
#include <linux/uaccess.h>
#include <net/9p/9p.h>
#include <linux/parser.h>
#include <net/9p/client.h>
#include <net/9p/transport.h>
#include "protocol.h"
#include <trace/events/9p.h>

Go to the source code of this file.

Macros

#define pr_fmt(fmt)   KBUILD_MODNAME ": " fmt
 
#define CREATE_TRACE_POINTS
 

Enumerations

enum  {
  Opt_msize, Opt_trans, Opt_legacy, Opt_version,
  Opt_err
}
 

Functions

int p9_is_proto_dotl (struct p9_client *clnt)
 
 EXPORT_SYMBOL (p9_is_proto_dotl)
 
int p9_is_proto_dotu (struct p9_client *clnt)
 
 EXPORT_SYMBOL (p9_is_proto_dotu)
 
struct p9_req_tp9_tag_lookup (struct p9_client *c, u16 tag)
 
 EXPORT_SYMBOL (p9_tag_lookup)
 
void p9_client_cb (struct p9_client *c, struct p9_req_t *req)
 
 EXPORT_SYMBOL (p9_client_cb)
 
int p9_parse_header (struct p9_fcall *pdu, int32_t *size, int8_t *type, int16_t *tag, int rewind)
 
 EXPORT_SYMBOL (p9_parse_header)
 
struct p9_clientp9_client_create (const char *dev_name, char *options)
 
 EXPORT_SYMBOL (p9_client_create)
 
void p9_client_destroy (struct p9_client *clnt)
 
 EXPORT_SYMBOL (p9_client_destroy)
 
void p9_client_disconnect (struct p9_client *clnt)
 
 EXPORT_SYMBOL (p9_client_disconnect)
 
void p9_client_begin_disconnect (struct p9_client *clnt)
 
 EXPORT_SYMBOL (p9_client_begin_disconnect)
 
struct p9_fidp9_client_attach (struct p9_client *clnt, struct p9_fid *afid, char *uname, u32 n_uname, char *aname)
 
 EXPORT_SYMBOL (p9_client_attach)
 
struct p9_fidp9_client_walk (struct p9_fid *oldfid, uint16_t nwname, char **wnames, int clone)
 
 EXPORT_SYMBOL (p9_client_walk)
 
int p9_client_open (struct p9_fid *fid, int mode)
 
 EXPORT_SYMBOL (p9_client_open)
 
int p9_client_create_dotl (struct p9_fid *ofid, char *name, u32 flags, u32 mode, gid_t gid, struct p9_qid *qid)
 
 EXPORT_SYMBOL (p9_client_create_dotl)
 
int p9_client_fcreate (struct p9_fid *fid, char *name, u32 perm, int mode, char *extension)
 
 EXPORT_SYMBOL (p9_client_fcreate)
 
int p9_client_symlink (struct p9_fid *dfid, char *name, char *symtgt, gid_t gid, struct p9_qid *qid)
 
 EXPORT_SYMBOL (p9_client_symlink)
 
int p9_client_link (struct p9_fid *dfid, struct p9_fid *oldfid, char *newname)
 
 EXPORT_SYMBOL (p9_client_link)
 
int p9_client_fsync (struct p9_fid *fid, int datasync)
 
 EXPORT_SYMBOL (p9_client_fsync)
 
int p9_client_clunk (struct p9_fid *fid)
 
 EXPORT_SYMBOL (p9_client_clunk)
 
int p9_client_remove (struct p9_fid *fid)
 
 EXPORT_SYMBOL (p9_client_remove)
 
int p9_client_unlinkat (struct p9_fid *dfid, const char *name, int flags)
 
 EXPORT_SYMBOL (p9_client_unlinkat)
 
int p9_client_read (struct p9_fid *fid, char *data, char __user *udata, u64 offset, u32 count)
 
 EXPORT_SYMBOL (p9_client_read)
 
int p9_client_write (struct p9_fid *fid, char *data, const char __user *udata, u64 offset, u32 count)
 
 EXPORT_SYMBOL (p9_client_write)
 
struct p9_wstatp9_client_stat (struct p9_fid *fid)
 
 EXPORT_SYMBOL (p9_client_stat)
 
struct p9_stat_dotlp9_client_getattr_dotl (struct p9_fid *fid, u64 request_mask)
 
 EXPORT_SYMBOL (p9_client_getattr_dotl)
 
int p9_client_wstat (struct p9_fid *fid, struct p9_wstat *wst)
 
 EXPORT_SYMBOL (p9_client_wstat)
 
int p9_client_setattr (struct p9_fid *fid, struct p9_iattr_dotl *p9attr)
 
 EXPORT_SYMBOL (p9_client_setattr)
 
int p9_client_statfs (struct p9_fid *fid, struct p9_rstatfs *sb)
 
 EXPORT_SYMBOL (p9_client_statfs)
 
int p9_client_rename (struct p9_fid *fid, struct p9_fid *newdirfid, const char *name)
 
 EXPORT_SYMBOL (p9_client_rename)
 
int p9_client_renameat (struct p9_fid *olddirfid, const char *old_name, struct p9_fid *newdirfid, const char *new_name)
 
 EXPORT_SYMBOL (p9_client_renameat)
 
struct p9_fidp9_client_xattrwalk (struct p9_fid *file_fid, const char *attr_name, u64 *attr_size)
 
 EXPORT_SYMBOL_GPL (p9_client_xattrwalk)
 
int p9_client_xattrcreate (struct p9_fid *fid, const char *name, u64 attr_size, int flags)
 
 EXPORT_SYMBOL_GPL (p9_client_xattrcreate)
 
int p9_client_readdir (struct p9_fid *fid, char *data, u32 count, u64 offset)
 
 EXPORT_SYMBOL (p9_client_readdir)
 
int p9_client_mknod_dotl (struct p9_fid *fid, char *name, int mode, dev_t rdev, gid_t gid, struct p9_qid *qid)
 
 EXPORT_SYMBOL (p9_client_mknod_dotl)
 
int p9_client_mkdir_dotl (struct p9_fid *fid, char *name, int mode, gid_t gid, struct p9_qid *qid)
 
 EXPORT_SYMBOL (p9_client_mkdir_dotl)
 
int p9_client_lock_dotl (struct p9_fid *fid, struct p9_flock *flock, u8 *status)
 
 EXPORT_SYMBOL (p9_client_lock_dotl)
 
int p9_client_getlock_dotl (struct p9_fid *fid, struct p9_getlock *glock)
 
 EXPORT_SYMBOL (p9_client_getlock_dotl)
 
int p9_client_readlink (struct p9_fid *fid, char **target)
 
 EXPORT_SYMBOL (p9_client_readlink)
 

Macro Definition Documentation

#define CREATE_TRACE_POINTS

Definition at line 43 of file client.c.

#define pr_fmt (   fmt)    KBUILD_MODNAME ": " fmt

Definition at line 26 of file client.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
Opt_msize 
Opt_trans 
Opt_legacy 
Opt_version 
Opt_err 

Definition at line 51 of file client.c.

Function Documentation

EXPORT_SYMBOL ( p9_is_proto_dotl  )
EXPORT_SYMBOL ( p9_is_proto_dotu  )
EXPORT_SYMBOL ( p9_tag_lookup  )
EXPORT_SYMBOL ( p9_client_cb  )
EXPORT_SYMBOL ( p9_parse_header  )
EXPORT_SYMBOL ( p9_client_create  )
EXPORT_SYMBOL ( p9_client_destroy  )
EXPORT_SYMBOL ( p9_client_disconnect  )
EXPORT_SYMBOL ( p9_client_begin_disconnect  )
EXPORT_SYMBOL ( p9_client_attach  )
EXPORT_SYMBOL ( p9_client_walk  )
EXPORT_SYMBOL ( p9_client_open  )
EXPORT_SYMBOL ( p9_client_create_dotl  )
EXPORT_SYMBOL ( p9_client_fcreate  )
EXPORT_SYMBOL ( p9_client_symlink  )
EXPORT_SYMBOL ( p9_client_link  )
EXPORT_SYMBOL ( p9_client_fsync  )
EXPORT_SYMBOL ( p9_client_clunk  )
EXPORT_SYMBOL ( p9_client_remove  )
EXPORT_SYMBOL ( p9_client_unlinkat  )
EXPORT_SYMBOL ( p9_client_read  )
EXPORT_SYMBOL ( p9_client_write  )
EXPORT_SYMBOL ( p9_client_stat  )
EXPORT_SYMBOL ( p9_client_getattr_dotl  )
EXPORT_SYMBOL ( p9_client_wstat  )
EXPORT_SYMBOL ( p9_client_setattr  )
EXPORT_SYMBOL ( p9_client_statfs  )
EXPORT_SYMBOL ( p9_client_rename  )
EXPORT_SYMBOL ( p9_client_renameat  )
EXPORT_SYMBOL ( p9_client_readdir  )
EXPORT_SYMBOL ( p9_client_mknod_dotl  )
EXPORT_SYMBOL ( p9_client_mkdir_dotl  )
EXPORT_SYMBOL ( p9_client_lock_dotl  )
EXPORT_SYMBOL ( p9_client_getlock_dotl  )
EXPORT_SYMBOL ( p9_client_readlink  )
EXPORT_SYMBOL_GPL ( p9_client_xattrwalk  )
EXPORT_SYMBOL_GPL ( p9_client_xattrcreate  )
struct p9_fid* p9_client_attach ( struct p9_client clnt,
struct p9_fid afid,
char uname,
u32  n_uname,
char aname 
)
read

Definition at line 1102 of file client.c.

void p9_client_begin_disconnect ( struct p9_client clnt)

Definition at line 1095 of file client.c.

void p9_client_cb ( struct p9_client c,
struct p9_req_t req 
)

p9_client_cb - call back from transport to client c: client state req: request received

Definition at line 410 of file client.c.

int p9_client_clunk ( struct p9_fid fid)

Definition at line 1440 of file client.c.

struct p9_client* p9_client_create ( const char dev_name,
char options 
)
read

Definition at line 994 of file client.c.

int p9_client_create_dotl ( struct p9_fid ofid,
char name,
u32  flags,
u32  mode,
gid_t  gid,
struct p9_qid qid 
)

Definition at line 1272 of file client.c.

void p9_client_destroy ( struct p9_client clnt)

Definition at line 1063 of file client.c.

void p9_client_disconnect ( struct p9_client clnt)

Definition at line 1088 of file client.c.

int p9_client_fcreate ( struct p9_fid fid,
char name,
u32  perm,
int  mode,
char extension 
)

Definition at line 1316 of file client.c.

int p9_client_fsync ( struct p9_fid fid,
int  datasync 
)

Definition at line 1414 of file client.c.

struct p9_stat_dotl* p9_client_getattr_dotl ( struct p9_fid fid,
u64  request_mask 
)
read

Definition at line 1724 of file client.c.

int p9_client_getlock_dotl ( struct p9_fid fid,
struct p9_getlock glock 
)

Definition at line 2203 of file client.c.

int p9_client_link ( struct p9_fid dfid,
struct p9_fid oldfid,
char newname 
)

Definition at line 1395 of file client.c.

int p9_client_lock_dotl ( struct p9_fid fid,
struct p9_flock flock,
u8 status 
)

Definition at line 2170 of file client.c.

int p9_client_mkdir_dotl ( struct p9_fid fid,
char name,
int  mode,
gid_t  gid,
struct p9_qid qid 
)

Definition at line 2139 of file client.c.

int p9_client_mknod_dotl ( struct p9_fid fid,
char name,
int  mode,
dev_t  rdev,
gid_t  gid,
struct p9_qid qid 
)

Definition at line 2108 of file client.c.

int p9_client_open ( struct p9_fid fid,
int  mode 
)

Definition at line 1227 of file client.c.

int p9_client_read ( struct p9_fid fid,
char data,
char __user udata,
u64  offset,
u32  count 
)

Definition at line 1536 of file client.c.

int p9_client_readdir ( struct p9_fid fid,
char data,
u32  count,
u64  offset 
)

Definition at line 2049 of file client.c.

int p9_client_readlink ( struct p9_fid fid,
char **  target 
)

Definition at line 2237 of file client.c.

int p9_client_remove ( struct p9_fid fid)

Definition at line 1484 of file client.c.

int p9_client_rename ( struct p9_fid fid,
struct p9_fid newdirfid,
const char name 
)

Definition at line 1916 of file client.c.

int p9_client_renameat ( struct p9_fid olddirfid,
const char old_name,
struct p9_fid newdirfid,
const char new_name 
)

Definition at line 1944 of file client.c.

int p9_client_setattr ( struct p9_fid fid,
struct p9_iattr_dotl p9attr 
)

Definition at line 1847 of file client.c.

struct p9_wstat* p9_client_stat ( struct p9_fid fid)
read

Definition at line 1675 of file client.c.

int p9_client_statfs ( struct p9_fid fid,
struct p9_rstatfs sb 
)

Definition at line 1877 of file client.c.

int p9_client_symlink ( struct p9_fid dfid,
char name,
char symtgt,
gid_t  gid,
struct p9_qid qid 
)

Definition at line 1361 of file client.c.

int p9_client_unlinkat ( struct p9_fid dfid,
const char name,
int  flags 
)

Definition at line 1512 of file client.c.

struct p9_fid* p9_client_walk ( struct p9_fid oldfid,
uint16_t  nwname,
char **  wnames,
int  clone 
)
read

Definition at line 1149 of file client.c.

int p9_client_write ( struct p9_fid fid,
char data,
const char __user udata,
u64  offset,
u32  count 
)

Definition at line 1613 of file client.c.

int p9_client_wstat ( struct p9_fid fid,
struct p9_wstat wst 
)

Definition at line 1812 of file client.c.

int p9_client_xattrcreate ( struct p9_fid fid,
const char name,
u64  attr_size,
int  flags 
)

Definition at line 2024 of file client.c.

struct p9_fid* p9_client_xattrwalk ( struct p9_fid file_fid,
const char attr_name,
u64 attr_size 
)
read

Definition at line 1977 of file client.c.

int p9_is_proto_dotl ( struct p9_client clnt)
inline

Definition at line 67 of file client.c.

int p9_is_proto_dotu ( struct p9_client clnt)
inline

Definition at line 73 of file client.c.

int p9_parse_header ( struct p9_fcall pdu,
int32_t size,
int8_t type,
int16_t tag,
int  rewind 
)

p9_parse_header - parse header arguments out of a packet : packet to parse : size of packet : type of request : tag of packet : set if we need to rewind offset afterwards

Definition at line 428 of file client.c.

struct p9_req_t* p9_tag_lookup ( struct p9_client c,
u16  tag 
)
read

p9_tag_lookup - lookup a request by tag : client session to lookup tag within : numeric id for transaction

Definition at line 301 of file client.c.