Leaked source code of windows server 2003
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.

64 lines
1.5 KiB

  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include "chksect.h"
  4. #define SYMBOL(x) #x
  5. static char *pszResult[] =
  6. {
  7. SYMBOL(SELFTEST_NO_ERROR),
  8. SYMBOL(SELFTEST_NO_MEMORY),
  9. SYMBOL(SELFTEST_FILE_NOT_FOUND),
  10. SYMBOL(SELFTEST_READ_ERROR),
  11. SYMBOL(SELFTEST_WRITE_ERROR),
  12. SYMBOL(SELFTEST_NOT_PE_FILE),
  13. SYMBOL(SELFTEST_NO_SECTION),
  14. SYMBOL(SELFTEST_FAILED),
  15. SYMBOL(SELFTEST_ALREADY),
  16. SYMBOL(SELFTEST_SIGNED),
  17. SYMBOL(SELFTEST_DIRTY)
  18. };
  19. int __cdecl main(int argc,char *argv[])
  20. {
  21. enum SELFTEST_RESULT result;
  22. if ((sizeof(pszResult) / sizeof(pszResult[0])) != SELFTEST_MAX_RESULT)
  23. {
  24. fprintf(stderr,"pszResult[] is incomplete\n");
  25. return(1);
  26. }
  27. if (argc != 2)
  28. {
  29. fprintf(stderr,"\n"
  30. "Microsoft (R) Self-Extractor Scanning Tool - Version 1.0 (07/03/97 - msliger)\n"
  31. "Copyright (c) Microsoft Corp 1997. All rights reserved.\n"
  32. "\n"
  33. "MICROSOFT INTERNAL USE ONLY\n"
  34. "\n"
  35. "Usage: EXESCAN {package.exe}\n");
  36. return(1);
  37. }
  38. result = CheckSection(argv[1]);
  39. if (result != SELFTEST_NO_ERROR)
  40. {
  41. if (result >= SELFTEST_MAX_RESULT)
  42. {
  43. printf("EXESCAN: Result=%d (undefined)\n",result);
  44. }
  45. else
  46. {
  47. printf("EXESCAN: Result=%s\n",pszResult[result]);
  48. }
  49. }
  50. printf("[errorlevel=%d]\n",result);
  51. return(result);
  52. }