~ubuntu-branches/debian/lenny/fpc/lenny

« back to all changes in this revision

Viewing changes to rtl/netware/nwsnut.pp

  • Committer: Bazaar Package Importer
  • Author(s): Mazen Neifer, Torsten Werner, Mazen Neifer
  • Date: 2008-05-17 17:12:11 UTC
  • mfrom: (3.1.9 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080517171211-9qi33xhd9evfa0kg
Tags: 2.2.0-dfsg1-9
[ Torsten Werner ]
* Add Mazen Neifer to Uploaders field.

[ Mazen Neifer ]
* Moved FPC sources into a version dependent directory from /usr/share/fpcsrc
  to /usr/share/fpcsrc/${FPCVERSION}. This allow installing more than on FPC
  release.
* Fixed far call issue in compiler preventing building huge binearies.
  (closes: #477743)
* Updated building dependencies, recomennded and suggested packages.
* Moved fppkg to fp-utils as it is just a helper tool and is not required by
  compiler.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
{
2
 
    $Id: nwsnut.pp,v 1.1 2003/02/16 17:45:08 armin Exp $
3
 
    This file is part of the Free Pascal run time library
4
 
    for Netware.
5
 
    Copyright (c) 1999-2003 by the Free Pascal development team.
6
 
                
7
 
    See the file COPYING.FPC, included in this distribution,
8
 
    for details about the copyright.
9
 
                        
10
 
    This program is distributed in the hope that it will be useful,
11
 
    but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
13
 
                                    
14
 
**********************************************************************}
15
 
 
16
 
unit nwsnut;
17
 
 
18
 
interface
19
 
 
20
 
{$mode objfpc}
21
 
 
22
 
  const
23
 
    External_library='nwsnut';
24
 
 
25
 
  Type
26
 
    PLongint  = ^Longint;
27
 
    PSmallInt = ^SmallInt;
28
 
    PByte     = ^Byte;
29
 
    PPByte    = ^PByte;
30
 
    PWord     = ^Word;
31
 
    PDWord    = ^DWord;
32
 
    PDouble   = ^Double;
33
 
    TLONG = longint;
34
 
    PLONG = ^TLONG;
35
 
    TWORD = word;
36
 
    TBYTE = byte;
37
 
    PScreenStruct = pointer;
38
 
 
39
 
{$PACKRECORDS C}
40
 
 
41
 
  type
42
 
     LONG = dword;
43
 
 
44
 
  const
45
 
     NULL = 0;
46
 
     
47
 
  { constants  
48
 
    the constant CURRENT_NUT_VERSION is incremented when increased
49
 
    functionality is added. An NLM can check this value which is placed
50
 
    in the NUTInfo structure, version field, to determine if the NWSNUT
51
 
    NLM contains sufficient functionality to support its requirements  }
52
 
 
53
 
  const
54
 
     CURRENT_NUT_VERSION = 405;
55
 
  { the constant NUT_REVISION_LEVEL is incremented when a major change
56
 
    in the behavior of NWSNUT is made. This value is not used by the calling
57
 
    NLM, but rather by NWSNUT itself to determine what is expected of it
58
 
    by the calling NLM  }
59
 
     NUT_REVISION_LEVEL = 1;
60
 
     SAVE = 1;
61
 
     NO_SAVE = 0;
62
 
     NOHEADER = 0;
63
 
     NOBORDER = 0;
64
 
     NO_HELP_CONTEXT = $ffff;
65
 
     SINGLE = 1;
66
 
     DOUBLE = 2;
67
 
     CURSOR_OFF = 0;
68
 
     CURSOR_ON = 1;
69
 
     VIRTUAL = 0;
70
 
     DIRECT = 1;
71
 
     SEVERITY_INFORM = 1;
72
 
     SEVERITY_WARNING = 2;
73
 
     SEVERITY_FATAL = 3;
74
 
  { text size minimization styles  }
75
 
     SNORMAL = 0;
76
 
     SMINWIDTH = 1;
77
 
     SMINHEIGHT = 2;
78
 
  { palettes to set screen colors.
79
 
        background and foreground can be reversed with VREVERSE
80
 
   }
81
 
  { white and black  }
82
 
     BW_PALETTE = 0;
83
 
  { white and dark blue  }
84
 
     NORMAL_PALETTE = 1;
85
 
  { light blue and dark blue  }
86
 
     INIT_PALETTE = 2;
87
 
  { green and black  }
88
 
     HELP_PALETTE = 3;
89
 
  { red and black  }
90
 
     ERROR_PALETTE = 4;
91
 
  { pink and white  }
92
 
     WARNING_PALETTE = 5;
93
 
  { green and red  }
94
 
     OTHER_PALETTE = 6;
95
 
  { text and portal justification styles  }
96
 
     JRIGHT = 0;
97
 
     JLEFT = 1;
98
 
     JTOP = 2;
99
 
     JBOTTOM = 3;
100
 
     JCENTER = 4;
101
 
     JTOPRIGHT = 5;
102
 
     JTOPLEFT = 6;
103
 
     JBOTTOMLEFT = 7;
104
 
     JBOTTOMRIGHT = 8;
105
 
  { video constants  }
106
 
     V_UP = 6;
107
 
     V_DOWN = 7;
108
 
     LINE_OFFSET = 160;
109
 
     EXPLODE_RATE = 45;
110
 
     SCREEN_SPEED = 0;
111
 
  { video attributes  }
112
 
     VNORMAL = 0;
113
 
     VINTENSE = 1;
114
 
     VREVERSE = 2;
115
 
     VBLINK = 3;
116
 
     VIBLINK = 4;
117
 
     VRBLINK = 5;
118
 
  { header types  }
119
 
     NO_HEADER = 0;
120
 
     SMALL_HEADER = 1;
121
 
     NORMAL_HEADER = 2;
122
 
     LARGE_HEADER = 3;
123
 
  { keyboard constants  }
124
 
     KS_OFF = 0;
125
 
     KS_ON = 1;
126
 
     KS_INT = 2;
127
 
     K_NORMAL = 0;
128
 
     K_F1 = 1;
129
 
     K_F2 = 2;
130
 
     K_F3 = 3;
131
 
     K_F4 = 4;
132
 
     K_F5 = 5;
133
 
     K_F6 = 6;
134
 
     K_F7 = 7;
135
 
     K_F8 = 8;
136
 
     K_F9 = 9;
137
 
     K_F10 = 10;
138
 
     K_SF1 = 11;
139
 
     K_SF2 = 12;
140
 
     K_SF3 = 13;
141
 
     K_SF4 = 14;
142
 
     K_SF5 = 15;
143
 
     K_SF6 = 16;
144
 
     K_SF7 = 17;
145
 
     K_SF8 = 18;
146
 
     K_SF9 = 19;
147
 
     K_SF10 = 20;
148
 
     K_CF1 = 21;
149
 
     K_CF2 = 22;
150
 
     K_CF3 = 23;
151
 
     K_CF4 = 24;
152
 
     K_CF5 = 25;
153
 
     K_CF6 = 26;
154
 
     K_CF7 = 27;
155
 
     K_CF8 = 28;
156
 
     K_CF9 = 29;
157
 
     K_CF10 = 30;
158
 
     K_AF1 = 31;
159
 
     K_AF2 = 32;
160
 
     K_AF3 = 33;
161
 
     K_AF4 = 34;
162
 
     K_AF5 = 35;
163
 
     K_AF6 = 36;
164
 
     K_AF7 = 37;
165
 
     K_AF8 = 38;
166
 
     K_AF9 = 39;
167
 
     K_AF10 = 40;
168
 
     K_HELP = 1;
169
 
     K_MODIFY = 3;
170
 
     K_MARK = 5;
171
 
     K_CANCEL = 7;
172
 
     K_MODE = 9;
173
 
     K_EXIT = 40;
174
 
     K_ESCAPE = 41;
175
 
     K_BACK = 42;
176
 
     K_INSERT = 43;
177
 
     K_DELETE = 44;
178
 
     K_SELECT = 45;
179
 
     K_CYCLE = 46;
180
 
     K_UP = 47;
181
 
     K_DOWN = 48;
182
 
     K_LEFT = 49;
183
 
     K_RIGHT = 50;
184
 
     K_SUP = 51;
185
 
     K_SDOWN = 52;
186
 
     K_SLEFT = 53;
187
 
     K_SRIGHT = 54;
188
 
     K_PUP = 55;
189
 
     K_PDOWN = 56;
190
 
     K_FRIGHT = 57;
191
 
     K_FLEFT = 58;
192
 
     K_DELETE_END = 59;
193
 
  {
194
 
  For NWSUngetKey of function keys, use UGK_FUNCTION_KEY for the "type"
195
 
  parameter and "K_F1" etc. for the "value" parameter
196
 
   }
197
 
     UGK_NORMAL_KEY = $00;
198
 
     UGK_FUNCTION_KEY = $01;
199
 
  {
200
 
  For other special keys listed below, use UGK_NORMAL_KEY for the "value"
201
 
  parameter, and the UGK_xxx for the "type" parameter.
202
 
   }
203
 
     UGK_ENTER_KEY = $02;
204
 
     UGK_ESCAPE_KEY = $03;
205
 
     UGK_BACKSPACE_KEY = $04;
206
 
     UGK_DELETE_KEY = $05;
207
 
     UGK_INSERT_KEY = $06;
208
 
     UGK_CURSOR_UP_KEY = $07;
209
 
     UGK_CURSOR_DOWN_KEY = $08;
210
 
     UGK_CURSOR_RIGHT_KEY = $09;
211
 
     UGK_CURSOR_LEFT_KEY = $0a;
212
 
     UGK_CURSOR_HOME_KEY = $0b;
213
 
     UGK_CURSOR_END_KEY = $0c;
214
 
     UGK_CURSOR_PUP_KEY = $0d;
215
 
     UGK_CURSOR_PDOWN_KEY = $0e;
216
 
  {
217
 
  Added in version 403
218
 
  
219
 
  A special key type to cause LISTs to refresh. K_REFRESH_KEY may be returned
220
 
  from an action procedure passed to NWSList, or another thread that wishes
221
 
  to cause a list to refresh may call NWSUngetKey with the UGK version of this,
222
 
  and it too will cause the list to be redrawn.
223
 
  
224
 
  Use "type" = UGK_SPECIAL_KEY, and "value" = UGK_REFRESH_KEY
225
 
   }
226
 
     UGK_SPECIAL_KEY = 3;
227
 
     UGK_REFRESH_KEY = $22222222;
228
 
     K_REFRESH_KEY = UGK_REFRESH_KEY;
229
 
     OLD_REFRESH_KEY = 222;
230
 
  { available action keys for list  }
231
 
     M_ESCAPE = $0001;
232
 
     M_INSERT = $0002;
233
 
     M_DELETE = $0004;
234
 
     M_MODIFY = $0008;
235
 
     M_SELECT = $0010;
236
 
  { marked delete  }
237
 
     M_MDELETE = $0020;
238
 
     M_CYCLE = $0040;
239
 
  { marked modify  }
240
 
     M_MMODIFY = $0080;
241
 
  { marked select  }
242
 
     M_MSELECT = $0100;
243
 
  { don't sort list  }
244
 
     M_NO_SORT = $0200;
245
 
  { allow the list to be refreshed  }
246
 
     M_REFRESH = $0400;
247
 
  { return values for EditString  }
248
 
     E_ESCAPE = 1;
249
 
     E_SELECT = 2;
250
 
     E_EMPTY = 4;
251
 
     E_CHANGE = 8;
252
 
  { type values for EditString  }
253
 
     EF_ANY = $0001;
254
 
     EF_DECIMAL = $0002;
255
 
     EF_HEX = $0004;
256
 
     EF_NOSPACES = $0008;
257
 
     EF_UPPER = $0010;
258
 
     EF_DATE = $0020;
259
 
     EF_TIME = $0040;
260
 
     EF_FLOAT = $0080;
261
 
     EF_SET = $0100;
262
 
     EF_NOECHO = $0200;
263
 
     EF_FILENAME = $0400;
264
 
  { added in version 404  }
265
 
     EF_MASK = $0800;
266
 
  { and in version 405  }
267
 
     EF_NOCONFIRM_EXIT = $1000;
268
 
  { scroll bar stuff for NWSEditTextWithScrollBars, and NWSViewTextWithScrollBars  }
269
 
  { which scroll bars to show  }
270
 
     SHOW_VERTICAL_SCROLL_BAR = 2;
271
 
     SHOW_HORIZONTAL_SCROLL_BAR = 4;
272
 
  { when to show the scroll bars. Use ONLY one of these  }
273
 
     CONSTANT_SCROLL_BARS = $0200;
274
 
     TEXT_SENSITIVE_SCROLL_BARS = $0400;
275
 
     CONSIDER_LOCKED_FIELDS = $0800;
276
 
  { character and key constants  }
277
 
  { was #define dname def_expr }
278
 
  function F_H1 : longint;
279
 
      { return type might be wrong }
280
 
 
281
 
  { �  }
282
 
  { was #define dname def_expr }
283
 
  function F_H2 : longint;
284
 
      { return type might be wrong }
285
 
 
286
 
  { �  }
287
 
  { was #define dname def_expr }
288
 
  function F_V1 : longint;
289
 
      { return type might be wrong }
290
 
 
291
 
  { �  }
292
 
  { was #define dname def_expr }
293
 
  function F_V2 : longint;
294
 
      { return type might be wrong }
295
 
 
296
 
  { �  }
297
 
  { was #define dname def_expr }
298
 
  function F_UL1 : longint;
299
 
      { return type might be wrong }
300
 
 
301
 
  { �  }
302
 
  { was #define dname def_expr }
303
 
  function F_UR1 : longint;
304
 
      { return type might be wrong }
305
 
 
306
 
  { �  }
307
 
  { was #define dname def_expr }
308
 
  function F_LL1 : longint;
309
 
      { return type might be wrong }
310
 
 
311
 
  { �  }
312
 
  { was #define dname def_expr }
313
 
  function F_LR1 : longint;
314
 
      { return type might be wrong }
315
 
 
316
 
  { �  }
317
 
  { was #define dname def_expr }
318
 
  function F_UL2 : longint;
319
 
      { return type might be wrong }
320
 
 
321
 
  { �  }
322
 
  { was #define dname def_expr }
323
 
  function F_UR2 : longint;
324
 
      { return type might be wrong }
325
 
 
326
 
  { �  }
327
 
  { was #define dname def_expr }
328
 
  function F_LL2 : longint;
329
 
      { return type might be wrong }
330
 
 
331
 
  { �  }
332
 
  { was #define dname def_expr }
333
 
  function F_LR2 : longint;
334
 
      { return type might be wrong }
335
 
 
336
 
  { �  }
337
 
  { was #define dname def_expr }
338
 
  function F_UT1 : longint;
339
 
      { return type might be wrong }
340
 
 
341
 
  { �  }
342
 
  { was #define dname def_expr }
343
 
  function F_DT1 : longint;
344
 
      { return type might be wrong }
345
 
 
346
 
  { �  }
347
 
  { was #define dname def_expr }
348
 
  function F_LT1 : longint;
349
 
      { return type might be wrong }
350
 
 
351
 
  { �  }
352
 
  { was #define dname def_expr }
353
 
  function F_RT1 : longint;
354
 
      { return type might be wrong }
355
 
 
356
 
  { �  }
357
 
  { was #define dname def_expr }
358
 
  function F_UT2 : longint;
359
 
      { return type might be wrong }
360
 
 
361
 
  { �  }
362
 
  { was #define dname def_expr }
363
 
  function F_DT2 : longint;
364
 
      { return type might be wrong }
365
 
 
366
 
  { �  }
367
 
  { was #define dname def_expr }
368
 
  function F_LT2 : longint;
369
 
      { return type might be wrong }
370
 
 
371
 
  { �  }
372
 
  { was #define dname def_expr }
373
 
  function F_RT2 : longint;
374
 
      { return type might be wrong }
375
 
 
376
 
  { �  }
377
 
  { was #define dname def_expr }
378
 
  function F_X1 : longint;
379
 
      { return type might be wrong }
380
 
 
381
 
  { �  }
382
 
  { was #define dname def_expr }
383
 
  function F_X2 : longint;
384
 
      { return type might be wrong }
385
 
 
386
 
  {   }
387
 
  { was #define dname def_expr }
388
 
  function F_UP : longint;
389
 
      { return type might be wrong }
390
 
 
391
 
  {   }
392
 
  { was #define dname def_expr }
393
 
  function F_DOWN : longint;
394
 
      { return type might be wrong }
395
 
 
396
 
  {   }
397
 
  { was #define dname def_expr }
398
 
  function F_LEFT : longint;
399
 
      { return type might be wrong }
400
 
 
401
 
  {   }
402
 
  { was #define dname def_expr }
403
 
  function F_RIGHT : longint;
404
 
      { return type might be wrong }
405
 
 
406
 
  { �  }
407
 
  { was #define dname def_expr }
408
 
  function F_BG1 : longint;
409
 
      { return type might be wrong }
410
 
 
411
 
  { �  }
412
 
  { was #define dname def_expr }
413
 
  function F_BG2 : longint;
414
 
      { return type might be wrong }
415
 
 
416
 
  { �  }
417
 
  { was #define dname def_expr }
418
 
  function F_BG3 : longint;
419
 
      { return type might be wrong }
420
 
 
421
 
  { �  }
422
 
  { was #define dname def_expr }
423
 
  function F_BG4 : longint;
424
 
      { return type might be wrong }
425
 
 
426
 
  { form constants (control flags)  }
427
 
 
428
 
  const
429
 
     F_NOVERIFY = $00;
430
 
     F_VERIFY = $10;
431
 
     F_FORCE = $20;
432
 
  { a flag to pass if no help is desired in the form  }
433
 
     F_NO_HELP = $ffffffff;
434
 
  {    fieldFlags Type masks     }
435
 
  { normal editable field  }
436
 
     NORMAL_FIELD = $00;
437
 
  { non accessable  }
438
 
     LOCKED_FIELD = $01;
439
 
  { non editable  }
440
 
     SECURE_FIELD = $02;
441
 
  { verify field on form exit  }
442
 
     REQUIRED_FIELD = $04;
443
 
  { hidden fields are also locked  }
444
 
     HIDDEN_FIELD = $09;
445
 
  { prompt fields are also locked  }
446
 
     PROMPT_FIELD = $11;
447
 
  { field locked by user, not by NUT  }
448
 
     ULOCKED_FIELD = $0100;
449
 
  { MASKED_FIELD added in version 402  }
450
 
  { display ' ' for text   }
451
 
     MASKED_FIELD = $200;
452
 
  { flag to cause form deselection
453
 
                                             before action & verify routines
454
 
                                             are called  }
455
 
     FORM_DESELECT = $20;
456
 
  { In case old flag was used  }
457
 
     NO_FORM_DESELECT = $00;
458
 
  { normal field controlled justify  }
459
 
     DEFAULT_FORMAT = $00;
460
 
  { right justification format  }
461
 
     RIGHT_FORMAT = $40;
462
 
  { left justification format  }
463
 
     LEFT_FORMAT = $80;
464
 
  { centering format  }
465
 
     CENTER_FORMAT = $C0;
466
 
     MAXPORTALS = 50;
467
 
     MAXLISTS = 20;
468
 
     SAVELISTS = 20;
469
 
     MAXACTIONS = 60;
470
 
     MAXFUNCTIONS = MAXACTIONS;
471
 
     MAXHELP = 30;
472
 
     NO_MESSAGE = $ffff;
473
 
     DYNAMIC_MESSAGE_ONE = $fffe;
474
 
     DYNAMIC_MESSAGE_TWO = $fffd;
475
 
     DYNAMIC_MESSAGE_THREE = $fffc;
476
 
     DYNAMIC_MESSAGE_FOUR = $fffb;
477
 
     DYNAMIC_MESSAGE_FIVE = $fffa;
478
 
     DYNAMIC_MESSAGE_SIX = $fff9;
479
 
     DYNAMIC_MESSAGE_SEVEN = $fff8;
480
 
     DYNAMIC_MESSAGE_EIGHT = $fff7;
481
 
     DYNAMIC_MESSAGE_NINE = $fff6;
482
 
     DYNAMIC_MESSAGE_TEN = $fff5;
483
 
     DYNAMIC_MESSAGE_ELEVEN = $fff4;
484
 
     DYNAMIC_MESSAGE_TWELVE = $fff3;
485
 
     DYNAMIC_MESSAGE_THIRTEEN = $fff2;
486
 
     DYNAMIC_MESSAGE_FOURTEEN = $fff1;
487
 
     SYSTEM_MESSAGE = $8000;
488
 
  { was #define dname(params) para_def_expr }
489
 
  { argument types are unknown }
490
 
  { return type might be wrong }   
491
 
  function IS_DYNAMIC_MESSAGE(a : longint) : boolean;
492
 
 
493
 
 
494
 
  type
495
 
     {PNUTInfo_ = ^TNUTInfo_;
496
 
     TNUTInfo_ = record
497
 
       end;}
498
 
       
499
 
       PNUTInfo_ = ^TNUTInfo_;
500
 
 
501
 
  { height of virtual screen  }
502
 
  { width of virtual screen  }
503
 
  { top-most line of portal  }
504
 
  { left-most column of portal  }
505
 
  { position of portal over virtual portal  }
506
 
  { position of portal over virtual portal  }
507
 
  { the following fields should never be referenced by any application  }
508
 
 
509
 
     PPCB_ = ^TPCB_;
510
 
     TPCB_ = record
511
 
          frameLine : TLONG;
512
 
          frameColumn : TLONG;
513
 
          frameHeight : TLONG;
514
 
          frameWidth : TLONG;
515
 
          virtualHeight : TLONG;
516
 
          virtualWidth : TLONG;
517
 
          cursorState : TLONG;
518
 
          borderType : TLONG;
519
 
          borderAttribute : TLONG;
520
 
          saveFlag : TWORD;
521
 
          secondarySaveFlag : TWORD;
522
 
          directFlag : TLONG;
523
 
          headerAttribute : TLONG;
524
 
          portalLine : TLONG;
525
 
          portalColumn : TLONG;
526
 
          portalHeight : TLONG;
527
 
          portalWidth : TLONG;
528
 
          virtualLine : TLONG;
529
 
          virtualColumn : TLONG;
530
 
          cursorLine : TLONG;
531
 
          cursorColumn : TLONG;
532
 
          firstUpdateFlag : TLONG;
533
 
          headerText : PBYTE;
534
 
          headerText2 : PBYTE;
535
 
          virtualScreen : PBYTE;
536
 
          saveScreen : PBYTE;
537
 
          screenID : PScreenStruct;
538
 
          nutInfo : PNUTInfo_;
539
 
          sequenceNumber : TLONG;
540
 
          reserved1 : TLONG;
541
 
          mtflags : TLONG;
542
 
          borderPalette : TLONG;
543
 
          showScrollBars : TLONG;
544
 
          lastLine : TLONG;
545
 
          longestLineLen : TLONG;
546
 
          verticalScroll : TLONG;
547
 
          horizontalScroll : TLONG;
548
 
          oldVertical : TLONG;
549
 
          oldHorizontal : TLONG;
550
 
          deHighlightFunction : procedure (para1:PNUTInfo_; para2:PPCB_);cdecl;
551
 
          reHighlightFunction : procedure (para1:PNUTInfo_; para2:PPCB_); cdecl;
552
 
          reportPortalUpdate : procedure (para1:PPCB_; para2:PNUTInfo_; updateType:TLONG); cdecl;
553
 
       end;
554
 
     TPCB = TPCB_;
555
 
     PPCB = ^TPCB;
556
 
  { Topmost line of frame on physical screen  }
557
 
  { Leftmost column of frame on physical screen  }
558
 
  { Height of frame on physical screen  }
559
 
  { Width of frame on physical screen  }
560
 
  { Height of virtual screen  }
561
 
  { Width of virtual screen  }
562
 
  { Is the cursor on or off (1 or 0)  }
563
 
  { Type of border to use  }
564
 
  { Attribute to use with border  }
565
 
  { TRUE = save old screen  }
566
 
  { TRUE = no virtual screen  }
567
 
  { Attribute of header text  }
568
 
  { Pointer to header text  }
569
 
  { Pointer to the help text, always assumed to  }
570
 
  { be non NULL (when empty points to a '/0' BYTE  }
571
 
 
572
 
     PHS_ = ^THS_;
573
 
     THS_ = record
574
 
          nextScreen : TLONG;
575
 
          previousScreen : TLONG;
576
 
          frameLine : TLONG;
577
 
          frameColumn : TLONG;
578
 
          frameHeight : TLONG;
579
 
          frameWidth : TLONG;
580
 
          virtualHeight : TLONG;
581
 
          virtualWidth : TLONG;
582
 
          cursorState : TLONG;
583
 
          borderType : TLONG;
584
 
          borderAttribute : TLONG;
585
 
          saveFlag : TLONG;
586
 
          directFlag : TLONG;
587
 
          headerAttribute : TLONG;
588
 
          headerText : PBYTE;
589
 
          text : PBYTE;
590
 
       end;
591
 
     THELP_SCREEN = THS_;
592
 
     PHELP_SCREEN = ^THELP_SCREEN;
593
 
 
594
 
     PLIST_STRUCT = ^TLIST_STRUCT;
595
 
     TLIST_STRUCT = record
596
 
          prev : PLIST_STRUCT;
597
 
          next : PLIST_STRUCT;
598
 
          otherInfo : pointer;
599
 
          marked : TLONG;
600
 
          flags : TWORD;
601
 
          maxSkew : TWORD;
602
 
          entryProcedure : procedure (listElement:PLIST_STRUCT; displayLine:TLONG; NUTInfoStructure:pointer);cdecl;
603
 
          extra : TLONG;
604
 
          text : array[0..0] of TBYTE;
605
 
       end;
606
 
     TLIST = TLIST_STRUCT;
607
 
     PLIST = ^TLIST;
608
 
     PPLIST= ^PLIST;
609
 
 
610
 
     PLP_ = ^TLP_;
611
 
     TLP_ = record
612
 
          head : pointer;
613
 
          tail : pointer;
614
 
          sortProc : function :longint;cdecl;
615
 
          freeProcedure : procedure (memoryPointer:pointer);
616
 
       end;
617
 
     TLISTPTR = TLP_;
618
 
     PLISTPTR = ^TLISTPTR;
619
 
 
620
 
     PMI_ = ^TMI_;
621
 
     TMI_ = record
622
 
          dynamicMessageOne : PBYTE;
623
 
          dynamicMessageTwo : PBYTE;
624
 
          dynamicMessageThree : PBYTE;
625
 
          dynamicMessageFour : PBYTE;
626
 
          dynamicMessageFive : PBYTE;
627
 
          dynamicMessageSix : PBYTE;
628
 
          dynamicMessageSeven : PBYTE;
629
 
          dynamicMessageEight : PBYTE;
630
 
          dynamicMessageNine : PBYTE;
631
 
          dynamicMessageTen : PBYTE;
632
 
          dynamicMessageEleven : PBYTE;
633
 
          dynamicMessageTwelve : PBYTE;
634
 
          dynamicMessageThirteen : PBYTE;
635
 
          dynamicMessageFourteen : PBYTE;
636
 
          messageCount : TLONG;
637
 
          programMesgTable : ^PBYTE;
638
 
       end;
639
 
     TMessageInfo = TMI_;
640
 
     PMessageInfo = ^TMessageInfo;
641
 
 
642
 
     PINT_ = ^TINT_;
643
 
     TINT_ = record
644
 
          interruptProc : procedure (handle:pointer);cdecl;
645
 
          key : TLONG;
646
 
       end;
647
 
     TINTERRUPT = TINT_;
648
 
     PINTERRUPT = ^TINTERRUPT;
649
 
 
650
 
     PMP_ = ^TMP_;
651
 
     TMP_ = record
652
 
          listAction : function (option:longint; parameter:pointer):longint;cdecl;
653
 
          parameter : pointer;
654
 
       end;
655
 
     TMENU_PARAMETER = TMP_;
656
 
     PMENU_PARAMETER = ^TMENU_PARAMETER;
657
 
  { environment structure  }
658
 
  { always leave the following fields at the end of the struct.  They
659
 
          should never be referenced directly by an application  }
660
 
 
661
 
     
662
 
     TNUTInfo_ = record
663
 
          portal : array[0..(MAXPORTALS)-1] of PPCB;
664
 
          currentPortal : TLONG;
665
 
          headerHeight : TLONG;
666
 
          waitFlag : TLONG;
667
 
          listStack : array[0..(MAXLISTS)-1] of TLISTPTR;
668
 
          saveStack : array[0..(SAVELISTS)-1] of TLISTPTR;
669
 
          nextAvailList : TLONG;
670
 
          head : PLIST;
671
 
          tail : PLIST;
672
 
          defaultCompareFunction : function (el1:PLIST; el2:PLIST):longint;cdecl;
673
 
          freeProcedure : procedure (memoryPointer:pointer);
674
 
          interruptTable : array[0..(MAXFUNCTIONS)-1] of procedure ;
675
 
          functionKeyStatus : array[0..(MAXACTIONS)-1] of TLONG;
676
 
          messages : TMessageInfo;
677
 
          helpContextStack : array[0..(MAXHELP)-1] of TLONG;
678
 
          currentPreHelpMessage : TLONG;
679
 
          freeHelpSlot : longint;
680
 
          redisplayFormFlag : TLONG;
681
 
          preHelpPortal : TLONG;
682
 
          helpActive : smallint;
683
 
          errorDisplayActive : smallint;
684
 
          helpPortal : TLONG;
685
 
          waitPortal : TLONG;
686
 
          errorPortal : TLONG;
687
 
          resourceTag : pointer;
688
 
          screenID : pointer;
689
 
          helpScreens : PBYTE;
690
 
          helpOffset : longint;
691
 
          helpHelp : TLONG;
692
 
          allocChain : pointer;
693
 
          version : TLONG;
694
 
          reserved : array[0..9] of TLONG;
695
 
          moduleHandle : TLONG;
696
 
          customData : pointer;
697
 
          customDataRelease : procedure (theData:pointer; thisStructure:PNUTInfo_); cdecl;
698
 
          displayErrorLabel : TLONG;
699
 
          markBuffer : PBYTE;
700
 
          markBufferLength : TLONG;
701
 
          editBuffer : PBYTE;
702
 
          editBufferLength : TLONG;
703
 
          staticFlag : TLONG;
704
 
          processID : TLONG;
705
 
          mtflags : TLONG;
706
 
          saveCurrentPortal : TLONG;
707
 
          palette : TLONG;
708
 
          nutDataHandle : pointer;
709
 
          next : PNUTInfo_;
710
 
          prev : PNUTInfo_;
711
 
          listSortFunction : procedure (head:PLIST; tail:PLIST; thisStructure:PNUTInfo_); cdecl;
712
 
          compatibilityLevel : TLONG;
713
 
       end;
714
 
     TNUTInfo = TNUTInfo_;
715
 
     PNUTInfo = ^TNUTInfo;
716
 
     PPNUTInfo= ^PNUTInfo;
717
 
     
718
 
  { menu header message number  }
719
 
  { menu center line  }
720
 
  { menu center column  }
721
 
  { len of longest menu option  }
722
 
  { menu action routine  }
723
 
  { list head for menu list  }
724
 
 
725
 
     PMFC_ = ^TMFC_;
726
 
     TMFC_ = record
727
 
          headernum : TLONG;
728
 
          centerLine : TLONG;
729
 
          centerColumn : TLONG;
730
 
          maxoptlen : TLONG;
731
 
          action : function (option:longint; parameter:pointer):longint;cdecl;
732
 
          arg1 : TLONG;
733
 
          arg2 : TLONG;
734
 
          arg3 : TLONG;
735
 
          arg4 : TLONG;
736
 
          arg5 : TLONG;
737
 
          arg6 : TLONG;
738
 
          menuhead : TLISTPTR;
739
 
          nutInfo : PNUTInfo;
740
 
       end;
741
 
     TMFCONTROL = TMFC_;
742
 
     PMFCONTROL = ^TMFCONTROL;
743
 
  { list element that owns the field  }
744
 
  { Control flags  }
745
 
  { Line where field is located  }
746
 
  { Column where field is located  }
747
 
  { Maximum width of field  }
748
 
  { Display attribute for field  }
749
 
  { Keys that will activate the field  }
750
 
  { Routine called when field selected  }
751
 
  { Routine to verify Input  }
752
 
  { Data & Xtra field release routine  }
753
 
  { Pointer to data  }
754
 
  { Additional control info  }
755
 
  { help context for this field  }
756
 
  { Pointer to field above  }
757
 
  { Pointer to field below  }
758
 
  { Pointer to field to left  }
759
 
  { Pointer to field to right  }
760
 
  { Pointer to previous field  }
761
 
  { Pointer to next field  }
762
 
  { if this value is set, this routine will be called upon
763
 
                  entry to each field  }
764
 
  { this allows the user to have any sort of custom data that
765
 
                  he wants attached to the field.  }
766
 
  { and this lets him release it. Note that these parameters
767
 
                  match NWSFree which allows the use of NWSAlloc for
768
 
                  this data (a further guarantee that the memory will be freed  }
769
 
  { handle to keep track of who owns the field  }
770
 
 
771
 
     Pfielddef = ^Tfielddef;
772
 
     Tfielddef = record
773
 
          element : PLIST;
774
 
          fieldFlags : TLONG;
775
 
          fieldLine : TLONG;
776
 
          fieldColumn : TLONG;
777
 
          fieldWidth : TLONG;
778
 
          fieldAttribute : TLONG;
779
 
          fieldActivateKeys : longint;
780
 
          fieldFormat : procedure (field:Pfielddef; text:PBYTE; buffLen:TLONG);cdecl;
781
 
          fieldControl : function (field:Pfielddef; selectKey:longint; fieldChanged:Plongint; handle:PNUTInfo):TLONG;
782
 
          fieldVerify : function (field:Pfielddef; data:PBYTE; handle:PNUTInfo):longint;
783
 
          fieldRelease : procedure (para1:Pfielddef);
784
 
          fieldData : PBYTE;
785
 
          fieldXtra : PBYTE;
786
 
          fieldHelp : longint;
787
 
          fieldAbove : Pfielddef;
788
 
          fieldBelow : Pfielddef;
789
 
          fieldLeft : Pfielddef;
790
 
          fieldRight : Pfielddef;
791
 
          fieldPrev : Pfielddef;
792
 
          fieldNext : Pfielddef;
793
 
          fieldEntry : procedure (intoField:Pfielddef; fieldData:pointer; handle:PNUTInfo);
794
 
          customData : pointer;
795
 
          customDataRelease : procedure (fieldCustomData:pointer; handle:PNUTInfo);
796
 
          nutInfo : PNUTInfo;
797
 
       end;
798
 
     TFIELD = Tfielddef;
799
 
     PFIELD = ^TFIELD;
800
 
  { Structures used for DisplayErrorCondition()  }
801
 
 
802
 
     PPCERR_ = ^TPCERR_;
803
 
     TPCERR_ = record
804
 
          ccodeReturned : longint;
805
 
          errorMessageNumber : longint;
806
 
       end;
807
 
     TPROCERROR = TPCERR_;
808
 
     PPROCERROR = ^TPROCERROR;
809
 
 
810
 
     PNA_ = ^TNA_;
811
 
     TNA_ = record
812
 
          address : pointer;
813
 
          next : pointer;
814
 
       end;
815
 
     TNUT_ALLOC = TNA_;
816
 
     PNUT_ALLOC = ^TNUT_ALLOC;
817
 
{ C++ extern C conditionnal removed }
818
 
  { CLIB screen ID  }
819
 
  { OS ResourceTagStructure  }
820
 
 
821
 
  function NWSInitializeNut(utility:TLONG; version:TLONG; headerType:TLONG; compatibilityLevel:TLONG; messageTable:PPBYTE; 
822
 
             helpScreens:PBYTE; screenID:longint; resourceTag:TLONG; handle:PPNUTInfo):longint;cdecl;external External_library name 'NWSInitializeNut';
823
 
 
824
 
  procedure NWSScreenSize(maxLines:PLONG; maxColumns:PLONG);cdecl;external External_library name 'NWSScreenSize';
825
 
 
826
 
  procedure NWSShowPortalLine(line:TLONG; column:TLONG; text:PBYTE; length:TLONG; portal:PPCB);cdecl;external External_library name 'NWSShowPortalLine';
827
 
 
828
 
  procedure NWSShowPortalLineAttribute(line:TLONG; column:TLONG; text:PBYTE; attribute:TLONG; length:TLONG; 
829
 
              portal:PPCB);cdecl;external External_library name 'NWSShowPortalLineAttribute';
830
 
 
831
 
  procedure NWSScrollPortalZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; attribute:TLONG; 
832
 
              count:TLONG; direction:TLONG; portal:PPCB);cdecl;external External_library name 'NWSScrollPortalZone';
833
 
 
834
 
  procedure NWSFillPortalZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; fillCharacter:TLONG; 
835
 
              fillAttribute:TLONG; portal:PPCB);cdecl;external External_library name 'NWSFillPortalZone';
836
 
 
837
 
  procedure NWSFillPortalZoneAttribute(line:TLONG; column:TLONG; height:TLONG; width:TLONG; attribute:TLONG; 
838
 
              portal:PPCB);cdecl;external External_library name 'NWSFillPortalZoneAttribute';
839
 
 
840
 
  function NWSGetMessage(message:TLONG; messages:PMessageInfo):PBYTE;cdecl;external External_library name 'NWSGetMessage';
841
 
 
842
 
  procedure NWSSetDynamicMessage(message:TLONG; text:PBYTE; messages:PMessageInfo);cdecl;external External_library name 'NWSSetDynamicMessage';
843
 
 
844
 
  function NWSCreatePortal(line:TLONG; column:TLONG; frameHeight:TLONG; frameWidth:TLONG; virtualHeight:TLONG; 
845
 
             virtualWidth:TLONG; saveFlag:TLONG; headerText:PBYTE; headerAttribute:TLONG; borderType:TLONG; 
846
 
             borderAttribute:TLONG; cursorFlag:TLONG; directFlag:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSCreatePortal';
847
 
 
848
 
  procedure NWSDestroyPortal(portalNumber:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyPortal';
849
 
 
850
 
  procedure NWSPositionPortalCursor(line:TLONG; column:TLONG; portal:PPCB);cdecl;external External_library name 'NWSPositionPortalCursor';
851
 
 
852
 
  procedure NWSEnablePortalCursor(portal:PPCB);cdecl;external External_library name 'NWSEnablePortalCursor';
853
 
 
854
 
  procedure NWSDisablePortalCursor(portal:PPCB);cdecl;external External_library name 'NWSDisablePortalCursor';
855
 
 
856
 
  procedure NWSDeselectPortal(handle:PNUTInfo);cdecl;external External_library name 'NWSDeselectPortal';
857
 
 
858
 
  procedure NWSSelectPortal(portalNumber:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSSelectPortal';
859
 
 
860
 
  function NWSComputePortalPosition(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; line:PLONG; 
861
 
             column:PLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSComputePortalPosition';
862
 
 
863
 
  procedure NWSClearPortal(portal:PPCB);cdecl;external External_library name 'NWSClearPortal';
864
 
 
865
 
type TFreeRoutine = procedure (memoryPointer:pointer); cdecl;
866
 
 
867
 
  procedure NWSInitList(handle:PNUTInfo; freeRoutine:TFreeRoutine);cdecl;external External_library name 'NWSInitList';
868
 
 
869
 
  function NWSPushList(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSPushList';
870
 
 
871
 
  function NWSPopList(handleNWS:PNUTInfo):TLONG;cdecl;external External_library name 'NWSPopList';
872
 
 
873
 
  function NWSSaveList(listIndex:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSSaveList';
874
 
 
875
 
  function NWSRestoreList(listIndex:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSRestoreList';
876
 
 
877
 
  procedure NWSDestroyList(handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyList';
878
 
 
879
 
  procedure NWSDestroyMenu(handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyMenu';
880
 
 
881
 
  procedure NWSDestroyForm(handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyForm';
882
 
 
883
 
  function NWSAppendToList(text:PBYTE; otherInfo:pointer; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSAppendToList';
884
 
 
885
 
  function NWSDeleteFromList(el:PLIST; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSDeleteFromList';
886
 
 
887
 
  function NWSInsertInList(text:PBYTE; otherInfo:PBYTE; atElement:PLIST; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSInsertInList';
888
 
 
889
 
  function NWSGetListElementText(element:PLIST):PBYTE;cdecl;external External_library name 'NWSGetListElementText';
890
 
 
891
 
  function NWSGetListHead(handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSGetListHead';
892
 
 
893
 
  function NWSGetListTail(handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSGetListTail';
894
 
 
895
 
  procedure NWSUnmarkList(handle:PNUTInfo);cdecl;external External_library name 'NWSUnmarkList';
896
 
 
897
 
  procedure NWSSetList(listPtr:PLISTPTR; handle:PNUTInfo);cdecl;external External_library name 'NWSSetList';
898
 
 
899
 
  procedure NWSGetList(listPtr:PLISTPTR; handle:PNUTInfo);cdecl;external External_library name 'NWSGetList';
900
 
 
901
 
  function NWSIsAnyMarked(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSIsAnyMarked';
902
 
 
903
 
  procedure NWSPushMarks(handle:PNUTInfo);cdecl;external External_library name 'NWSPushMarks';
904
 
 
905
 
  procedure NWSPopMarks(handle:PNUTInfo);cdecl;external External_library name 'NWSPopMarks';
906
 
 
907
 
  procedure NWSSortList(handle:PNUTInfo);cdecl;external External_library name 'NWSSortList';
908
 
 
909
 
  procedure NWSInitMenu(handle:PNUTInfo);cdecl;external External_library name 'NWSInitMenu';
910
 
 
911
 
  procedure NWSInitForm(handle:PNUTInfo);cdecl;external External_library name 'NWSInitForm';
912
 
 
913
 
  function NWSGetSortCharacter(charIndex:TLONG):TLONG;cdecl;external External_library name 'NWSGetSortCharacter';
914
 
 
915
 
  function NWSGetLineDrawCharacter(charIndex:TLONG):TLONG;cdecl;external External_library name 'NWSGetLineDrawCharacter';
916
 
 
917
 
  function NWSStrcat(_string:PBYTE; newStuff:PBYTE):TLONG;cdecl;external External_library name 'NWSStrcat';
918
 
 
919
 
  procedure NWSMemmove(dest:pointer; source:pointer; len:longint);cdecl;external External_library name 'NWSMemmove';
920
 
 
921
 
  function NWSToupper(ch:TBYTE):TBYTE;cdecl;external External_library name 'NWSToupper';
922
 
 
923
 
  function NWSIsdigit(ch:TBYTE):longint;cdecl;external External_library name 'NWSIsdigit';
924
 
 
925
 
  function NWSIsxdigit(ch:TBYTE):longint;cdecl;external External_library name 'NWSIsxdigit';
926
 
 
927
 
  function NWSAsciiToInt(data:PBYTE):longint;cdecl;external External_library name 'NWSAsciiToInt';
928
 
 
929
 
  function NWSAsciiToLONG(data:PBYTE):TLONG;cdecl;external External_library name 'NWSAsciiToLONG';
930
 
 
931
 
  function NWSAsciiHexToInt(data:PBYTE):longint;cdecl;external External_library name 'NWSAsciiHexToInt';
932
 
 
933
 
  procedure NWSWaitForEscape(handle:PNUTInfo);cdecl;external External_library name 'NWSWaitForEscape';
934
 
 
935
 
  function NWSWaitForEscapeOrCancel(handle:PNUTInfo):longint;cdecl;external External_library name 'NWSWaitForEscapeOrCancel';
936
 
 
937
 
  procedure NWSGetKey(_type:PLONG; value:PBYTE; handle:PNUTInfo);cdecl;external External_library name 'NWSGetKey';
938
 
 
939
 
  function NWSKeyStatus(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSKeyStatus';
940
 
 
941
 
  function NWSUngetKey(_type:TLONG; value:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSUngetKey';
942
 
 
943
 
  procedure NWSEnableFunctionKey(key:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableFunctionKey';
944
 
 
945
 
  procedure NWSDisableFunctionKey(key:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisableFunctionKey';
946
 
 
947
 
  procedure NWSDisableInterruptKey(key:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisableInterruptKey';
948
 
 
949
 
type TInterruptProc = procedure (handle:pointer); cdecl;
950
 
 
951
 
  procedure NWSEnableInterruptKey(key:TLONG; interruptProc:TInterruptProc; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableInterruptKey';
952
 
 
953
 
  procedure NWSSaveFunctionKeyList(keyList:PBYTE; handle:PNUTInfo);cdecl;external External_library name 'NWSSaveFunctionKeyList';
954
 
 
955
 
  procedure NWSEnableFunctionKeyList(keyList:PBYTE; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableFunctionKeyList';
956
 
 
957
 
  procedure NWSSaveInterruptList(interruptList:PINTERRUPT; handle:PNUTInfo);cdecl;external External_library name 'NWSSaveInterruptList';
958
 
 
959
 
  procedure NWSEnableInterruptList(interruptList:PINTERRUPT; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableInterruptList';
960
 
 
961
 
  procedure NWSDisableAllInterruptKeys(handle:PNUTInfo);cdecl;external External_library name 'NWSDisableAllInterruptKeys';
962
 
 
963
 
  procedure NWSDisableAllFunctionKeys(handle:PNUTInfo);cdecl;external External_library name 'NWSDisableAllFunctionKeys';
964
 
 
965
 
  procedure NWSEnableAllFunctionKeys(handle:PNUTInfo);cdecl;external External_library name 'NWSEnableAllFunctionKeys';
966
 
 
967
 
  function NWSDisplayTextInPortal(line:TLONG; indentLevel:TLONG; text:PBYTE; attribute:TLONG; portal:PPCB):longint;cdecl;external External_library name 'NWSDisplayTextInPortal';
968
 
 
969
 
  function NWSDisplayInformation(header:TLONG; pauseFlag:TLONG; centerLine:TLONG; centerColumn:TLONG; palette:TLONG; 
970
 
             attribute:TLONG; displayText:PBYTE; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSDisplayInformation';
971
 
 
972
 
  procedure NWSStartWait(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSStartWait';
973
 
 
974
 
  procedure NWSEndWait(handle:PNUTInfo);cdecl;external External_library name 'NWSEndWait';
975
 
 
976
 
  function NWSAlert(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG; args:array of const):TLONG;cdecl;external External_library name 'NWSAlert';
977
 
 
978
 
  function NWSAlert(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG):TLONG;cdecl;external External_library name 'NWSAlert';
979
 
 
980
 
  function NWSAlertWithHelp(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG; helpContext:TLONG; 
981
 
             args:array of const):TLONG;cdecl;external External_library name 'NWSAlertWithHelp';
982
 
 
983
 
  function NWSAlertWithHelp(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG; helpContext:TLONG):TLONG;cdecl;external External_library name 'NWSAlertWithHelp';
984
 
 
985
 
  function NWSTrace(handle:PNUTInfo; message:PBYTE; args:array of const):TLONG;cdecl;external External_library name 'NWSTrace';
986
 
 
987
 
  function NWSTrace(handle:PNUTInfo; message:PBYTE):TLONG;cdecl;external External_library name 'NWSTrace';
988
 
 
989
 
  procedure NWSDisplayErrorText(message:TLONG; severity:TLONG; handle:PNUTInfo; args:array of const);cdecl;external External_library name 'NWSDisplayErrorText';
990
 
 
991
 
  procedure NWSDisplayErrorText(message:TLONG; severity:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayErrorText';
992
 
 
993
 
  procedure NWSDisplayErrorCondition(procedureName:PBYTE; errorCode:longint; severity:TLONG; errorList:PPROCERROR; handle:PNUTInfo; 
994
 
              args:array of const);cdecl;external External_library name 'NWSDisplayErrorCondition';
995
 
 
996
 
  procedure NWSDisplayErrorCondition(procedureName:PBYTE; errorCode:longint; severity:TLONG; errorList:PPROCERROR; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayErrorCondition';
997
 
 
998
 
  function NWSAppendToMenu(message:TLONG; option:TLONG; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSAppendToMenu';
999
 
 
1000
 
type TActionFunc = function (option:longint; parameter:pointer) : longint; cdecl;
1001
 
 
1002
 
  function NWSMenu(header:TLONG; centerLine:TLONG; centerColumn:TLONG; defaultElement:PLIST; action:TActionFunc; 
1003
 
             handle:PNUTInfo; actionParameter:pointer):longint;cdecl;external External_library name 'NWSMenu';
1004
 
 
1005
 
  function NWSConfirm(header:TLONG; centerLine:TLONG; centerColumn:TLONG; defaultChoice:TLONG; action:TActionFunc; 
1006
 
             handle:PNUTInfo; actionParameter:pointer):longint;cdecl;external External_library name 'NWSConfirm';
1007
 
 
1008
 
  function NWSPushHelpContext(helpContext:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSPushHelpContext';
1009
 
 
1010
 
  function NWSPopHelpContext(handle:PNUTInfo):longint;cdecl;external External_library name 'NWSPopHelpContext';
1011
 
 
1012
 
type TFormatFunc=function (element:PLIST; skew:TLONG; displayLine:PBYTE; width:TLONG):TLONG; cdecl;
1013
 
     TNWSListActionFunc=function (keyPressed:TLONG; elementSelected:PPLIST; itemLineNumber:PLONG; actionParameter:pointer):longint;  cdecl;
1014
 
     
1015
 
  function NWSList(header:TLONG; centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; 
1016
 
             validKeyFlags:TLONG; element:PPLIST; handle:PNUTInfo; format:TFormatFunc; action:TNWSListActionFunc;
1017
 
             actionParameter:pointer):TLONG;cdecl;external External_library name 'NWSList';
1018
 
 
1019
 
type TInsertFunc = function (text:PBYTE; otherInfo:Ppointer; parameters:pointer):longint; cdecl;
1020
 
     TFreeProcedure=function (otherInfo:pointer):longint; cdecl;
1021
 
     
1022
 
  function NWSInsertInPortalList(currentElement:PPLIST; currentLine:PLONG; InsertProcedure:TInsertFunc; FreeProcedure:TFreeProcedure; handle:PNUTInfo; 
1023
 
             parameters:pointer):longint;cdecl;external External_library name 'NWSInsertInPortalList';
1024
 
 
1025
 
type TModifyProcedure=function (text:PBYTE; parameters:pointer):longint;  cdecl;
1026
 
 
1027
 
  function NWSModifyInPortalList(currentElement:PPLIST; currentLine:PLONG; ModifyProcedure:TModifyProcedure; handle:PNUTInfo; parameters:pointer):longint;cdecl;external External_library name 'NWSModifyInPortalList';
1028
 
 
1029
 
type TDeleteFunc = function (el:PLIST; handle:PNUTInfo; parameters:pointer):PLIST; cdecl;
1030
 
  function NWSDeleteFromPortalList(currentElement:PPLIST; currentLine:PLONG; DeleteProcedure:TDeleteFunc; deleteCurrentHeader:TLONG; deleteMarkedHeader:TLONG; 
1031
 
             handle:PNUTInfo; parameters:pointer):longint;cdecl;external External_library name 'NWSDeleteFromPortalList';
1032
 
 
1033
 
type TNWSEditInsertFunc=function (buffer:PBYTE; maxLen:TLONG; parameters:pointer):longint; cdecl;
1034
 
     TNWSEditActionFunc=function (action:TLONG; buffer:PBYTE; parameters:pointer):longint; cdecl;
1035
 
 
1036
 
  function NWSEditString(centerLine:TLONG; centerColumn:TLONG; editHeight:TLONG; editWidth:TLONG; header:TLONG; 
1037
 
             prompt:TLONG; buf:PBYTE; maxLen:TLONG; _type:TLONG; handle:PNUTInfo; 
1038
 
             insertProc:TNWSEditInsertFunc; actionProc:TNWSEditActionFunc; parameters:pointer):longint;cdecl;external External_library name 'NWSEditString';
1039
 
 
1040
 
  function NWSAppendIntegerField(line:TLONG; column:TLONG; fflag:TLONG; data:Plongint; minimum:longint; 
1041
 
             maximum:longint; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendIntegerField';
1042
 
 
1043
 
  function NWSAppendUnsignedIntegerField(line:TLONG; column:TLONG; fflag:TLONG; data:PLONG; minimum:TLONG; 
1044
 
             maximum:TLONG; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendUnsignedIntegerField';
1045
 
 
1046
 
  function NWSAppendHexField(line:TLONG; column:TLONG; fflag:TLONG; data:Plongint; minimum:longint; 
1047
 
             maximum:longint; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendHexField';
1048
 
 
1049
 
  procedure NWSDisplayPreHelp(line:TLONG; column:TLONG; message:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayPreHelp';
1050
 
 
1051
 
  procedure NWSRemovePreHelp(handle:PNUTInfo);cdecl;external External_library name 'NWSRemovePreHelp';
1052
 
 
1053
 
  function NWSGetADisk(volName:PBYTE; prompt:PBYTE; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSGetADisk';
1054
 
 
1055
 
  procedure NWSInitListPtr(listPtr:PLISTPTR);cdecl;external External_library name 'NWSInitListPtr';
1056
 
 
1057
 
  function NWSEditForm(headernum:TLONG; line:TLONG; col:TLONG; portalHeight:TLONG; portalWidth:TLONG; 
1058
 
             virtualHeight:TLONG; virtualWidth:TLONG; ESCverify:TLONG; forceverify:TLONG; confirmMessage:TLONG; 
1059
 
             handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditForm';
1060
 
 
1061
 
  function NWSEditPortalFormField(header:TLONG; cline:TLONG; ccol:TLONG; formHeight:TLONG; formWidth:TLONG; 
1062
 
             controlFlags:TLONG; formHelp:TLONG; confirmMessage:TLONG; startField:PFIELD; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditPortalFormField';
1063
 
 
1064
 
  function NWSEditPortalForm(header:TLONG; centerLine:TLONG; centerColumn:TLONG; formHeight:TLONG; formWidth:TLONG; 
1065
 
             controlFlags:TLONG; formHelp:TLONG; confirmMessage:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditPortalForm';
1066
 
 
1067
 
type TfFormat  = procedure (field:Pfielddef; text:PBYTE; buffLen:TLONG); cdecl;
1068
 
     TfControl = function (field:Pfielddef; selectKey:longint; fieldChanged:Plongint; handle:PNUTInfo):TLONG; cdecl;
1069
 
     TfVerify  = function (field:Pfielddef; data:PBYTE; handle:PNUTInfo):longint; cdecl;
1070
 
     TfRelease = procedure (field:Pfielddef); cdecl;
1071
 
 
1072
 
  { Data & Xtra field release routine  }
1073
 
  function NWSAppendToForm(
1074
 
             fline:TLONG; 
1075
 
             fcol:TLONG; 
1076
 
             fwidth:TLONG; 
1077
 
             fattr:TLONG; 
1078
 
             fFormat:TfFormat;
1079
 
             fControl:TfControl;
1080
 
             fVerify:TfVerify;
1081
 
             fRelease:TfRelease;
1082
 
             fData:PBYTE; 
1083
 
             fXtra:PBYTE; 
1084
 
             fflags:TLONG; 
1085
 
             fActivateKeys:TLONG; 
1086
 
             fhelp:TLONG; 
1087
 
             handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendToForm';
1088
 
 
1089
 
  function NWSAppendPromptField(line:TLONG; column:TLONG; promptnum:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendPromptField';
1090
 
 
1091
 
  function NWSAppendCommentField(line:TLONG; column:TLONG; prompt:PBYTE; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendCommentField';
1092
 
 
1093
 
  function NWSAppendStringField(line:TLONG; column:TLONG; width:TLONG; fflag:TLONG; data:PBYTE; 
1094
 
             cset:PBYTE; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendStringField';
1095
 
 
1096
 
  function NWSAppendBoolField(line:TLONG; column:TLONG; fflag:TLONG; data:PBYTE; help:TLONG; 
1097
 
             handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendBoolField';
1098
 
 
1099
 
  function NWSAppendGenericBoolField(line:TLONG; column:TLONG; fflag:TLONG; data:PBYTE; help:TLONG; 
1100
 
             yesString:PBYTE; noString:PBYTE; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendGenericBoolField';
1101
 
 
1102
 
type TSpotActionFunc = function (fp:PFIELD; selectKey:longint; changedField:Plongint; handle:PNUTInfo):TLONG; cdecl;
1103
 
  function NWSAppendHotSpotField(line:TLONG; column:TLONG; fflag:TLONG; 
1104
 
             displayString:PBYTE; 
1105
 
             SpotAction:TSpotActionFunc;
1106
 
             handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendHotSpotField';
1107
 
 
1108
 
  function NWSInitMenuField(headermsg:TLONG; cLine:TLONG; cCol:TLONG; 
1109
 
             action:TActionFunc ;
1110
 
             nutInfo:PNUTInfo; 
1111
 
             args:array of const):PMFCONTROL;cdecl;external External_library name 'NWSInitMenuField';
1112
 
 
1113
 
  function NWSInitMenuField(headermsg:TLONG; cLine:TLONG; cCol:TLONG; 
1114
 
              action:TActionFunc; nutInfo:PNUTInfo):PMFCONTROL;cdecl;external External_library name 'NWSInitMenuField';
1115
 
 
1116
 
  function NWSAppendToMenuField(m:PMFCONTROL; optiontext:TLONG; option:longint; nutInfo:PNUTInfo):longint;cdecl;external External_library name 'NWSAppendToMenuField';
1117
 
 
1118
 
  function NWSAppendMenuField(line:TLONG; column:TLONG; fflag:TLONG; data:Plongint; m:PMFCONTROL; 
1119
 
             help:TLONG; nutInfo:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendMenuField';
1120
 
 
1121
 
  { length of document  }
1122
 
  function NWSEditText(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG; 
1123
 
             textBuffer:PBYTE; maxBufferLength:TLONG; confirmMessage:TLONG; forceConfirm:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditText';
1124
 
 
1125
 
  function NWSViewText(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG; 
1126
 
             textBuffer:PBYTE; maxBufferLength:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSViewText';
1127
 
 
1128
 
  procedure NWSDisplayHelpScreen(offset:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayHelpScreen';
1129
 
 
1130
 
  function NWSAlloc(numberOfBytes:TLONG; handle:PNUTInfo):pointer;cdecl;external External_library name 'NWSAlloc';
1131
 
 
1132
 
  procedure NWSFree(address:pointer; handle:PNUTInfo);cdecl;external External_library name 'NWSFree';
1133
 
 
1134
 
  function NWSDisplayTextJustifiedInPortal(justify:TLONG; line:TLONG; column:TLONG; textWidth:TLONG; text:PBYTE; 
1135
 
             attribute:TLONG; portal:PPCB):longint;cdecl;external External_library name 'NWSDisplayTextJustifiedInPortal';
1136
 
 
1137
 
  function NWSDisplayInformationInPortal(header:TLONG; portalJustifyLine:TLONG; portalJustifyColumn:TLONG; portalJustifyType:TLONG; portalPalette:TLONG; 
1138
 
             portalBorderType:TLONG; portalMaxWidth:TLONG; portalMaxHeight:TLONG; portalMinWidth:TLONG; portalMinHeight:TLONG; 
1139
 
             textLRJustifyType:TLONG; textLRIndent:TLONG; textTBJustifyType:TLONG; textTBIndent:TLONG; textAttribute:TLONG; 
1140
 
             textMinimizeStyle:TLONG; text:PBYTE; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSDisplayInformationInPortal';
1141
 
 
1142
 
  procedure NWSRestoreNut(handle:PNUTInfo);cdecl;external External_library name 'NWSRestoreNut';
1143
 
 
1144
 
  procedure NWSDrawPortalBorder(portal:PPCB);cdecl;external External_library name 'NWSDrawPortalBorder';
1145
 
 
1146
 
  procedure NWSUpdatePortal(portal:PPCB);cdecl;external External_library name 'NWSUpdatePortal';
1147
 
 
1148
 
type TSSFEntryProc = procedure (para1:PFIELD; para2:pointer; para3:PNUTInfo); cdecl;
1149
 
     TSSFCustomDataReleaseProc = procedure (para1:pointer; para2:PNUTInfo); cdecl;
1150
 
     TSSFFormat=procedure (para1:PFIELD; text:PBYTE; para3:TLONG); cdecl;
1151
 
     TSSFControlFunc = function (para1:PFIELD; para2:longint; para3:Plongint; para4:PNUTInfo):TLONG; cdecl;
1152
 
     TSSFVerifyFunc  = function (para1:PFIELD; para2:PBYTE; para3:PNUTInfo):longint; cdecl;
1153
 
     TSSFReleaseProc = procedure (para1:PFIELD); cdecl;
1154
 
     
1155
 
  procedure NWSSetFieldFunctionPtr(fp:PFIELD; 
1156
 
              Format : TSSFFormat;
1157
 
              Control: TSSFControlFunc;
1158
 
              Verify : TSSFVerifyFunc;
1159
 
              Release: TSSFReleaseProc;
1160
 
              Entry  : TSSFEntryProc; 
1161
 
              customDataRelease
1162
 
                     : TSSFCustomDataReleaseProc);cdecl;external External_library name 'NWSSetFieldFunctionPtr';
1163
 
 
1164
 
  procedure NWSGetFieldFunctionPtr(
1165
 
                fp:PFIELD; 
1166
 
                var Format  : TSSFFormat;
1167
 
                var Control : TSSFControlFunc;
1168
 
                var Verify  : TSSFVerifyFunc;
1169
 
                var Release : TSSFReleaseProc;
1170
 
                var Entry   : TSSFEntryProc;
1171
 
                var customDataRelease:TSSFCustomDataReleaseProc);cdecl;external External_library name 'NWSGetFieldFunctionPtr';
1172
 
 
1173
 
type TCompareFunc = function (el1:PLIST; el2:PLIST):longint; cdecl;
1174
 
  procedure NWSSetDefaultCompare(handle:PNUTInfo; 
1175
 
                                 defaultCompareFunction:TCompareFunc);cdecl;external External_library name 'NWSSetDefaultCompare';
1176
 
 
1177
 
  procedure NWSGetDefaultCompare(handle:PNUTInfo; var defaultCompareFunction:TCompareFunc);cdecl;external External_library name 'NWSGetDefaultCompare';
1178
 
 
1179
 
type TlistSortFunction = procedure (head:PLIST; tail:PLIST; handle:PNUTInfo); cdecl;
1180
 
  { added in version 402  }
1181
 
  procedure NWSSetListSortFunction(handle:PNUTInfo; 
1182
 
                   listSortFunction:TlistSortFunction);cdecl;external External_library name 'NWSSetListSortFunction';
1183
 
 
1184
 
  { added in version 402  }
1185
 
  procedure NWSGetListSortFunction(handle:PNUTInfo; 
1186
 
                            var listSortFunction:TlistSortFunction);cdecl;external External_library name 'NWSGetListSortFunction';
1187
 
 
1188
 
  procedure NWSSetScreenPalette(newPalette:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSSetScreenPalette';
1189
 
 
1190
 
  function NWSGetScreenPalette(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSGetScreenPalette';
1191
 
 
1192
 
  procedure NWSGetPCB(var _pPcb:PPCB; portalNumber:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSGetPCB';
1193
 
 
1194
 
type TentryProcedure = procedure (element:PLIST; displayLine:TLONG; handle:PNUTInfo); cdecl;
1195
 
  procedure NWSSetListNotifyProcedure(el:PLIST; 
1196
 
              entryProcedure:TentryProcedure);cdecl;external External_library name 'NWSSetListNotifyProcedure';
1197
 
 
1198
 
  procedure NWSGetListNotifyProcedure(el:PLIST; 
1199
 
                                      var entryProcedure:TentryProcedure);cdecl;external External_library name 'NWSGetListNotifyProcedure';
1200
 
 
1201
 
type TcdReleaseProc = procedure (theData:pointer; handle:PNUTInfo); cdecl;
1202
 
  procedure NWSSetHandleCustomData(handle:PNUTInfo; 
1203
 
                                   customData:pointer; 
1204
 
                                   customDataRelease:TcdReleaseProc);cdecl;external External_library name 'NWSSetHandleCustomData';
1205
 
 
1206
 
  procedure NWSGetHandleCustomData(handle:PNUTInfo; 
1207
 
                                   customData:Ppointer; 
1208
 
                                   customDataRelease:TcdReleaseProc);cdecl;external External_library name 'NWSGetHandleCustomData';
1209
 
 
1210
 
  procedure NWSSetErrorLabelDisplayFlag(flag:TLONG; 
1211
 
                                        handle:PNUTInfo);cdecl;external External_library name 'NWSSetErrorLabelDisplayFlag';
1212
 
 
1213
 
  procedure NWSSetHelpHelp(helpIndex:TLONG; 
1214
 
                           handle:PNUTInfo);cdecl;external External_library name 'NWSSetHelpHelp';
1215
 
 
1216
 
  { max length of passwordString, including NULL  }
1217
 
  function NWSPromptForPassword(passwordHeader:TLONG; line:TLONG; column:TLONG; maxPasswordLen:TLONG; passwordString:PBYTE; 
1218
 
             verifyEntry:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSPromptForPassword';
1219
 
 
1220
 
  { field flags  }
1221
 
  { ptr to field text  }
1222
 
  { including null  }
1223
 
  { help for field  }
1224
 
  { force password verification  }
1225
 
  { fill character for field  }
1226
 
  function NWSAppendPasswordField(line:TLONG; column:TLONG; width:TLONG; fflag:TLONG; data:PBYTE; 
1227
 
             maxDataLen:TLONG; help:TLONG; verifyEntry:TLONG; passwordPortalHeader:TLONG; maskCharacter:TLONG; 
1228
 
             handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendPasswordField';
1229
 
 
1230
 
  { field display width in form  }
1231
 
  { field flags (NORMAL_FIELD, etc.)  }
1232
 
  { ptr to field text  }
1233
 
  { max len of data, allowing for null terminator  }
1234
 
  { valid characters, if using EF_SET  }
1235
 
  { NWSEditString flags (EF_UPPER etc.)  }
1236
 
  function NWSAppendScrollableStringField(line:TLONG; column:TLONG; width:TLONG; fflag:TLONG; data:PBYTE; 
1237
 
             maxLen:TLONG; cset:PBYTE; editFlags:TLONG; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendScrollableStringField';
1238
 
 
1239
 
type TSSFInsertFunc = function (_string:PBYTE; maxLen:TLONG; parameters:pointer):longint; cdecl;
1240
 
  procedure NWSSetScrollableFieldInsertProc(fp:PFIELD; insertProc:TSSFInsertFunc);cdecl;external External_library name 'NWSSetScrollableFieldInsertProc';
1241
 
 
1242
 
  { Returns 0 for success, -1 if none selected  }
1243
 
  { if not NULL, returns portal number  }
1244
 
  function NWSGetCurrentPortal(nutInfo:PNUTInfo; portalNumber:PLONG; var portal:PPCB):TLONG;cdecl;external External_library name 'NWSGetCurrentPortal';
1245
 
 
1246
 
  { if not NULL, returns PCB pointer  }
1247
 
  function NWSWaitForKeyAndValue(handle:PNUTInfo; 
1248
 
                                        nKeys:TLONG; 
1249
 
                                        keyType:array of TLONG; 
1250
 
                                        keyValue:array of TLONG):longint;cdecl;external External_library name 'NWSWaitForKeyAndValue';
1251
 
 
1252
 
  procedure NWSShowLineAttribute(line:TLONG; 
1253
 
                                 column:TLONG; 
1254
 
                                 text:PBYTE; 
1255
 
                                 attribute:TLONG; 
1256
 
                                 length:TLONG; 
1257
 
                                 screenID:PScreenStruct);cdecl;external External_library name 'NWSShowLineAttribute';
1258
 
 
1259
 
  procedure NWSShowLine(line:TLONG; column:TLONG; text:PBYTE; length:TLONG; screenID:PScreenStruct);cdecl;external External_library name 'NWSShowLine';
1260
 
 
1261
 
  procedure NWSScrollZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; attribute:TLONG; 
1262
 
              count:TLONG; direction:TLONG; screenID:PScreenStruct);cdecl;external External_library name 'NWSScrollZone';
1263
 
 
1264
 
  procedure NWSSaveZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; buffer:PBYTE; 
1265
 
              screenID:PScreenStruct);cdecl;external External_library name 'NWSSaveZone';
1266
 
 
1267
 
  procedure NWSRestoreZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; buffer:PBYTE; 
1268
 
              screenID:PScreenStruct);cdecl;external External_library name 'NWSRestoreZone';
1269
 
 
1270
 
  procedure NWSRestoreDisplay(screenID:PScreenStruct);cdecl;external External_library name 'NWSRestoreDisplay';
1271
 
 
1272
 
  procedure NWSPositionCursor(line:TLONG; column:TLONG; screenID:PScreenStruct);cdecl;external External_library name 'NWSPositionCursor';
1273
 
 
1274
 
  procedure NWSGetNUTVersion(majorVersion:PLONG; minorVersion:PLONG; revision:PLONG);cdecl;external External_library name 'NWSGetNUTVersion';
1275
 
 
1276
 
  procedure NWSSetFormRepaintFlag(value:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSSetFormRepaintFlag';
1277
 
 
1278
 
  procedure NWSSetFormNoWrap(handle:PNUTInfo);cdecl;external External_library name 'NWSSetFormNoWrap';
1279
 
 
1280
 
  function NWSViewTextWithScrollBars(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG; 
1281
 
             textBuffer:PBYTE; maxBufferLength:TLONG; scrollBarFlag:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSViewTextWithScrollBars';
1282
 
 
1283
 
  { length of document  }
1284
 
  function NWSEditTextWithScrollBars(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG; 
1285
 
             textBuffer:PBYTE; maxBufferLength:TLONG; confirmMessage:TLONG; forceConfirm:TLONG; scrollBarFlag:TLONG; 
1286
 
             handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditTextWithScrollBars';
1287
 
 
1288
 
 
1289
 
implementation
1290
 
 
1291
 
  { was #define dname def_expr }
1292
 
  function F_H1 : longint;
1293
 
      { return type might be wrong }
1294
 
      begin
1295
 
         F_H1:=NWSGetLineDrawCharacter(0);
1296
 
      end;
1297
 
 
1298
 
  { was #define dname def_expr }
1299
 
  function F_H2 : longint;
1300
 
      { return type might be wrong }
1301
 
      begin
1302
 
         F_H2:=NWSGetLineDrawCharacter(1);
1303
 
      end;
1304
 
 
1305
 
  { was #define dname def_expr }
1306
 
  function F_V1 : longint;
1307
 
      { return type might be wrong }
1308
 
      begin
1309
 
         F_V1:=NWSGetLineDrawCharacter(2);
1310
 
      end;
1311
 
 
1312
 
  { was #define dname def_expr }
1313
 
  function F_V2 : longint;
1314
 
      { return type might be wrong }
1315
 
      begin
1316
 
         F_V2:=NWSGetLineDrawCharacter(3);
1317
 
      end;
1318
 
 
1319
 
  { was #define dname def_expr }
1320
 
  function F_UL1 : longint;
1321
 
      { return type might be wrong }
1322
 
      begin
1323
 
         F_UL1:=NWSGetLineDrawCharacter(4);
1324
 
      end;
1325
 
 
1326
 
  { was #define dname def_expr }
1327
 
  function F_UR1 : longint;
1328
 
      { return type might be wrong }
1329
 
      begin
1330
 
         F_UR1:=NWSGetLineDrawCharacter(5);
1331
 
      end;
1332
 
 
1333
 
  { was #define dname def_expr }
1334
 
  function F_LL1 : longint;
1335
 
      { return type might be wrong }
1336
 
      begin
1337
 
         F_LL1:=NWSGetLineDrawCharacter(6);
1338
 
      end;
1339
 
 
1340
 
  { was #define dname def_expr }
1341
 
  function F_LR1 : longint;
1342
 
      { return type might be wrong }
1343
 
      begin
1344
 
         F_LR1:=NWSGetLineDrawCharacter(7);
1345
 
      end;
1346
 
 
1347
 
  { was #define dname def_expr }
1348
 
  function F_UL2 : longint;
1349
 
      { return type might be wrong }
1350
 
      begin
1351
 
         F_UL2:=NWSGetLineDrawCharacter(8);
1352
 
      end;
1353
 
 
1354
 
  { was #define dname def_expr }
1355
 
  function F_UR2 : longint;
1356
 
      { return type might be wrong }
1357
 
      begin
1358
 
         F_UR2:=NWSGetLineDrawCharacter(9);
1359
 
      end;
1360
 
 
1361
 
  { was #define dname def_expr }
1362
 
  function F_LL2 : longint;
1363
 
      { return type might be wrong }
1364
 
      begin
1365
 
         F_LL2:=NWSGetLineDrawCharacter(10);
1366
 
      end;
1367
 
 
1368
 
  { was #define dname def_expr }
1369
 
  function F_LR2 : longint;
1370
 
      { return type might be wrong }
1371
 
      begin
1372
 
         F_LR2:=NWSGetLineDrawCharacter(11);
1373
 
      end;
1374
 
 
1375
 
  { was #define dname def_expr }
1376
 
  function F_UT1 : longint;
1377
 
      { return type might be wrong }
1378
 
      begin
1379
 
         F_UT1:=NWSGetLineDrawCharacter(12);
1380
 
      end;
1381
 
 
1382
 
  { was #define dname def_expr }
1383
 
  function F_DT1 : longint;
1384
 
      { return type might be wrong }
1385
 
      begin
1386
 
         F_DT1:=NWSGetLineDrawCharacter(13);
1387
 
      end;
1388
 
 
1389
 
  { was #define dname def_expr }
1390
 
  function F_LT1 : longint;
1391
 
      { return type might be wrong }
1392
 
      begin
1393
 
         F_LT1:=NWSGetLineDrawCharacter(14);
1394
 
      end;
1395
 
 
1396
 
  { was #define dname def_expr }
1397
 
  function F_RT1 : longint;
1398
 
      { return type might be wrong }
1399
 
      begin
1400
 
         F_RT1:=NWSGetLineDrawCharacter(15);
1401
 
      end;
1402
 
 
1403
 
  { was #define dname def_expr }
1404
 
  function F_UT2 : longint;
1405
 
      { return type might be wrong }
1406
 
      begin
1407
 
         F_UT2:=NWSGetLineDrawCharacter(24);
1408
 
      end;
1409
 
 
1410
 
  { was #define dname def_expr }
1411
 
  function F_DT2 : longint;
1412
 
      { return type might be wrong }
1413
 
      begin
1414
 
         F_DT2:=NWSGetLineDrawCharacter(25);
1415
 
      end;
1416
 
 
1417
 
  { was #define dname def_expr }
1418
 
  function F_LT2 : longint;
1419
 
      { return type might be wrong }
1420
 
      begin
1421
 
         F_LT2:=NWSGetLineDrawCharacter(26);
1422
 
      end;
1423
 
 
1424
 
  { was #define dname def_expr }
1425
 
  function F_RT2 : longint;
1426
 
      { return type might be wrong }
1427
 
      begin
1428
 
         F_RT2:=NWSGetLineDrawCharacter(27);
1429
 
      end;
1430
 
 
1431
 
  { was #define dname def_expr }
1432
 
  function F_X1 : longint;
1433
 
      { return type might be wrong }
1434
 
      begin
1435
 
         F_X1:=NWSGetLineDrawCharacter(36);
1436
 
      end;
1437
 
 
1438
 
  { was #define dname def_expr }
1439
 
  function F_X2 : longint;
1440
 
      { return type might be wrong }
1441
 
      begin
1442
 
         F_X2:=NWSGetLineDrawCharacter(39);
1443
 
      end;
1444
 
 
1445
 
  { was #define dname def_expr }
1446
 
  function F_UP : longint;
1447
 
      { return type might be wrong }
1448
 
      begin
1449
 
         F_UP:=NWSGetLineDrawCharacter(40);
1450
 
      end;
1451
 
 
1452
 
  { was #define dname def_expr }
1453
 
  function F_DOWN : longint;
1454
 
      { return type might be wrong }
1455
 
      begin
1456
 
         F_DOWN:=NWSGetLineDrawCharacter(41);
1457
 
      end;
1458
 
 
1459
 
  { was #define dname def_expr }
1460
 
  function F_LEFT : longint;
1461
 
      { return type might be wrong }
1462
 
      begin
1463
 
         F_LEFT:=NWSGetLineDrawCharacter(42);
1464
 
      end;
1465
 
 
1466
 
  { was #define dname def_expr }
1467
 
  function F_RIGHT : longint;
1468
 
      { return type might be wrong }
1469
 
      begin
1470
 
         F_RIGHT:=NWSGetLineDrawCharacter(43);
1471
 
      end;
1472
 
 
1473
 
  { was #define dname def_expr }
1474
 
  function F_BG1 : longint;
1475
 
      { return type might be wrong }
1476
 
      begin
1477
 
         F_BG1:=NWSGetLineDrawCharacter(44);
1478
 
      end;
1479
 
 
1480
 
  { was #define dname def_expr }
1481
 
  function F_BG2 : longint;
1482
 
      { return type might be wrong }
1483
 
      begin
1484
 
         F_BG2:=NWSGetLineDrawCharacter(45);
1485
 
      end;
1486
 
 
1487
 
  { was #define dname def_expr }
1488
 
  function F_BG3 : longint;
1489
 
      { return type might be wrong }
1490
 
      begin
1491
 
         F_BG3:=NWSGetLineDrawCharacter(46);
1492
 
      end;
1493
 
 
1494
 
  { was #define dname def_expr }
1495
 
  function F_BG4 : longint;
1496
 
      { return type might be wrong }
1497
 
      begin
1498
 
         F_BG4:=NWSGetLineDrawCharacter(47);
1499
 
      end;
1500
 
 
1501
 
  { was #define dname(params) para_def_expr }
1502
 
  { argument types are unknown }
1503
 
  { return type might be wrong }   
1504
 
  function IS_DYNAMIC_MESSAGE(a : longint) : boolean;
1505
 
    begin
1506
 
       IS_DYNAMIC_MESSAGE:=(a > $fff0) and (a < $ffff);
1507
 
    end;
1508
 
 
1509
 
 
1510
 
end.
1511
 
 
1512
 
{
1513
 
  $Log: nwsnut.pp,v $
1514
 
  Revision 1.1  2003/02/16 17:45:08  armin
1515
 
  * added nwsnut, nwconio and nwthreads for netware
1516
 
 
1517
 
  
1518
 
}
 
 
b'\\ No newline at end of file'