FreeCalypso > hg > freecalypso-sw
annotate rvinterf/tmsh/ffs2.c @ 832:c14bc60c6c30
gsm-fw/g23m-glue/cst: import from Leonardo source
| author | Space Falcon <falcon@ivan.Harhan.ORG> | 
|---|---|
| date | Thu, 23 Apr 2015 06:45:55 +0000 | 
| parents | b5b54feb111a | 
| children | 
| rev | line source | 
|---|---|
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 1 /* | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 2 * In this module we are going to implement TMFFS2 functionality. | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 3 */ | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 4 | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 5 #include <sys/types.h> | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 6 #include <stdio.h> | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 7 #include <string.h> | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 8 #include <strings.h> | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 9 #include <stdlib.h> | 
| 260 
c146f38d2b5f
rvinterf subdir structure made a little more sensible
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
259diff
changeset | 10 #include "limits.h" | 
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 11 #include "localtypes.h" | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 12 #include "etm.h" | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 13 #include "ffs.h" | 
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 14 #include "tmffs2.h" | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 15 | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 16 void | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 17 cmd_ffs2_close(argc, argv) | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 18 char **argv; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 19 { | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 20 u_char cmdpkt[5]; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 21 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 22 cmdpkt[1] = ETM_FFS2; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 23 cmdpkt[2] = TMFFS_CLOSE; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 24 cmdpkt[3] = strtoul(argv[1], 0, 0); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 25 send_etm_cmd(cmdpkt, 3); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 26 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 27 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 28 void | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 29 cmd_ffs2_delete(argc, argv) | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 30 char **argv; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 31 { | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 32 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 33 int slen; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 34 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 35 slen = strlen(argv[1]); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 36 if (slen >= TMFFS_STRING_SIZE) { | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 37 printf("error: pathname arg exceeds string length limit\n"); | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 38 return; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 39 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 40 dp = cmdpkt + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 41 *dp++ = ETM_FFS2; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 42 *dp++ = TMFFS_REMOVE; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 43 *dp++ = slen + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 44 strcpy(dp, argv[1]); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 45 dp += slen + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 46 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 47 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 48 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 49 void | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 50 cmd_ffs2_format(argc, argv) | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 51 char **argv; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 52 { | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 53 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 54 int slen; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 55 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 56 slen = strlen(argv[1]); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 57 if (slen >= TMFFS_STRING_SIZE) { | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 58 printf("error: argument exceeds string length limit\n"); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 59 return; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 60 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 61 dp = cmdpkt + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 62 *dp++ = ETM_FFS2; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 63 *dp++ = TMFFS_FORMAT; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 64 *dp++ = slen + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 65 strcpy(dp, argv[1]); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 66 dp += slen + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 67 /* magic is 0x2BAD, 16-bit little-endian */ | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 68 *dp++ = 0xAD; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 69 *dp++ = 0x2B; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 70 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 71 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 72 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 73 void | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 74 cmd_ffs2_mkdir(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 75 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 76 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 77 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 78 int slen; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 79 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 80 slen = strlen(argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 81 if (slen >= TMFFS_STRING_SIZE) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 82 printf("error: pathname arg exceeds string length limit\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 83 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 84 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 85 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 86 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 87 *dp++ = TMFFS_MKDIR; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 88 *dp++ = slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 89 strcpy(dp, argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 90 dp += slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 91 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 92 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 93 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 94 void | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 95 cmd_ffs2_open(argc, argv) | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 96 char **argv; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 97 { | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 98 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 99 int slen; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 100 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 101 slen = strlen(argv[1]); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 102 if (slen >= TMFFS_STRING_SIZE) { | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 103 printf("error: pathname arg exceeds string length limit\n"); | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 104 return; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 105 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 106 dp = cmdpkt + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 107 *dp++ = ETM_FFS2; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 108 *dp++ = TMFFS_OPEN; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 109 *dp++ = slen + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 110 strcpy(dp, argv[1]); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 111 dp += slen + 1; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 112 *dp++ = strtoul(argv[2], 0, 16); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 113 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 114 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 115 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 116 void | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 117 cmd_ffs2_opendir(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 118 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 119 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 120 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 121 int slen; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 122 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 123 slen = strlen(argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 124 if (slen >= TMFFS_STRING_SIZE) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 125 printf("error: pathname arg exceeds string length limit\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 126 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 127 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 128 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 129 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 130 *dp++ = TMFFS_OPENDIR; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 131 *dp++ = slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 132 strcpy(dp, argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 133 dp += slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 134 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 135 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 136 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 137 void | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 138 cmd_ffs2_preformat() | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 139 { | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 140 u_char cmdpkt[6]; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 141 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 142 cmdpkt[1] = ETM_FFS2; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 143 cmdpkt[2] = TMFFS_PREFORMAT; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 144 /* magic is 0xDEAD, 16-bit little-endian */ | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 145 cmdpkt[3] = 0xAD; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 146 cmdpkt[4] = 0xDE; | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 147 send_etm_cmd(cmdpkt, 4); | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 148 } | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 149 | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 150 void | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 151 cmd_ffs2_query(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 152 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 153 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 154 u_char cmdpkt[5]; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 155 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 156 cmdpkt[1] = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 157 cmdpkt[2] = TMFFS_QUERY; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 158 cmdpkt[3] = strtoul(argv[1], 0, 0); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 159 send_etm_cmd(cmdpkt, 3); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 160 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 161 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 162 void | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 163 cmd_ffs2_readfd(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 164 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 165 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 166 u_char cmdpkt[6]; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 167 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 168 cmdpkt[1] = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 169 cmdpkt[2] = TMFFS_READ; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 170 cmdpkt[3] = strtoul(argv[1], 0, 0); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 171 cmdpkt[4] = strtoul(argv[2], 0, 0); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 172 send_etm_cmd(cmdpkt, 4); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 173 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 174 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 175 void | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 176 cmd_ffs2_readfile(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 177 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 178 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 179 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 180 int slen; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 181 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 182 slen = strlen(argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 183 if (slen >= TMFFS_STRING_SIZE) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 184 printf("error: pathname arg exceeds string length limit\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 185 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 186 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 187 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 188 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 189 *dp++ = TMFFS_FILE_READ; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 190 *dp++ = slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 191 strcpy(dp, argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 192 dp += slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 193 *dp++ = strtoul(argv[2], 0, 0); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 194 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 195 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 196 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 197 void | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 198 cmd_ffs2_stat(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 199 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 200 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 201 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 202 int slen; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 203 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 204 slen = strlen(argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 205 if (slen >= TMFFS_STRING_SIZE) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 206 printf("error: pathname arg exceeds string length limit\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 207 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 208 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 209 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 210 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 211 *dp++ = TMFFS_STAT; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 212 *dp++ = slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 213 strcpy(dp, argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 214 dp += slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 215 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 216 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 217 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 218 void | 
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 219 cmd_ffs2_version() | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 220 { | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 221 u_char cmdpkt[4]; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 222 | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 223 cmdpkt[1] = ETM_FFS2; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 224 cmdpkt[2] = TMFFS_VERSION; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 225 send_etm_cmd(cmdpkt, 2); | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 226 } | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 227 | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 228 void | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 229 cmd_ffs2_wrfile(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 230 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 231 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 232 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 233 int slen, slen2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 234 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 235 slen = strlen(argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 236 if (slen >= TMFFS_STRING_SIZE) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 237 printf("error: pathname arg exceeds string length limit\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 238 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 239 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 240 slen2 = strlen(argv[2]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 241 if (slen2 > 64) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 242 printf("error: write test data argument is too long\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 243 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 244 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 245 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 246 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 247 *dp++ = TMFFS_FILE_WRITE; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 248 *dp++ = slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 249 strcpy(dp, argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 250 dp += slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 251 *dp++ = slen2; /* no NUL-termination on test data */ | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 252 strcpy(dp, argv[2]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 253 dp += slen2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 254 *dp++ = FFS_O_CREATE | FFS_O_TRUNC; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 255 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 256 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 257 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 258 void | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 259 cmd_ffs2_writefd(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 260 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 261 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 262 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 263 int slen2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 264 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 265 slen2 = strlen(argv[2]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 266 if (slen2 > 64) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 267 printf("error: write test data argument is too long\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 268 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 269 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 270 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 271 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 272 *dp++ = TMFFS_WRITE; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 273 *dp++ = strtoul(argv[1], 0, 0); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 274 *dp++ = slen2; /* no NUL-termination on test data */ | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 275 strcpy(dp, argv[2]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 276 dp += slen2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 277 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 278 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 279 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 280 void | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 281 cmd_ffs2_xlstat(argc, argv) | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 282 char **argv; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 283 { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 284 u_char cmdpkt[MAX_PKT_TO_TARGET], *dp; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 285 int slen; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 286 | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 287 slen = strlen(argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 288 if (slen >= TMFFS_STRING_SIZE) { | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 289 printf("error: pathname arg exceeds string length limit\n"); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 290 return; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 291 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 292 dp = cmdpkt + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 293 *dp++ = ETM_FFS2; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 294 *dp++ = TMFFS_XLSTAT; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 295 *dp++ = slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 296 strcpy(dp, argv[1]); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 297 dp += slen + 1; | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 298 send_etm_cmd(cmdpkt, dp - cmdpkt - 1); | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 299 } | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 300 | 
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 301 static struct cmdtab { | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 302 char *cmd; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 303 int minargs; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 304 int maxargs; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 305 void (*func)(); | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 306 } ffs2_cmds[] = { | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 307 {"close", 1, 1, cmd_ffs2_close}, | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 308 {"delete", 1, 1, cmd_ffs2_delete}, | 
| 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 309 {"format", 1, 1, cmd_ffs2_format}, | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 310 {"mkdir", 1, 1, cmd_ffs2_mkdir}, | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 311 {"open", 2, 2, cmd_ffs2_open}, | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 312 {"opendir", 1, 1, cmd_ffs2_opendir}, | 
| 259 
35113b1964d3
fc-tmsh ffs2: a few request-sending commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
258diff
changeset | 313 {"preformat", 0, 0, cmd_ffs2_preformat}, | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 314 {"query", 1, 1, cmd_ffs2_query}, | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 315 {"readfd", 2, 2, cmd_ffs2_readfd}, | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 316 {"readfile", 2, 2, cmd_ffs2_readfile}, | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 317 {"stat", 1, 1, cmd_ffs2_stat}, | 
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 318 {"version", 0, 0, cmd_ffs2_version}, | 
| 261 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 319 {"wrfile", 2, 2, cmd_ffs2_wrfile}, | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 320 {"writefd", 2, 2, cmd_ffs2_writefd}, | 
| 
7f14d7c789a7
fc-tmsh ffs2: most commands implemented
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: 
260diff
changeset | 321 {"xlstat", 1, 1, cmd_ffs2_xlstat}, | 
| 258 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 322 {0, 0, 0, 0} | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 323 }; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 324 | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 325 void | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 326 cmd_ffs2(argc, argv) | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 327 char **argv; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 328 { | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 329 struct cmdtab *tp; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 330 int extargs; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 331 | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 332 for (tp = ffs2_cmds; tp->cmd; tp++) | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 333 if (!strcmp(tp->cmd, argv[1])) | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 334 break; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 335 if (!tp->func) { | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 336 printf("error: no such ffs2 command\n"); | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 337 return; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 338 } | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 339 extargs = argc - 2; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 340 if (extargs > tp->maxargs) { | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 341 printf("error: too many arguments\n"); | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 342 return; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 343 } | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 344 if (extargs < tp->minargs) { | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 345 printf("error: too few arguments\n"); | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 346 return; | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 347 } | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 348 tp->func(argc - 1, argv + 1); | 
| 
ab66a2eea6a8
fc-tmsh: beginning of ffs2 command dispatch
 Michael Spacefalcon <msokolov@ivan.Harhan.ORG> parents: diff
changeset | 349 } | 
