2003-12-06 18:08:52 +00:00
|
|
|
#ifndef _FS_H_
|
|
|
|
#define _FS_H_ 1
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Simple user-level 9P client.
|
|
|
|
*/
|
|
|
|
|
|
|
|
typedef struct Fsys Fsys;
|
|
|
|
typedef struct Fid Fid;
|
|
|
|
|
|
|
|
Fsys *fsinit(int);
|
2003-12-11 17:48:38 +00:00
|
|
|
Fsys *fsmount(int, char*);
|
2003-12-06 18:08:52 +00:00
|
|
|
|
|
|
|
int fsversion(Fsys*, int, char*, int);
|
|
|
|
Fid *fsauth(Fsys*, char*);
|
|
|
|
Fid *fsattach(Fsys*, Fid*, char*, char*);
|
|
|
|
Fid *fsopen(Fsys*, char*, int);
|
|
|
|
int fsopenfd(Fsys*, char*, int);
|
|
|
|
long fsread(Fid*, void*, long);
|
|
|
|
long fsreadn(Fid*, void*, long);
|
|
|
|
long fswrite(Fid*, void*, long);
|
|
|
|
void fsclose(Fid*);
|
|
|
|
void fsunmount(Fsys*);
|
|
|
|
int fsrpc(Fsys*, Fcall*, Fcall*, void**);
|
|
|
|
Fid *fswalk(Fid*, char*);
|
|
|
|
struct Dir; /* in case there's no lib9.h */
|
|
|
|
long fsdirread(Fid*, struct Dir**);
|
|
|
|
long fsdirreadall(Fid*, struct Dir**);
|
|
|
|
struct Dir *fsdirstat(Fsys*, char*);
|
|
|
|
struct Dir *fsdirfstat(Fid*);
|
|
|
|
int fsdirwstat(Fsys*, char*, struct Dir*);
|
|
|
|
int fsdirfwstat(Fid*, struct Dir*);
|
|
|
|
Fid *fsroot(Fsys*);
|
2003-12-11 17:48:38 +00:00
|
|
|
Fsys *nsmount(char*, char*);
|
2003-12-06 18:08:52 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#endif
|