aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/fcall.h4
-rw-r--r--include/fs.h3
-rw-r--r--include/lib9.h24
-rw-r--r--include/thread.h4
4 files changed, 27 insertions, 8 deletions
diff --git a/include/fcall.h b/include/fcall.h
index f85487bd..893b0504 100644
--- a/include/fcall.h
+++ b/include/fcall.h
@@ -40,6 +40,7 @@ struct Fcall
char *data; /* Twrite, Rread */
ushort nstat; /* Twstat, Rstat */
uchar *stat; /* Twstat, Rstat */
+ int unixfd; /* Ropenfd */
} Fcall;
@@ -100,6 +101,9 @@ enum
Twstat = 126,
Rwstat,
Tmax,
+
+ Topenfd = 98,
+ Ropenfd,
};
uint convM2S(uchar*, uint, Fcall*);
diff --git a/include/fs.h b/include/fs.h
index 219b2774..38442709 100644
--- a/include/fs.h
+++ b/include/fs.h
@@ -12,7 +12,7 @@ typedef struct Fsys Fsys;
typedef struct Fid Fid;
Fsys *fsinit(int);
-Fsys *fsmount(int);
+Fsys *fsmount(int, char*);
int fsversion(Fsys*, int, char*, int);
Fid *fsauth(Fsys*, char*);
@@ -34,6 +34,7 @@ struct Dir *fsdirfstat(Fid*);
int fsdirwstat(Fsys*, char*, struct Dir*);
int fsdirfwstat(Fid*, struct Dir*);
Fid *fsroot(Fsys*);
+Fsys *nsmount(char*, char*);
#ifdef __cplusplus
}
diff --git a/include/lib9.h b/include/lib9.h
index ce5187cd..de082499 100644
--- a/include/lib9.h
+++ b/include/lib9.h
@@ -194,6 +194,7 @@ extern int isupperrune(Rune);
*
extern void* malloc(ulong);
*/
+extern void* p9malloc(ulong);
extern void* mallocz(ulong, int);
/*
extern void free(void*);
@@ -208,6 +209,9 @@ extern ulong getrealloctag(void*);
/*
extern void* malloctopoolblock(void*);
*/
+#ifndef NOPLAN9DEFINES
+#define malloc p9malloc
+#endif
/*
* print routines (provided by <fmt.h>)
@@ -442,6 +446,7 @@ extern void exits(char*);
extern double frexp(double, int*);
extern ulong getcallerpc(void*);
extern char* p9getenv(char*);
+extern int p9putenv(char*, char*);
extern int getfields(char*, char**, int, int, char*);
extern int gettokens(char *, char **, int, char *);
extern char* getuser(void);
@@ -482,6 +487,7 @@ extern long time(long*);
#define longjmp p9longjmp
#undef setjmp
#define setjmp p9setjmp
+#define putenv p9putenv
#define notejmp p9notejmp
#define jmp_buf p9jmp_buf
#endif
@@ -728,14 +734,14 @@ struct IOchunk
extern void _exits(char*);
extern void abort(void);
-/* extern int access(char*, int); <unistd.h> */
+extern int p9access(char*, int);
extern long p9alarm(ulong);
extern int await(char*, int);
/* extern int bind(char*, char*, int); give up */
/* extern int brk(void*); <unistd.h> */
-/* extern int chdir(char*); <unistd.h> */
+extern int p9chdir(char*);
extern int close(int);
-extern int create(char*, int, ulong);
+extern int p9create(char*, int, ulong);
extern int p9dup(int, int);
extern int errstr(char*, uint);
extern int p9exec(char*, char*[]);
@@ -752,9 +758,9 @@ extern int unmount(char*, char*);
*/
extern int noted(int);
extern int notify(void(*)(void*, char*));
-/* extern int open(char*, int); <unistd.h> */
+extern int p9open(char*, int);
extern int fd2path(int, char*, int);
-extern int pipe(int*);
+extern int p9pipe(int*);
/*
* use defs from <unistd.h>
extern long pread(int, void*, long, vlong);
@@ -796,6 +802,10 @@ extern ulong rendezvous(ulong, ulong);
#define wait p9wait
#define waitpid p9waitpid
#define rfork p9rfork
+#define access p9access
+#define create p9create
+#define open p9open
+#define pipe p9pipe
#endif
extern Dir* dirstat(char*);
@@ -810,6 +820,10 @@ extern long dirreadall(int, Dir**);
extern void rerrstr(char*, uint);
extern char* sysname(void);
extern void werrstr(char*, ...);
+extern char* getns(void);
+extern int sendfd(int, int);
+extern int recvfd(int);
+extern int post9pservice(int, char*);
/* external names that we don't want to step on */
#ifndef NOPLAN9DEFINES
diff --git a/include/thread.h b/include/thread.h
index e9dc96e0..0eb02b52 100644
--- a/include/thread.h
+++ b/include/thread.h
@@ -79,8 +79,8 @@ int nbsendul(Channel *c, unsigned long v);
int proccreate(void (*f)(void *arg), void *arg, unsigned int stacksize);
int procrfork(void (*f)(void *arg), void *arg, unsigned int stacksize, int flag);
void** procdata(void);
-void procexec(Channel *, char *, char *[]);
-void procexecl(Channel *, char *, ...);
+void procexec(Channel *, int[3], char *, char *[]);
+void procexecl(Channel *, int[3], char *, ...);
int recv(Channel *c, void *v);
void* recvp(Channel *c);
unsigned long recvul(Channel *c);