Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

207 lines
6.5 KiB

  1. #include "precomp.h"
  2. #pragma hdrstop
  3. /**************************************************************************/
  4. /***** Common Library Component - INF File Handling Routines 19 ***********/
  5. /**************************************************************************/
  6. /*
  7. ** Purpose:
  8. ** Prints the contents of an Option Element Record to a file.
  9. ** Arguments:
  10. ** pfh: non-NULL file handle pointer returned from a successful call
  11. ** to PfhOpenFile() with write privileges.
  12. ** poer: OER to print.
  13. ** Returns:
  14. ** fFalse if error.
  15. ** fTrue if successful.
  16. **
  17. **************************************************************************/
  18. BOOL APIENTRY FPrintPoer(pfh, poer)
  19. PFH pfh;
  20. POER poer;
  21. {
  22. BOOL fOkay = fTrue;
  23. CHP rgchp[40];
  24. AssertDataSeg();
  25. ChkArg(pfh != (PFH)NULL, 1, fFalse);
  26. ChkArg(poer != (POER)NULL, 2, fFalse);
  27. fOkay &= FWriteSzToFile(pfh, "\r\n\r\n Flag Value\r\n----------------------------------");
  28. if (poer->szAppend == (SZ)NULL)
  29. fOkay &= FWriteSzToFile(pfh, "\r\n APPEND NULL");
  30. else
  31. {
  32. fOkay &= FWriteSzToFile(pfh, "\r\n APPEND ");
  33. fOkay &= FWriteSzToFile(pfh, (poer->szAppend));
  34. }
  35. if (poer->szBackup == (SZ)NULL)
  36. fOkay &= FWriteSzToFile(pfh, "\r\n BACKUP NULL");
  37. else
  38. {
  39. fOkay &= FWriteSzToFile(pfh, "\r\n BACKUP ");
  40. fOkay &= FWriteSzToFile(pfh, (poer->szBackup));
  41. }
  42. if (poer->oef & oefCopy)
  43. fOkay &= FWriteSzToFile(pfh, "\r\n COPY ON");
  44. else
  45. fOkay &= FWriteSzToFile(pfh, "\r\n COPY OFF");
  46. if (poer->szDate == (SZ)NULL)
  47. fOkay &= FWriteSzToFile(pfh, "\r\n DATE NULL");
  48. else
  49. {
  50. fOkay &= FWriteSzToFile(pfh, "\r\n DATE ");
  51. fOkay &= FWriteSzToFile(pfh, (poer->szDate));
  52. }
  53. if (poer->oef & oefDecompress)
  54. fOkay &= FWriteSzToFile(pfh, "\r\n DECOMPRESS ON");
  55. else
  56. fOkay &= FWriteSzToFile(pfh, "\r\n DECOMPRESS OFF");
  57. if (poer->szDescription == (SZ)NULL)
  58. fOkay &= FWriteSzToFile(pfh, "\r\n DESCRIPTION NULL");
  59. else
  60. {
  61. fOkay &= FWriteSzToFile(pfh, "\r\n DESCRIPTION ");
  62. fOkay &= FWriteSzToFile(pfh, (poer->szDescription));
  63. }
  64. if (poer->szDest == (SZ)NULL) /* REVIEW EBU */
  65. fOkay &= FWriteSzToFile(pfh, "\r\n DESTINATION NULL");
  66. else
  67. {
  68. fOkay &= FWriteSzToFile(pfh, "\r\n DESTINATION ");
  69. fOkay &= FWriteSzToFile(pfh, (poer->szDest));
  70. }
  71. fOkay &= FWriteSzToFile(pfh, "\r\n OVERWRITE ");
  72. if (poer->owm == owmAlways)
  73. fOkay &= FWriteSzToFile(pfh, "ALWAYS");
  74. else if (poer->owm == owmNever)
  75. fOkay &= FWriteSzToFile(pfh, "NEVER");
  76. else if (poer->owm == owmUnprotected)
  77. fOkay &= FWriteSzToFile(pfh, "UNPROTECTED");
  78. else if (poer->owm == owmOlder)
  79. fOkay &= FWriteSzToFile(pfh, "OLDER");
  80. else if (poer->owm == owmVerifySourceOlder)
  81. fOkay &= FWriteSzToFile(pfh, "VERIFYSOURCEOLDER");
  82. else
  83. fOkay = fFalse;
  84. if (poer->oef & oefUpgradeOnly) {
  85. fOkay &= FWriteSzToFile(pfh, "\r\n UPGRADEONLY ON");
  86. }
  87. else {
  88. fOkay &= FWriteSzToFile(pfh, "\r\n UPGRADEONLY OFF");
  89. }
  90. if (poer->oef & oefReadOnly)
  91. fOkay &= FWriteSzToFile(pfh, "\r\n READONLY ON");
  92. else
  93. fOkay &= FWriteSzToFile(pfh, "\r\n READONLY OFF");
  94. if (poer->szRename == (SZ)NULL)
  95. fOkay &= FWriteSzToFile(pfh, "\r\n RENAME NULL");
  96. else
  97. {
  98. fOkay &= FWriteSzToFile(pfh, "\r\n RENAME ");
  99. fOkay &= FWriteSzToFile(pfh, (poer->szRename));
  100. }
  101. if (poer->oef & oefRoot)
  102. fOkay &= FWriteSzToFile(pfh, "\r\n ROOT ON");
  103. else
  104. fOkay &= FWriteSzToFile(pfh, "\r\n ROOT OFF");
  105. if (poer->oef & oefTimeStamp)
  106. fOkay &= FWriteSzToFile(pfh, "\r\n SETTIMESTAMP ON");
  107. else
  108. fOkay &= FWriteSzToFile(pfh, "\r\n SETTIMESTAMP OFF");
  109. fOkay &= FWriteSzToFile(pfh, "\r\n SIZE ");
  110. fOkay &= (_ltoa(poer->lSize, (LPSTR)rgchp, 10) == (LPSTR)rgchp);
  111. fOkay &= FWriteSzToFile(pfh, rgchp);
  112. fOkay &= FWriteSzToFile(pfh, "\r\n TIME ");
  113. fOkay &= (_ltoa((LONG)(poer->ctuCopyTime), (LPSTR)rgchp,10) == (LPSTR)rgchp);
  114. fOkay &= FWriteSzToFile(pfh, rgchp);
  115. if (poer->oef & oefUndo)
  116. fOkay &= FWriteSzToFile(pfh, "\r\n UNDO ON");
  117. else
  118. fOkay &= FWriteSzToFile(pfh, "\r\n UNDO OFF");
  119. fOkay &= FWriteSzToFile(pfh, "\r\n VERSION ");
  120. fOkay &= (_ltoa((poer->ulVerMS) >> 16, (LPSTR)rgchp, 10) == (LPSTR)rgchp);
  121. fOkay &= FWriteSzToFile(pfh, rgchp);
  122. fOkay &= FWriteSzToFile(pfh, ",");
  123. fOkay &= (_ltoa((poer->ulVerMS) & 0xFFFF, (LPSTR)rgchp, 10) == (LPSTR)rgchp);
  124. fOkay &= FWriteSzToFile(pfh, rgchp);
  125. fOkay &= FWriteSzToFile(pfh, ",");
  126. fOkay &= (_ltoa((poer->ulVerLS) >> 16, (LPSTR)rgchp, 10) == (LPSTR)rgchp);
  127. fOkay &= FWriteSzToFile(pfh, rgchp);
  128. fOkay &= FWriteSzToFile(pfh, ",");
  129. fOkay &= (_ltoa((poer->ulVerLS) & 0xFFFF, (LPSTR)rgchp, 10) == (LPSTR)rgchp);
  130. fOkay &= FWriteSzToFile(pfh, rgchp);
  131. if (poer->oef & oefVital)
  132. fOkay &= FWriteSzToFile(pfh, "\r\n VITAL ON");
  133. else
  134. fOkay &= FWriteSzToFile(pfh, "\r\n VITAL OFF");
  135. return(fOkay);
  136. }
  137. /*
  138. ** Purpose:
  139. ** Prints the contents of a Section File Descriptor to a file.
  140. ** Arguments:
  141. ** pfh: non-NULL file handle pointer returned from a successful call
  142. ** to PfhOpenFile() with write privileges.
  143. ** psfd: SFD to print.
  144. ** Returns:
  145. ** fFalse if error.
  146. ** fTrue if successful.
  147. **
  148. **************************************************************************/
  149. BOOL APIENTRY FPrintPsfd(pfh, psfd)
  150. PFH pfh;
  151. PSFD psfd;
  152. {
  153. BOOL fOkay = fTrue;
  154. PCHP rgchp;
  155. AssertDataSeg();
  156. ChkArg(pfh != (PFH)NULL, 1, fFalse);
  157. ChkArg(psfd != (PSFD)NULL, 2, fFalse);
  158. if (psfd->did < didMin ||
  159. psfd->did > didMost ||
  160. psfd->szFile == (SZ)NULL)
  161. return(fFalse);
  162. if ((rgchp = (PCHP)SAlloc((CB)(40 * sizeof(CHP)))) == (PCHP)NULL)
  163. return(fFalse);
  164. fOkay &= FWriteSzToFile(pfh, "\r\n\r\nDID = ");
  165. fOkay &= (_itoa((INT)(psfd->did), rgchp, 10) == rgchp);
  166. fOkay &= FWriteSzToFile(pfh, rgchp);
  167. fOkay &= FWriteSzToFile(pfh, "\r\nszFile = ");
  168. fOkay &= FWriteSzToFile(pfh, psfd->szFile);
  169. fOkay &= FPrintPoer(pfh, &(psfd->oer));
  170. SFree(rgchp);
  171. return(fOkay);
  172. }