aboutsummaryrefslogtreecommitdiff
path: root/include/9pclient.h
blob: 8a0d342f7282f7c4b170b3d0958a1e0fa90fa62f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#ifndef _9PCLIENT_H_
#define _9PCLIENT_H_ 1
#ifdef __cplusplus
extern "C" {
#endif

AUTOLIB(9pclient)
/*
 * Simple user-level 9P client.
 */

typedef struct CFsys CFsys;
typedef struct CFid CFid;

CFsys *fsinit(int);
CFsys *fsmount(int, char*);

int fsversion(CFsys*, int, char*, int);
CFid *fsauth(CFsys*, char*);
CFid *fsattach(CFsys*, CFid*, char*, char*);
CFid *fsopen(CFsys*, char*, int);
int fsopenfd(CFsys*, char*, int);
long fsread(CFid*, void*, long);
long fsreadn(CFid*, void*, long);
long fswrite(CFid*, void*, long);
void fsclose(CFid*);
void fsunmount(CFsys*);
struct Dir;	/* in case there's no lib9.h */
long fsdirread(CFid*, struct Dir**);
long fsdirreadall(CFid*, struct Dir**);
struct Dir *fsdirstat(CFsys*, char*);
struct Dir *fsdirfstat(CFid*);
int fsdirwstat(CFsys*, char*, struct Dir*);
int fsdirfwstat(CFid*, struct Dir*);
CFid *fsroot(CFsys*);
void fssetroot(CFsys*, CFid*);
CFsys *nsmount(char*, char*);

#ifdef __cplusplus
}
#endif
#endif