@@ 2,13 2,14 @@ void addrootfile(char*, uchar*, ulong);
void alarmkproc(void*);
int anyready(void);
Image* attachimage(int, Chan*, ulong, ulong);
-long authentwrite(Chan*, char*, int);
+long authcheck(Chan*, char*, int);
+void authclose(Chan*);
long authentread(Chan*, char*, int);
+long authentwrite(Chan*, char*, int);
long authread(Chan*, char*, int);
-long authwrite(Chan*, char*, int);
-long authcheck(Chan*, char*, int);
-ulong authrequest(Session*, Fcall*);
void authreply(Session*, ulong, Fcall*);
+ulong authrequest(Session*, Fcall*);
+long authwrite(Chan*, char*, int);
void bitdebug(void);
void bitdepth(void);
void bitreverse(uchar*, int);
@@ 38,9 39,8 @@ void confinit1(int);
int consactive(void);
void consdebug(void);
void copypage(Page*, Page*);
-void cursoron(int);
void cursoroff(int);
-Segment* data2txt(Segment*);
+void cursoron(int);
int decref(Ref*);
int decrypt(void*, void*, int);
void delay(int);
@@ 53,6 53,7 @@ int devno(int, int);
Chan* devopen(Chan*, int, Dirtab*, int, Devgen*);
void devstat(Chan*, char*, Dirtab*, int, Devgen*);
int devwalk(Chan*, char*, Dirtab*, int, Devgen*);
+Chan* domount(Chan*);
void dumpqueues(void);
void dumpregs(Ureg*);
void dumpstack(void);
@@ 84,6 85,8 @@ void getcolor(ulong, ulong*, ulong*, ulong*);
int getfields(char*, char**, int, char);
void gotolabel(Label*);
int haswaitq(void*);
+long hostdomainwrite(char*, int);
+long hostownerwrite(char*, int);
int hwcursmove(int, int);
int hwcursset(uchar*, uchar*, int, int);
void iallocinit(void);
@@ 93,11 96,14 @@ void initscsi(void);
void initseg(void);
void invalidateu(void);
void isdir(Chan*);
+int iseve(void);
int ispages(void*);
void kbdclock(void);
int kbdcr2nl(Queue*, int);
int kbdputc(Queue*, int);
void kbdrepeat(int);
+long keyread(char*, int, long);
+long keywrite(char*, int);
void kickpager(void);
int kprint(char*, ...);
void kproc(char*, void(*)(void*), void*);
@@ 111,17 117,18 @@ void lockinit(void);
Page* lookpage(Image*, ulong);
void machinit(void);
void* malloc(ulong);
-void mmuswitch(Proc*);
void mbbpt(Point);
void mbbrect(Rectangle);
void mfreeseg(Segment*, ulong, int);
void mmurelease(Proc*);
+void mmuswitch(Proc*);
void mntdump(void);
+void mntrepl(char*);
int mount(Chan*, Chan*, int, char*);
void mountfree(Mount*);
void mousebuttons(int);
-void mousectl(char*);
void mouseclock(void);
+void mousectl(char*);
void mousescreenupdate(void);
int msize(void*);
Chan* namec(char*, int, int, ulong);
@@ 131,7 138,6 @@ Mount* newmount(Mhead*, Chan*, int, char*);
Page* newpage(int, Segment **, ulong);
Pgrp* newpgrp(void);
Proc* newproc(void);
-Segment* newseg(int, ulong, ulong);
char* nextelem(char*, char*);
void nexterror(void);
int notify(Ureg*);
@@ 155,8 161,12 @@ void procctl(Proc*);
void procdump(void);
void procinit0(void);
Proc* proctab(int);
+void ptclone(Chan*, int, int);
+void ptclose(Pthash*);
Pte* ptealloc(void);
Pte* ptecpy(Pte*);
+Path* ptenter(Pthash*, Path*, char*);
+int ptpath(Path*, char*, int);
void putimage(Image*);
void putmmu(ulong, ulong, Page*);
void putpage(Page*);
@@ 187,8 197,9 @@ void resetscsi(void);
void resrcwait(char*);
int return0(void*);
void rlock(RWlock*);
-void rootreq(Chan*, Mnt*);
void rootfiles(void);
+void rootrecover(Path*, char*);
+void rootreq(Chan*, Mnt*);
void runlock(RWlock*);
Proc* runproc(void);
void savefpregs(FPsave*);
@@ 199,9 210,7 @@ void sched(void);
void schedinit(void);
int screenbits(void);
void screenupdate(void);
-Scsibuf* scsialloc(ulong);
int scsibread(int, Scsibuf*, long, long, long);
-Scsibuf* scsibuf(void);
void scsibufreset(ulong);
int scsibwrite(int, Scsibuf*, long, long, long);
int scsicap(int, void*);
@@ 211,8 220,8 @@ void scsifree(Scsibuf*);
int scsiinquiry(int, void*, int);
int scsimodesense(int, int, void*, int);
int scsiready(int);
-int scsistartstop(int, int);
int scsisense(int, void*);
+int scsistartstop(int, int);
int scsiwp(int);
long seconds(void);
ulong segattach(Proc*, ulong, char *, ulong, ulong);
@@ 228,6 237,7 @@ void* smalloc(ulong);
int splhi(void);
int spllo(void);
void splx(int);
+void srvrecover(Chan*, Chan*);
void swapinit(void);
long syscall(Ureg*);
void tsleep(Rendez*, int (*)(void*), void*, int);
@@ 240,9 250,12 @@ void unmount(Chan*, Chan*);
void urpfillstats(Chan*, char*, int);
void userinit(void);
ulong userpc(void);
+long userwrite(char*, int);
void validaddr(ulong, ulong, int);
+void vcacheinval(Page*);
void* vmemchr(void*, int, int);
void wakeup(Rendez*);
+Chan* walk(Chan*, char*, int);
void wlock(RWlock*);
void wunlock(RWlock*);
void* xalloc(ulong);
@@ 251,21 264,9 @@ void xhole(ulong, ulong);
void xinit(void);
void* xspanalloc(ulong, int, ulong);
void xsummary(void);
+Segment* data2txt(Segment*);
Segment* dupseg(Segment**, int, int);
+Segment* newseg(int, ulong, ulong);
+Scsibuf* scsialloc(ulong);
+Scsibuf* scsibuf(void);
Segment* seg(Proc*, ulong, int);
-Path* ptenter(Pthash*, Path*, char*);
-void ptclose(Pthash*);
-int ptpath(Path*, char*, int);
-void ptclone(Chan*, int, int);
-Chan* walk(Chan*, char*, int);
-Chan* domount(Chan*);
-void rootrecover(Path*, char*);
-void mntrepl(char*);
-void srvrecover(Chan*, Chan*);
-int iseve(void);
-void authclose(Chan*);
-long keyread(char*, int, long);
-long keywrite(char*, int);
-long userwrite(char*, int);
-long hostownerwrite(char*, int);
-long hostdomainwrite(char*, int);