source: trunk/TOOLS/OS2/SETABOOT/MSGHELP.C@ 29

Last change on this file since 29 was 29, checked in by Ben Rietbroek, 14 years ago

AiR-BOOT v1.06 -- Complete sourceforge mirror. (r56) [2010-02-19]
Signature-date: 2006-03-13.
Also contains binairy releases from v1.01 to v1.06, cd-rom images, etc.
If you want the whole pre v1.07 shebang, checkout this revision's trunk.
The v1.06 reference version is in 'tags/v1.06r'.
Note that this reference version uses 'NL' for 'Dutch'.

File size: 3.1 KB
Line 
1#define MSG_INSERTMAXLEN 256
2
3typedef ULONG MSGID;
4
5PCHAR MSG_Filename = 0;
6CHAR MSG_Insert[5][MSG_INSERTMAXLEN] = {{0}};
7PCHAR MSG_InsertTable[9] = {(PCHAR)&MSG_Insert[0], (PCHAR)&MSG_Insert[1],
8 (PCHAR)&MSG_Insert[2], (PCHAR)&MSG_Insert[3],
9 (PCHAR)&MSG_Insert[4], 0, 0, 0, 0};
10
11BOOL MSG_Get (PCHAR DestPtr, ULONG DestMaxLength, MSGID MessageID) {
12 ULONG MessageLen = 0;
13
14 if (DosGetMessage(MSG_InsertTable, 5, DestPtr, DestMaxLength, (ULONG)MessageID, MSG_Filename, &MessageLen))
15 return FALSE;
16 DestPtr[MessageLen] = 0;
17 return TRUE;
18 }
19
20BOOL MSG_Init (PSZ MsgFile) {
21 CHAR TempBuffer[1024];
22
23 MSG_Filename = MsgFile;
24 if (MSG_Get(TempBuffer, 1024, 0))
25 return TRUE;
26 printf ("%s not found, execution aborted.\n", MSG_Filename);
27 return FALSE;
28 }
29
30VOID MSG_Print (MSGID MessageID) {
31 CHAR TempBuffer[2048];
32 ULONG MessageLen = 0;
33
34 if (DosGetMessage(MSG_InsertTable, 5, TempBuffer, 2048, (ULONG)MessageID, MSG_Filename, &MessageLen))
35 return;
36 TempBuffer[MessageLen] = 0;
37 printf (TempBuffer);
38 }
39
40VOID MSG_fPrint (HFILE FileHandle, MSGID MessageID) {
41 CHAR TempBuffer[2048];
42 ULONG MessageLen = 0;
43 ULONG Written;
44
45 if (DosGetMessage(MSG_InsertTable, 5, TempBuffer, 2048, (ULONG)MessageID, MSG_Filename, &MessageLen))
46 return;
47 TempBuffer[MessageLen] = 0;
48 DosWrite (FileHandle, &TempBuffer, MessageLen, &Written);
49 }
50
51BOOL MSG_FillInsert (ULONG InsertNo, MSGID MessageID) {
52 CHAR TempBuffer[MSG_INSERTMAXLEN];
53 ULONG MessageLen = 0;
54
55 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
56 InsertNo--;
57 if (DosGetMessage(MSG_InsertTable, 5, TempBuffer, MSG_INSERTMAXLEN, (ULONG)MessageID, MSG_Filename, &MessageLen)) {
58 MSG_Insert[InsertNo][0] = 0;
59 return FALSE;
60 }
61 memcpy (&MSG_Insert[InsertNo], TempBuffer, MessageLen);
62 MSG_Insert[InsertNo][MessageLen] = 0;
63 return TRUE;
64 }
65
66BOOL MSG_SetInsertViaPSZ (ULONG InsertNo, PSZ String) {
67 ULONG StringLen = strlen(String);
68
69 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
70 InsertNo--;
71 if (StringLen>=MSG_INSERTMAXLEN) StringLen = MSG_INSERTMAXLEN-1;
72 memcpy (MSG_Insert[InsertNo], String, StringLen);
73 MSG_Insert[InsertNo][StringLen] = 0;
74 return TRUE;
75 }
76
77BOOL MSG_SetInsertViaString (ULONG InsertNo, PCHAR StringPtr, ULONG StringLen) {
78 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
79 InsertNo--;
80 if (StringLen>=MSG_INSERTMAXLEN) StringLen = MSG_INSERTMAXLEN-1;
81 memcpy (MSG_Insert[InsertNo], StringPtr, StringLen);
82 MSG_Insert[InsertNo][StringLen] = 0;
83 return TRUE;
84 }
85
86BOOL MSG_SetInsertFileLocation (ULONG InsertNo, PSZ FileName, ULONG LineNo) {
87 ULONG StringLen = strlen(FileName);
88
89 if ((InsertNo==0) || (InsertNo>5)) return FALSE;
90 InsertNo--;
91 if (StringLen>=(MSG_INSERTMAXLEN-6)) StringLen = MSG_INSERTMAXLEN-7;
92 memcpy (MSG_Insert[InsertNo], FileName, StringLen);
93 MSG_Insert[InsertNo][StringLen] = ':';
94 ultoa (LineNo, &MSG_Insert[InsertNo][StringLen+1], 10);
95 return TRUE;
96 }
97
Note: See TracBrowser for help on using the repository browser.