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.

284 lines
21 KiB

  1. #include <stdio.h>
  2. typedef struct _message {
  3. unsigned int id;
  4. char *str;
  5. } MESSAGE;
  6. MESSAGE __MSGTAB[] = {
  7. {1001, "%s : option name ambiguous"}, // "%s : option name ambiguous"
  8. {1003, "/Q and /EXEPACK incompatible"}, // "/Q and /EXEPACK incompatible"
  9. {1004, "%s : invalid numeric value"}, // "%s : invalid numeric value"
  10. {1005, "%s : packing limit exceeds 64K"}, // "%s : packing limit exceeds 64K"
  11. {1006, "%s : stack size exceeds 64K-2"}, // "%s : stack size exceeds 64K-2"
  12. {1007, "%s : interrupt number exceeds 255"}, // "%s : interrupt number exceeds 255"
  13. {1008, "%s : segment limit set too high"}, // "%s : segment limit set too high"
  14. {1009, "%s : /CPARM : illegal value"}, // "%s : /CPARM : illegal value"
  15. {1020, "no object files specified"}, // "no object files specified"
  16. {1021, "cannot nest response files"}, // "cannot nest response files"
  17. {1022, "response line too long"}, // "response line too long"
  18. {1023, "terminated by user"}, // "terminated by user"
  19. {1024, "nested right parentheses"}, // "nested right parentheses"
  20. {1025, "nested left parentheses"}, // "nested left parentheses"
  21. {1026, "unmatched right parenthesis"}, // "unmatched right parenthesis"
  22. {1027, "unmatched left parenthesis"}, // "unmatched left parenthesis"
  23. {1030, "missing internal name"}, // "missing internal name"
  24. {1031, "module description redefined"}, // "module description redefined"
  25. {1032, "module name redefined"}, // "module name redefined"
  26. {1033, "input line too long; %d characters allowed"}, // "input line too long; %d characters allowed"
  27. {1034, "name truncated to '%s'"}, // "name truncated to '%s'"
  28. {1035, "%s in module-definition file"}, // "%s in module-definition file"
  29. {1040, "too many exported entries"}, // "too many exported entries"
  30. {1041, "resident names table overflow"}, // "resident names table overflow"
  31. {1042, "nonresident names table overflow"}, // "nonresident names table overflow"
  32. {1043, "relocation table overflow"}, // "relocation table overflow"
  33. {1044, "imported names table overflow"}, // "imported names table overflow"
  34. {1045, "too many TYPDEF records"}, // "too many TYPDEF records"
  35. {1046, "too many external symbols in one module"}, // "too many external symbols in one module"
  36. {1047, "too many group, segment, and class names in one module"}, // "too many group, segment, and class names in one module"
  37. {1048, "too many segments in one module"}, // "too many segments in one module"
  38. {1049, "too many segments"}, // "too many segments"
  39. {1050, "too many groups in one module"}, // "too many groups in one module"
  40. {1051, "too many groups"}, // "too many groups"
  41. {1052, "too many libraries"}, // "too many libraries"
  42. {1053, "out of memory for symbol table"}, // "out of memory for symbol table"
  43. {1054, "requested segment limit too high"}, // "requested segment limit too high"
  44. {1056, "too many overlays"}, // "too many overlays"
  45. {1057, "data record too large"}, // "data record too large"
  46. {1063, "out of memory for debugging information"}, // "out of memory for debugging information"
  47. {1064, "out of memory"}, // "out of memory"
  48. {1065, "too many interoverlay calls\r\nuse /DYNAMIC:<nnn>; current limit is %d"}, // "too many interoverlay calls\r\nuse /DYNAMIC:<nnn>; current limit is %d"
  49. {1066, "size of %d overlay exceeds 64K"}, // "size of %d overlay exceeds 64K"
  50. {1067, "system memory allocation error; reboot and relink"}, // "system memory allocation error; reboot and relink"
  51. {1070, "%s : segment size exceeds 64K"}, // "%s : segment size exceeds 64K"
  52. {1071, "segment _TEXT exceeds 64K-16"}, // "segment _TEXT exceeds 64K-16"
  53. {1072, "common area longer than 65536 bytes"}, // "common area longer than 65536 bytes"
  54. {1073, "file-segment limit exceeded"}, // "file-segment limit exceeded"
  55. {1074, "%s : group larger than 64K bytes"}, // "%s : group larger than 64K bytes"
  56. {1075, "entry table exceeds 64K-1"}, // "entry table exceeds 64K-1"
  57. {1076, "%s : segment size exceeds %dMB"}, // "%s : segment size exceeds %dMB"
  58. {1077, "common area longer than 4GB-1"}, // "common area longer than 4GB-1"
  59. {1078, "file-segment alignment too small"}, // "file-segment alignment too small"
  60. {1080, "cannot open list file"}, // "cannot open list file"
  61. {1081, "cannot write to the executable file - %s"}, // "cannot write to the executable file - %s"
  62. {1082, "%s : stub file not found"}, // "%s : stub file not found"
  63. {1083, "%s : cannot open run file - %s"}, // "%s : cannot open run file - %s"
  64. {1084, "cannot create temporary file"}, // "cannot create temporary file"
  65. {1085, "cannot open temporary file - %s"}, // "cannot open temporary file - %s"
  66. {1086, "temporary file missing"}, // "temporary file missing"
  67. {1087, "unexpected end-of-file on temporary file"}, // "unexpected end-of-file on temporary file"
  68. {1088, "out of space for list file"}, // "out of space for list file"
  69. {1089, "%s : cannot open response file"}, // "%s : cannot open response file"
  70. {1090, "cannot reopen list file"}, // "cannot reopen list file"
  71. {1091, "unexpected end-of-file on library"}, // "unexpected end-of-file on library"
  72. {1092, "cannot open module-definition file - %s"}, // "cannot open module-definition file - %s"
  73. {1093, "%s : object file not found"}, // "%s : object file not found"
  74. {1094, "%s : cannot open file for writing"}, // "%s : cannot open file for writing"
  75. {1095, "%s : out of space for file"}, // "%s : out of space for file"
  76. {1096, "unexpected end-of-file in response file"}, // "unexpected end-of-file in response file"
  77. {1097, "I/O error - %s"}, // "I/O error - %s"
  78. {1098, "cannot open include file '%s' - %s"}, // "cannot open include file '%s' - %s"
  79. {1100, "stub .EXE file invalid"}, // "stub .EXE file invalid"
  80. {1101, "invalid object module"}, // "invalid object module"
  81. {1102, "unexpected end-of-file"}, // "unexpected end-of-file"
  82. {1103, "%s : attempt to access data outside segment bounds"}, // "%s : attempt to access data outside segment bounds"
  83. {1104, "%s : not valid library"}, // "%s : not valid library"
  84. {1105, "invalid object due to interrupted incremental compile"}, // "invalid object due to interrupted incremental compile"
  85. {1106, "unknown COMDAT allocation type for %s; record ignored"}, // "unknown COMDAT allocation type for %s; record ignored"
  86. {1107, "unknown COMDAT selection type for %s; record ignored"}, // "unknown COMDAT selection type for %s; record ignored"
  87. {1108, "invalid format of debugging information"}, // "invalid format of debugging information"
  88. {1109, "%s : library path too long"}, // "%s : library path too long"
  89. {1113, "unresolved COMDEF; internal error"}, // "unresolved COMDEF; internal error"
  90. {1114, "unresolved COMDAT %s; internal error"}, // "unresolved COMDAT %s; internal error"
  91. {1115, "%s: option incompatible with overlays"}, // "%s: option incompatible with overlays"
  92. {1117, "unallocated COMDAT %s; internal error"}, // "unallocated COMDAT %s; internal error"
  93. {1123, "%s : segment defined both 16- and 32-bit"}, // "%s : segment defined both 16- and 32-bit"
  94. {1126, "conflicting pwords value"}, // "conflicting pwords value"
  95. {1127, "far segment references not allowed with /TINY"}, // "far segment references not allowed with /TINY"
  96. {1128, "too many nested include files in module-definition file"}, // "too many nested include files in module-definition file"
  97. {1129, "missing or invalid include file name"}, // "missing or invalid include file name"
  98. {2000, "imported starting address"}, // "imported starting address"
  99. {2002, "fixup overflow at %lX in segment %s"}, // "fixup overflow at %lX in segment %s"
  100. {2003, "near reference to far target at %lX in segment %s"}, // "near reference to far target at %lX in segment %s"
  101. {2005, "fixup type unsupported at %lX in segment %s"}, // "fixup type unsupported at %lX in segment %s"
  102. {2010, "too many fixups in LIDATA record"}, // "too many fixups in LIDATA record"
  103. {2011, "%s : NEAR/HUGE conflict"}, // "%s : NEAR/HUGE conflict"
  104. {2012, "%s : array-element size mismatch"}, // "%s : array-element size mismatch"
  105. {2013, "LIDATA record too large"}, // "LIDATA record too large"
  106. {2022, "%s%s: export undefined"}, // "%s%s: export undefined"
  107. {2023, "%s (alias %s) : export imported"}, // "%s (alias %s) : export imported"
  108. {2024, "%s : special symbol already defined"}, // "%s : special symbol already defined"
  109. {2025, "%s : symbol defined more than once"}, // "%s : symbol defined more than once"
  110. {2026, "entry ordinal %u, name %s : multiple definitions for same ordinal"}, // "entry ordinal %u, name %s : multiple definitions for same ordinal"
  111. {2027, "%s : ordinal too large for export"}, // "%s : ordinal too large for export"
  112. {2028, "automatic data segment plus heap exceed 64K"}, // "automatic data segment plus heap exceed 64K"
  113. {2029, "'%s' : unresolved external\r\n"}, // "'%s' : unresolved external\r\n"
  114. {2030, "starting address not code (use class 'CODE')"}, // "starting address not code (use class 'CODE')"
  115. {2041, "stack plus data exceed 64K"}, // "stack plus data exceed 64K"
  116. {2043, "Quick library support module missing"}, // "Quick library support module missing"
  117. {2044, "%s : symbol multiply defined, use /NOE"}, // "%s : symbol multiply defined, use /NOE"
  118. {2045, "%s : segment with > 1 class name not allowed with /INCR"}, // "%s : segment with > 1 class name not allowed with /INCR"
  119. {2046, "share attribute conflict - segment %s in group %s"}, // "share attribute conflict - segment %s in group %s"
  120. {2047, "IOPL attribute conflict - segment %s in group %s"}, // "IOPL attribute conflict - segment %s in group %s"
  121. {2048, "Microsoft Overlay Manager module not found"}, // "Microsoft Overlay Manager module not found"
  122. {2049, "Microsoft DOS Extender module not found"}, // "Microsoft DOS Extender module not found"
  123. {2050, "USE16/USE32 attribute conflict - segment %s in group %s"}, // "USE16/USE32 attribute conflict - segment %s in group %s"
  124. {2052, "'%s' : unresolved external - possible calling convention mismatch\r\n"}, // "'%s' : unresolved external - possible calling convention mismatch\r\n"
  125. {2057, "duplicate of %s with different size found; record ignored"}, // "duplicate of %s with different size found; record ignored"
  126. {2058, "different duplicate of %s found; record ignored"}, // "different duplicate of %s found; record ignored"
  127. {2059, "size of data block associated with %s exceeds 4GB"}, // "size of data block associated with %s exceeds 4GB"
  128. {2060, "size of data block associated with %s (16-bit segment) exceeds 64K"}, // "size of data block associated with %s (16-bit segment) exceeds 64K"
  129. {2061, "no space for data block associated with %s inside %s segment"}, // "no space for data block associated with %s inside %s segment"
  130. {2062, "continuation of COMDAT %s has conflicting attributes; record ignored"}, // "continuation of COMDAT %s has conflicting attributes; record ignored"
  131. {2063, "%s allocated in undefined segment"}, // "%s allocated in undefined segment"
  132. {2064, "starting address not in the root overlay"}, // "starting address not in the root overlay"
  133. {2066, "static initialization of overlaid data not allowed"}, // "static initialization of overlaid data not allowed"
  134. {4000, "segment displacement included near %04lX in segment %s"}, // "segment displacement included near %04lX in segment %s"
  135. {4001, "frame-relative fixup, frame ignored near %04lX in segment %s"}, // "frame-relative fixup, frame ignored near %04lX in segment %s"
  136. {4002, "frame-relative absolute fixup near %04lX in segment %s"}, // "frame-relative absolute fixup near %04lX in segment %s"
  137. {4003, "intersegment self-relative fixup at %04lX in segment %s"}, // "intersegment self-relative fixup at %04lX in segment %s"
  138. {4004, "possible fixup overflow at %lX in segment %s"}, // "possible fixup overflow at %lX in segment %s"
  139. {4010, "invalid alignment specification"}, // "invalid alignment specification"
  140. {4011, "/PACKC value exceeding 64K-36 unreliable"}, // "/PACKC value exceeding 64K-36 unreliable"
  141. {4012, "/HIGH disables /EXEPACK"}, // "/HIGH disables /EXEPACK"
  142. {4013, "%s : option ignored for segmented-executable file"}, // "%s : option ignored for segmented-executable file"
  143. {4014, "%s : option ignored for MS-DOS executable file"}, // "%s : option ignored for MS-DOS executable file"
  144. {4015, "/CO disables /DSALLOC"}, // "/CO disables /DSALLOC"
  145. {4016, "/CO disables /EXEPACK"}, // "/CO disables /EXEPACK"
  146. {4017, "/%s : unrecognized option name; option ignored"}, // "/%s : unrecognized option name; option ignored"
  147. {4018, "missing or unrecognized application type; option %s ignored"}, // "missing or unrecognized application type; option %s ignored"
  148. {4019, "/TINY disables /INCR"}, // "/TINY disables /INCR"
  149. {4087, "/DYNAMIC disables /EXEPACK"}, // "/DYNAMIC disables /EXEPACK"
  150. {4020, "%s : code-segment size exceeds 64K-36"}, // "%s : code-segment size exceeds 64K-36"
  151. {4021, "no stack segment"}, // "no stack segment"
  152. {4022, "%s, %s : groups overlap"}, // "%s, %s : groups overlap"
  153. {4023, "%s(%s) : export internal name conflict"}, // "%s(%s) : export internal name conflict"
  154. {4024, "%s : multiple definitions for export name"}, // "%s : multiple definitions for export name"
  155. {4025, "%s.%s(%s) : import internal name conflict"}, // "%s.%s(%s) : import internal name conflict"
  156. {4026, "%s.%s(%s) : self-imported"}, // "%s.%s(%s) : self-imported"
  157. {4027, "%s : multiple definitions for import internal name"}, // "%s : multiple definitions for import internal name"
  158. {4028, "%s : segment already defined"}, // "%s : segment already defined"
  159. {4029, "%s : DGROUP segment converted to type data"}, // "%s : DGROUP segment converted to type data"
  160. {4030, "%s : segment attributes changed to conform with\r\n automatic data segment"}, // "%s : segment attributes changed to conform with\r\n automatic data segment"
  161. {4031, "%s : segment declared in more than one group"}, // "%s : segment declared in more than one group"
  162. {4032, "%s : code-group size exceeds 64K-36"}, // "%s : code-group size exceeds 64K-36"
  163. {4033, "first segment in mixed group %s is a USE32 segment"}, // "first segment in mixed group %s is a USE32 segment"
  164. {4034, "more than %d overlay segments; extra put in root"}, // "more than %d overlay segments; extra put in root"
  165. {4036, "no automatic data segment"}, // "no automatic data segment"
  166. {4038, "program has no starting address"}, // "program has no starting address"
  167. {4040, "stack size ignored for /TINY"}, // "stack size ignored for /TINY"
  168. {4050, "file not suitable for /EXEPACK; relink without"}, // "file not suitable for /EXEPACK; relink without"
  169. {4055, "start address not equal to 0x100 for /TINY"}, // "start address not equal to 0x100 for /TINY"
  170. {4056, "/EXEPACK valid only for real-mode MS-DOS programs; ignored"}, // "/EXEPACK valid only for real-mode MS-DOS programs; ignored"
  171. {4057, "stack specified for DLL; ignored"}, // "stack specified for DLL; ignored"
  172. {4058, "ignoring alias for already defined symbol '%s'"}, // "ignoring alias for already defined symbol '%s'"
  173. {4059, "far reference to overlaid segment %s changed to %s"}, // "far reference to overlaid segment %s changed to %s"
  174. {4089, "both /STACK and STACKSIZE used; assuming %d"}, // "both /STACK and STACKSIZE used; assuming %d"
  175. {4042, "cannot open old version"}, // "cannot open old version"
  176. {4043, "old version not segmented executable format"}, // "old version not segmented executable format"
  177. {4045, "name of output file is '%s'"}, // "name of output file is '%s'"
  178. {4051, "%s : cannot find library"}, // "%s : cannot find library"
  179. {4053, "VM.TMP : illegal file name; ignored"}, // "VM.TMP : illegal file name; ignored"
  180. {4054, "%s : cannot find file"}, // "%s : cannot find file"
  181. {4067, "changing default resolution for weak external '%s'\r\n from '%s' to '%s'"}, // "changing default resolution for weak external '%s'\r\n from '%s' to '%s'"
  182. {4068, "ignoring stack size greater than 64K"}, // "ignoring stack size greater than 64K"
  183. {4069, "filename truncated to '%s'"}, // "filename truncated to '%s'"
  184. {4070, "too many public symbols for sorting"}, // "too many public symbols for sorting"
  185. {4075, "object type conflict - assuming '%s'"}, // "object type conflict - assuming '%s'"
  186. {4076, "no segments defined"}, // "no segments defined"
  187. {4077, "symbol '%s' not defined; ordered allocation ignored"}, // "symbol '%s' not defined; ordered allocation ignored"
  188. {4079, "symbol '%s' already defined for ordered allocation; duplicate ignored"}, // "symbol '%s' already defined for ordered allocation; duplicate ignored"
  189. {4080, "changing substitute name for alias '%s'\r\n from '%s' to '%s'"}, // "changing substitute name for alias '%s'\r\n from '%s' to '%s'"
  190. {4081, "cannot execute '%s %s' - %s\r\n"}, // "cannot execute '%s %s' - %s\r\n"
  191. {4082, "changing overlay assigment for segment '%s' from %d to %d"}, // "changing overlay assigment for segment '%s' from %d to %d"
  192. {4083, "changing overlay assigment for symbol '%s' from %d to %d"}, // "changing overlay assigment for symbol '%s' from %d to %d"
  193. {4084, "%s : argument missing; option ignored"}, // "%s : argument missing; option ignored"
  194. {4085, "%s : argument invalid; assuming %s"}, // "%s : argument invalid; assuming %s"
  195. {4088, "file not suitable for /FARCALL; relink without"}, // "file not suitable for /FARCALL; relink without"
  196. {99, "substitute symbol '%s' not found\r\n"}, // "substitute symbol '%s' not found\r\n"
  197. {102, "Enter new file spec: "}, // "Enter new file spec: "
  198. {103, "Change diskette in drive %c and press <ENTER>"}, // "Change diskette in drive %c and press <ENTER>"
  199. {104, "Temporary file %s has been created."}, // "Temporary file %s has been created."
  200. {105, "Do not change disk in drive %c:."}, // "Do not change disk in drive %c:."
  201. {106, "Please replace original diskette in drive %c and press <ENTER>\r\n"}, // "Please replace original diskette in drive %c and press <ENTER>\r\n"
  202. {107, "About to generate .EXE file"}, // "About to generate .EXE file"
  203. {108, "This program cannot be run in DOS mode.\r\n$"}, // "This program cannot be run in DOS mode.\r\n$"
  204. {109, "Valid options are:"}, // "Valid options are:"
  205. {110, "Object Modules"}, // "Object Modules"
  206. {111, "Run File"}, // "Run File"
  207. {111, "Run File"}, // "Run File"
  208. {112, "List File"}, // "List File"
  209. {113, "Libraries"}, // "Libraries"
  210. {114, "Definitions File"}, // "Definitions File"
  211. {115, "\r\nThere was 1 error detected\r\n"}, // "\r\nThere was 1 error detected\r\n"
  212. {116, "\r\nThere were %d errors detected\r\n"}, // "\r\nThere were %d errors detected\r\n"
  213. {117, "\r\n Origin Group\r\n"}, // "\r\n Origin Group\r\n"
  214. {118, "\r\n Address"}, // "\r\n Address"
  215. {119, "Export"}, // "Export"
  216. {120, "Alias\r\n\r\n"}, // "Alias\r\n\r\n"
  217. {121, "\r\n Address"}, // "\r\n Address"
  218. {122, "Publics by Name\r\n\r\n"}, // "Publics by Name\r\n\r\n"
  219. {123, "Locals by Name\r\n\r\n"}, // "Locals by Name\r\n\r\n"
  220. {124, "Publics by Value\r\n\r\n"}, // "Publics by Value\r\n\r\n"
  221. {125, "Locals by Value\r\n\r\n"}, // "Locals by Value\r\n\r\n"
  222. {126, "\r\n Start"}, // "\r\n Start"
  223. {127, "Length"}, // "Length"
  224. {128, "Name"}, // "Name"
  225. {129, "Class\r\n"}, // "Class\r\n"
  226. {130, "\r\n Start Stop Length Name"}, // "\r\n Start Stop Length Name"
  227. {131, " Resident\r\n"}, // " Resident\r\n"
  228. {132, " Overlay %XH\r\n"}, // " Overlay %XH\r\n"
  229. {133, "\r\nProgram entry point at %04X:%04X\r\n"}, // "\r\nProgram entry point at %04X:%04X\r\n"
  230. { 134, " Temporary file %s has been created.\r\nDo not change disk in drive %c:."}, // " Temporary file %s has been created.\r\nDo not change disk in drive %c:."
  231. {135, "Usage:\r\n\r\n"}, // "Usage:\r\n\r\n"
  232. {136, "LINK\r\nLINK @<response file>\r\n"}, // "LINK\r\nLINK @<response file>\r\n"
  233. {137, "LINK <objs>,<exefile>,<mapfile>,<libs>,<deffile>\r\n\r\n"}, // "LINK <objs>,<exefile>,<mapfile>,<libs>,<deffile>\r\n\r\n"
  234. {139, "This program requires Microsoft Windows.\r\n$"}, // "This program requires Microsoft Windows.\r\n$"
  235. {140, "**** PARSING DEFINITIONS FILE ****\r\n"}, // "**** PARSING DEFINITIONS FILE ****\r\n"
  236. {141, "**** PASS ONE ****\r\n"}, // "**** PASS ONE ****\r\n"
  237. {142, "**** SEARCHING LIBRARIES ****\r\n"}, // "**** SEARCHING LIBRARIES ****\r\n"
  238. {143, "**** ASSIGNING ADDRESSES ****\r\n"}, // "**** ASSIGNING ADDRESSES ****\r\n"
  239. {144, "**** PRINTING MAP FILE ****\r\n"}, // "**** PRINTING MAP FILE ****\r\n"
  240. {145, "**** PASS TWO ****\r\n"}, // "**** PASS TWO ****\r\n"
  241. {146, "**** WRITING\x20"}, // "**** WRITING\x20"
  242. {147, " - overlaid"}, // " - overlaid"
  243. {148, " EXECUTABLE ****\r\n"}, // " EXECUTABLE ****\r\n"
  244. {149, "**** NUMBER OF INTEROVERLAY CALLS: requested %d; generated %d ****\r\n"}, // "**** NUMBER OF INTEROVERLAY CALLS: requested %d; generated %d ****\r\n"
  245. {150, "**** ERRORS OCCURED - NO EXECUTABLE PRODUCED ****\r\n"}, // "**** ERRORS OCCURED - NO EXECUTABLE PRODUCED ****\r\n"
  246. {151, "Parsing Definition File"}, // "Parsing Definition File"
  247. {152, "Pass1:\x20"}, // "Pass1:\x20"
  248. {153, "Library Search:"}, // "Library Search:"
  249. {154, "Pass2:\x20"}, // "Pass2:\x20"
  250. {155, "Writing Map File"}, // "Writing Map File"
  251. {156, "Writing Executable"}, // "Writing Executable"
  252. {157, "Assigning Addresses"}, // "Assigning Addresses"
  253. {300, "target external"}, // "target external"
  254. {301, "frame segment"}, // "frame segment"
  255. {302, "target segment"}, // "target segment"
  256. {303, "target offset"}, // "target offset"
  257. {304, "warning"}, // "warning"
  258. {305, "error"}, // "error"
  259. {306, "fatal error"}, // "fatal error"
  260. {307, "Object file offset"}, // "Object file offset"
  261. {308, "Record type"}, // "Record type"
  262. {309, "in file(s)"}, // "in file(s)"
  263. {310, "Version"}, // "Version"
  264. {311, "All rights reserved"}, // "All rights reserved"
  265. {312, "\r\nSegments %u\r\n"}, // "\r\nSegments %u\r\n"
  266. {313, "Groups %u\r\n"}, // "Groups %u\r\n"
  267. {314, "Bytes in symbol table %ld\r\n"}, // "Bytes in symbol table %ld\r\n"
  268. {315, "Overlays %u\r\n"}, // "Overlays %u\r\n"
  269. {0, NULL}
  270. };
  271. char * __NMSG_TEXT(
  272. unsigned msgId
  273. ) {
  274. MESSAGE *pMsg = __MSGTAB;
  275. for (;pMsg->id; pMsg++) {
  276. if (pMsg->id == msgId)
  277. break;
  278. }
  279. return pMsg->str;
  280. }