|
|
1.1 ! root 1: #include <u.h> ! 2: #include <libc.h> ! 3: #include <../boot/boot.h> ! 4: ! 5: static void ! 6: configdkconc(char *ctl, char *arg) ! 7: { ! 8: int cfd; ! 9: char buf[1024], *p; ! 10: /* ! 11: if(fork() == 0){ ! 12: cfd = open("#c/klog", OREAD); ! 13: while((n = read(cfd, buf, sizeof buf)) > 0) ! 14: if(write(1, buf, n) < 0) ! 15: break; ! 16: _exits(0); ! 17: } ! 18: */ ! 19: p = strchr(arg, ';'); ! 20: cfd = open(ctl, ORDWR); ! 21: if(arg == 0 || p == 0 || cfd < 0){ ! 22: sprint(buf, "opening %s", ctl); ! 23: fatal(buf); ! 24: } ! 25: *p++ = 0; ! 26: sendmsg(cfd, "push conc"); ! 27: sendmsg(cfd, arg); ! 28: close(cfd); ! 29: ctl = "#Kconc/conc/0/ctl"; ! 30: cfd = open(ctl, ORDWR); ! 31: if(cfd < 0){ ! 32: sprint(buf, "opening %s", ctl); ! 33: fatal(buf); ! 34: } ! 35: sendmsg(cfd, "push dkmux"); ! 36: sendmsg(cfd, p); ! 37: close(cfd); ! 38: } ! 39: ! 40: static void ! 41: configdatakit(char *ctl, char *arg) ! 42: { ! 43: int cfd; ! 44: char buf[64]; ! 45: ! 46: cfd = open(ctl, ORDWR); ! 47: if(arg == 0 || cfd < 0){ ! 48: sprint(buf, "opening %s", ctl); ! 49: fatal(buf); ! 50: } ! 51: sendmsg(cfd, "push dkmux"); ! 52: sendmsg(cfd, arg); ! 53: close(cfd); ! 54: } ! 55: ! 56: void ! 57: confighs(Method *mp) ! 58: { ! 59: configdatakit("#h/ctl", mp->arg); ! 60: } ! 61: ! 62: int ! 63: authhs(void) ! 64: { ! 65: return dkauth(); ! 66: } ! 67: ! 68: int ! 69: connecths(void) ! 70: { ! 71: return dkconnect(); ! 72: } ! 73: ! 74: void ! 75: configincon(Method *mp) ! 76: { ! 77: configdatakit("#i/ctl", mp->arg); ! 78: } ! 79: ! 80: int ! 81: authincon(void) ! 82: { ! 83: return dkauth(); ! 84: } ! 85: ! 86: int ! 87: connectincon(void) ! 88: { ! 89: return dkconnect(); ! 90: } ! 91: ! 92: void ! 93: configcincon(Method *mp) ! 94: { ! 95: configdkconc("#i/ctl", mp->arg); ! 96: } ! 97: ! 98: int ! 99: authcincon(void) ! 100: { ! 101: return dkauth(); ! 102: } ! 103: ! 104: int ! 105: connectcincon(void) ! 106: { ! 107: return dkconnect(); ! 108: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.