1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /*
- * Stub.
- */
- #include "u.h"
- #include "../port/lib.h"
- #include "mem.h"
- #include "dat.h"
- #include "fns.h"
- #include "../port/error.h"
- extern Dev* devtab[];
- void
- devtabreset(void)
- {
- int i;
- for(i = 0; devtab[i] != nil; i++) {
- if (devtab[i]->reset == nil)
- panic("corrupt memory: nil devtab[%d]->reset", i);
- devtab[i]->reset();
- }
- }
- void
- devtabinit(void)
- {
- int i;
- for(i = 0; devtab[i] != nil; i++)
- devtab[i]->init();
- }
- void
- devtabshutdown(void)
- {
- int i;
- /*
- * Shutdown in reverse order.
- */
- for(i = 0; devtab[i] != nil; i++)
- ;
- for(i--; i >= 0; i--)
- devtab[i]->shutdown();
- }
- Dev*
- devtabget(int dc, int user)
- {
- int i;
- for(i = 0; devtab[i] != nil; i++){
- if(devtab[i]->dc == dc)
- return devtab[i];
- }
- if(user == 0)
- panic("devtabget %C\n", dc);
- return nil;
- }
- long
- devtabread(Chan*, void* buf, long n, vlong off)
- {
- int i;
- Dev *dev;
- char *alloc, *e, *p;
- alloc = malloc(READSTR);
- if(alloc == nil)
- error(Enomem);
- p = alloc;
- e = p + READSTR;
- for(i = 0; devtab[i] != nil; i++){
- dev = devtab[i];
- p = seprint(p, e, "#%C %s\n", dev->dc, dev->name);
- }
- if(waserror()){
- free(alloc);
- nexterror();
- }
- n = readstr(off, buf, n, alloc);
- free(alloc);
- poperror();
- return n;
- }
|