FreeCalypso > hg > freecalypso-tools
comparison rvinterf/etmsync/fileio.c @ 595:e6fe9d25377a
fc-fsio: rm-subtree command implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 04 Feb 2020 05:30:59 +0000 |
parents | a0754c98fc2b |
children | 74d284add54d |
comparison
equal
deleted
inserted
replaced
594:2c75cf810146 | 595:e6fe9d25377a |
---|---|
355 result->sequence = rvi_msg[23] | rvi_msg[24] << 8; | 355 result->sequence = rvi_msg[23] | rvi_msg[24] << 8; |
356 result->updates = rvi_msg[25] | rvi_msg[26] << 8; | 356 result->updates = rvi_msg[25] | rvi_msg[26] << 8; |
357 return(0); | 357 return(0); |
358 } | 358 } |
359 | 359 |
360 do_xlstat_notfoundok(pathname, found, result) | |
361 char *pathname; | |
362 int *found; | |
363 struct stat_info *result; | |
364 { | |
365 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | |
366 int rc, slen; | |
367 | |
368 slen = strlen(pathname); | |
369 if (slen >= TMFFS_STRING_SIZE) { | |
370 printf("error: pathname arg exceeds string length limit\n"); | |
371 return(ERROR_USAGE); | |
372 } | |
373 dp = cmdpkt + 1; | |
374 *dp++ = ETM_FFS2; | |
375 *dp++ = TMFFS_XLSTAT; | |
376 *dp++ = slen + 1; | |
377 strcpy(dp, pathname); | |
378 dp += slen + 1; | |
379 rc = etm_pkt_exch(cmdpkt, dp - cmdpkt - 1); | |
380 if (rc) | |
381 return(rc); | |
382 if (rvi_msg[3] == TMFFS_ERR_NOTFOUND) { | |
383 *found = 0; | |
384 return(0); | |
385 } | |
386 if (rvi_msg[3]) { | |
387 report_ffs_err("xlstat", rvi_msg[3]); | |
388 return(ERROR_TARGET); | |
389 } | |
390 if (rvi_msg_len != 30 || rvi_msg[4] != 24) { | |
391 printf("error: xlstat response has wrong length\n"); | |
392 return(ERROR_TARGET); | |
393 } | |
394 *found = 1; | |
395 result->type = rvi_msg[5]; | |
396 result->flags = rvi_msg[6]; | |
397 result->inode = rvi_msg[7] | rvi_msg[8] << 8; | |
398 result->size = rvi_msg[9] | rvi_msg[10] << 8 | rvi_msg[11] << 16 | | |
399 rvi_msg[12] << 24; | |
400 result->space = rvi_msg[13] | rvi_msg[14] << 8 | rvi_msg[15] << 16 | | |
401 rvi_msg[16] << 24; | |
402 result->location = rvi_msg[17] | rvi_msg[18] << 8 | rvi_msg[19] << 16 | | |
403 rvi_msg[20] << 24; | |
404 result->block = rvi_msg[22]; | |
405 result->sequence = rvi_msg[23] | rvi_msg[24] << 8; | |
406 result->updates = rvi_msg[25] | rvi_msg[26] << 8; | |
407 return(0); | |
408 } | |
409 | |
360 do_mkdir_existok(pathname) | 410 do_mkdir_existok(pathname) |
361 char *pathname; | 411 char *pathname; |
362 { | 412 { |
363 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 413 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; |
364 int rc, slen; | 414 int rc, slen; |