1*219b2ee8SDavid du Colombier #include <u.h> 2*219b2ee8SDavid du Colombier #include <libc.h> 3*219b2ee8SDavid du Colombier 4*219b2ee8SDavid du Colombier void 5*219b2ee8SDavid du Colombier main(int argc, char **argv) 6*219b2ee8SDavid du Colombier { 7*219b2ee8SDavid du Colombier int fd, n, m; 8*219b2ee8SDavid du Colombier char buf[1024], dir[512], *str; 9*219b2ee8SDavid du Colombier 10*219b2ee8SDavid du Colombier fd = open("/dev/acme/ctl", OWRITE); 11*219b2ee8SDavid du Colombier if(fd < 0) 12*219b2ee8SDavid du Colombier exits(0); 13*219b2ee8SDavid du Colombier getwd(dir, 512); 14*219b2ee8SDavid du Colombier strcpy(buf, "name "); 15*219b2ee8SDavid du Colombier strcpy(buf+5, dir); 16*219b2ee8SDavid du Colombier n = strlen(buf); 17*219b2ee8SDavid du Colombier if(n>0 && buf[n-1]!='/') 18*219b2ee8SDavid du Colombier buf[n++] = '/'; 19*219b2ee8SDavid du Colombier buf[n++] = '-'; 20*219b2ee8SDavid du Colombier if(argc > 1) 21*219b2ee8SDavid du Colombier str = argv[1]; 22*219b2ee8SDavid du Colombier else 23*219b2ee8SDavid du Colombier str = "rc"; 24*219b2ee8SDavid du Colombier m = strlen(str); 25*219b2ee8SDavid du Colombier strcpy(buf+n, str); 26*219b2ee8SDavid du Colombier n += m; 27*219b2ee8SDavid du Colombier buf[n++] = '\n'; 28*219b2ee8SDavid du Colombier write(fd, buf, n); 29*219b2ee8SDavid du Colombier strcpy(buf, "dumpdir "); 30*219b2ee8SDavid du Colombier strcpy(buf+8, dir); 31*219b2ee8SDavid du Colombier strcat(buf, "\n"); 32*219b2ee8SDavid du Colombier write(fd, buf, strlen(buf)); 33*219b2ee8SDavid du Colombier exits(0); 34*219b2ee8SDavid du Colombier } 35