home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / mag&info / msjv7_4.zip / OPEN.ARJ / TEST.C < prev    next >
Text File  |  1992-07-01  |  7KB  |  344 lines

  1.  
  2.  
  3. unsigned char     DosMajVer = 5;
  4. unsigned char     DosMinVer = 0;
  5.  
  6. #include "file_io.h"
  7. #include "stdlib.h"
  8. #include "stdio.h"
  9. #include "conio.h"
  10. #include "string.h"
  11.  
  12. void SetDosVer (void);
  13. void TestTrueName (void);
  14. void TestOpen (void);
  15. void TestClose (void);
  16. void TestOpenTemp (void);
  17. void TestCloseTemp (void);
  18. void TestCommit (void);
  19. void TestDelete (void);
  20. void TestDup (void);
  21. void TestGetSize (void);
  22. void TestRead (void);
  23. void TestSeek (void);
  24. void TestSetSize (void);
  25. void TestWrite (void);
  26.  
  27. #define     MAX_FILES   60
  28.  
  29. BYTE asName [MAX_FILES][130];
  30.  
  31. void main (void)
  32. {
  33. int iCmd, iFile;
  34.  
  35.    do
  36.       {
  37.       printf ("\nOpen Files:\n");
  38.       for (iFile=0; iFile<MAX_FILES; iFile++)
  39.          if (asName[iFile][0])
  40.             printf ("%d\t%s\n", iFile, asName[iFile]);
  41.  
  42.       printf ("\nDOS Version %d.%d\n", DosMajVer, DosMinVer);
  43.       printf ("A\tSet DOS Version Number\tH\tTest FileDelete\n");
  44.       printf ("B\tTest FileTrueName\tI\tTest FileDup\n");
  45.       printf ("C\tTest FileOpen\t\tJ\tTest FileGetSize\n");
  46.       printf ("D\tTest FileClose\t\tK\tTest FileRead\n");
  47.       printf ("E\tTest FileOpenTemp\tL\tTest FileSeek\n");
  48.       printf ("F\tTest FileCloseTemp\tM\tTest FileSetSize\n");
  49.       printf ("G\tTest FileCommit\t\tN\tTest FileWrite\n");
  50.  
  51.       printf ("X\tExit\n");
  52.       iCmd = toupper (getch ());
  53.       printf ("\n");
  54.  
  55.       switch (iCmd)
  56.          {
  57.          case 'A' :
  58.             SetDosVer ();
  59.             break;
  60.          case 'B' :
  61.             TestTrueName ();
  62.             break;
  63.  
  64.          case 'C' :
  65.             TestOpen ();
  66.             break;
  67.          case 'D' :
  68.             TestClose ();
  69.             break;
  70.          case 'E' :
  71.             TestOpenTemp ();
  72.             break;
  73.          case 'F' :
  74.             TestCloseTemp ();
  75.             break;
  76.  
  77.          case 'G' :
  78.             TestCommit ();
  79.             break;
  80.          case 'H' :
  81.             TestDelete ();
  82.             break;
  83.          case 'I' :
  84.             TestDup ();
  85.             break;
  86.  
  87.          case 'J' :
  88.             TestGetSize ();
  89.             break;
  90.          case 'K' :
  91.             TestRead ();
  92.             break;
  93.          case 'L' :
  94.             TestSeek ();
  95.             break;
  96.          case 'M' :
  97.             TestSetSize ();
  98.             break;
  99.          case 'N' :
  100.             TestWrite ();
  101.             break;
  102.  
  103.          case 'X' :
  104.             break;
  105.          default :
  106.             putch (7);
  107.             break;
  108.          }
  109.  
  110.       }
  111.    while (iCmd != 'X');
  112.    printf ("\nAll Done\n");
  113. }
  114.  
  115. void SetDosVer (void)
  116. {
  117.  
  118.    printf ("Major Version: ");
  119.    scanf ("%d", &DosMajVer);
  120.    printf ("Minor Version: ");
  121.    scanf ("%d", &DosMinVer);
  122. }
  123.  
  124. void TestTrueName (void)
  125. {
  126. unsigned uRtn;
  127. BYTE sName[130], sTrue[130];
  128.  
  129.    memset (sTrue, '$', 128);
  130.    sTrue[128] = 0;
  131.  
  132.    printf ("Enter file name: ");
  133.    gets (sName);
  134.  
  135.    uRtn = FileTrueName (sName, sTrue);
  136.  
  137.    printf ("File: {%s} is {%s} = 0x%X\n", sName, sTrue, uRtn);
  138.  
  139. }
  140.  
  141. void TestOpen (void)
  142. {
  143. int iRtn;
  144. unsigned uMode, uAtr=0, uErr=-1;
  145. BYTE sName[128];
  146.  
  147.    printf ("Enter file name: ");
  148.    sName[0] = 0;
  149.    while (! sName[0])
  150.       gets (sName);
  151.  
  152.    printf ("Mode: ");
  153.    scanf ("%x", &uMode);
  154.  
  155.    if (uMode & (O_CREATE | O_TEMP))
  156.       {
  157.       printf ("Atr: ");
  158.       scanf ("%x", &uAtr);
  159.       }
  160.  
  161.    iRtn = FileOpen (sName, uMode, uAtr, &uErr);
  162.    printf ("FileOpen (%s, 0x%X, 0x%X, 0x%X) = %d\n", sName, uMode, uAtr,
  163.            uErr, iRtn);
  164.  
  165.    if ((iRtn >= 0) && (iRtn < MAX_FILES))
  166.       {
  167.       FileTrueName (sName, asName[iRtn]);
  168.       asName[iRtn][128] = 0;
  169.       }
  170.  
  171. }
  172.  
  173. void TestClose (void)
  174. {
  175. int iHdl;
  176. unsigned uRtn;
  177. BYTE *pBuf;
  178.  
  179.    printf ("File Handle: ");
  180.    scanf ("%d", &iHdl);
  181.  
  182.    uRtn = FileClose (iHdl);
  183.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  184.       pBuf = asName[iHdl];
  185.    else
  186.       pBuf = "none";
  187.    printf ("FileClose (%d {%s}) = 0x%X\n", iHdl, pBuf, uRtn);
  188.  
  189.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  190.       asName[iHdl][0] = 0;
  191. }
  192.  
  193. void TestOpenTemp (void)
  194. {
  195. int iRtn;
  196. long lSize;
  197. BYTE sName[128];
  198.  
  199.    printf ("Length: ");
  200.    scanf ("%ld", &lSize);
  201.  
  202.    iRtn = FileOpenTemp (sName, lSize);
  203.    printf ("FileOpenTemp (%s, %ld) = %d\n", sName, lSize, iRtn);
  204.  
  205.    if ((iRtn >= 0) && (iRtn < MAX_FILES))
  206.       {
  207.       strncpy (asName[iRtn], sName, 128);
  208.       asName[iRtn][128] = 0;
  209.       }
  210. }
  211.  
  212. void TestCloseTemp (void)
  213. {
  214. int iHdl;
  215. unsigned uRtn;
  216. BYTE *pBuf;
  217.  
  218.    printf ("File Handle: ");
  219.    scanf ("%d", &iHdl);
  220.  
  221.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  222.       pBuf = asName[iHdl];
  223.    else
  224.       pBuf = "none";
  225.    uRtn = FileCloseTemp (iHdl, pBuf);
  226.    printf ("FileCloseTemp (%d, %s) = 0x%X\n", iHdl, pBuf, uRtn);
  227.  
  228.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  229.       asName[iHdl][0] = 0;
  230. }
  231.  
  232. void TestCommit (void)
  233. {
  234. int iHdl;
  235. unsigned uRtn;
  236. BYTE *pBuf;
  237.  
  238.    printf ("File Handle: ");
  239.    scanf ("%d", &iHdl);
  240.  
  241.    uRtn = FileCommit (iHdl, 0);
  242.  
  243.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  244.       pBuf = asName[iHdl];
  245.    else
  246.       pBuf = "none";
  247.    printf ("FileCommit (%d {%s}) = 0x%X\n", iHdl, pBuf, uRtn);
  248. }
  249.  
  250. void TestDelete (void)
  251. {
  252. unsigned uRtn;
  253. BYTE sName[130];
  254.  
  255.    printf ("File: ");
  256.    gets (sName);
  257.  
  258.    uRtn = FileDelete (sName);
  259.  
  260.    printf ("FileDelete (%s) = 0x%X\n", sName, uRtn);
  261. }
  262.  
  263. void TestDup (void)
  264. {
  265. int iHdl, iDup;
  266. BYTE *pBuf;
  267.  
  268.    printf ("File Handle: ");
  269.    scanf ("%d", &iHdl);
  270.  
  271.    iDup = FileDup (iHdl);
  272.  
  273.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  274.       pBuf = asName[iHdl];
  275.    else
  276.       pBuf = "none";
  277.    printf ("FileDup (%d {%s}) = %d\n", iHdl, pBuf, iDup);
  278.  
  279.    if ((iDup >= 0) && (iDup < MAX_FILES))
  280.       strcpy (asName[iDup], pBuf);
  281. }
  282.  
  283. void TestGetSize (void)
  284. {
  285. int iHdl;
  286. long lSize;
  287. BYTE *pBuf;
  288.  
  289.    printf ("File Handle: ");
  290.    scanf ("%d", &iHdl);
  291.  
  292.    lSize = FileGetSize (iHdl);
  293.  
  294.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  295.       pBuf = asName[iHdl];
  296.    else
  297.       pBuf = "none";
  298.    printf ("FileGetSize (%d {%s}) = %ld\n", iHdl, pBuf, lSize);
  299. }
  300.  
  301. void TestRead (void)
  302. {
  303.  
  304.  
  305.  
  306. }
  307.  
  308. void TestSeek (void)
  309. {
  310.  
  311.  
  312.  
  313. }
  314.  
  315. void TestSetSize (void)
  316. {
  317. int iHdl;
  318. unsigned uRtn;
  319. long lSize;
  320. BYTE *pBuf;
  321.  
  322.    printf ("File Handle: ");
  323.    scanf ("%d", &iHdl);
  324.  
  325.    printf ("File Size: ");
  326.    scanf ("%ld", &lSize);
  327.  
  328.    uRtn = FileSetSize (iHdl, lSize);
  329.  
  330.    if ((iHdl >= 0) && (iHdl < MAX_FILES))
  331.       pBuf = asName[iHdl];
  332.    else
  333.       pBuf = "none";
  334.    printf ("FileSetSize (%d {%s}, %ld) = 0x%X\n", iHdl, pBuf, lSize, uRtn);
  335. }
  336.  
  337. void TestWrite (void)
  338. {
  339.  
  340.  
  341.  
  342. }
  343.  
  344.