123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518 |
- {
- $Id$
- This file is part of the Free Pascal run time library
- for Netware.
- Copyright (c) 1999-2003 by the Free Pascal development team.
-
- See the file COPYING.FPC, included in this distribution,
- for details about the copyright.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
- **********************************************************************}
- unit nwsnut;
- interface
- {$mode objfpc}
- const
- External_library='nwsnut';
- Type
- PLongint = ^Longint;
- PSmallInt = ^SmallInt;
- PByte = ^Byte;
- PPByte = ^PByte;
- PWord = ^Word;
- PDWord = ^DWord;
- PDouble = ^Double;
- TLONG = longint;
- PLONG = ^TLONG;
- TWORD = word;
- TBYTE = byte;
- PScreenStruct = pointer;
- {$PACKRECORDS C}
- type
- LONG = dword;
- const
- NULL = 0;
-
- { constants
- the constant CURRENT_NUT_VERSION is incremented when increased
- functionality is added. An NLM can check this value which is placed
- in the NUTInfo structure, version field, to determine if the NWSNUT
- NLM contains sufficient functionality to support its requirements }
- const
- CURRENT_NUT_VERSION = 405;
- { the constant NUT_REVISION_LEVEL is incremented when a major change
- in the behavior of NWSNUT is made. This value is not used by the calling
- NLM, but rather by NWSNUT itself to determine what is expected of it
- by the calling NLM }
- NUT_REVISION_LEVEL = 1;
- SAVE = 1;
- NO_SAVE = 0;
- NOHEADER = 0;
- NOBORDER = 0;
- NO_HELP_CONTEXT = $ffff;
- SINGLE = 1;
- DOUBLE = 2;
- CURSOR_OFF = 0;
- CURSOR_ON = 1;
- VIRTUAL = 0;
- DIRECT = 1;
- SEVERITY_INFORM = 1;
- SEVERITY_WARNING = 2;
- SEVERITY_FATAL = 3;
- { text size minimization styles }
- SNORMAL = 0;
- SMINWIDTH = 1;
- SMINHEIGHT = 2;
- { palettes to set screen colors.
- background and foreground can be reversed with VREVERSE
- }
- { white and black }
- BW_PALETTE = 0;
- { white and dark blue }
- NORMAL_PALETTE = 1;
- { light blue and dark blue }
- INIT_PALETTE = 2;
- { green and black }
- HELP_PALETTE = 3;
- { red and black }
- ERROR_PALETTE = 4;
- { pink and white }
- WARNING_PALETTE = 5;
- { green and red }
- OTHER_PALETTE = 6;
- { text and portal justification styles }
- JRIGHT = 0;
- JLEFT = 1;
- JTOP = 2;
- JBOTTOM = 3;
- JCENTER = 4;
- JTOPRIGHT = 5;
- JTOPLEFT = 6;
- JBOTTOMLEFT = 7;
- JBOTTOMRIGHT = 8;
- { video constants }
- V_UP = 6;
- V_DOWN = 7;
- LINE_OFFSET = 160;
- EXPLODE_RATE = 45;
- SCREEN_SPEED = 0;
- { video attributes }
- VNORMAL = 0;
- VINTENSE = 1;
- VREVERSE = 2;
- VBLINK = 3;
- VIBLINK = 4;
- VRBLINK = 5;
- { header types }
- NO_HEADER = 0;
- SMALL_HEADER = 1;
- NORMAL_HEADER = 2;
- LARGE_HEADER = 3;
- { keyboard constants }
- KS_OFF = 0;
- KS_ON = 1;
- KS_INT = 2;
- K_NORMAL = 0;
- K_F1 = 1;
- K_F2 = 2;
- K_F3 = 3;
- K_F4 = 4;
- K_F5 = 5;
- K_F6 = 6;
- K_F7 = 7;
- K_F8 = 8;
- K_F9 = 9;
- K_F10 = 10;
- K_SF1 = 11;
- K_SF2 = 12;
- K_SF3 = 13;
- K_SF4 = 14;
- K_SF5 = 15;
- K_SF6 = 16;
- K_SF7 = 17;
- K_SF8 = 18;
- K_SF9 = 19;
- K_SF10 = 20;
- K_CF1 = 21;
- K_CF2 = 22;
- K_CF3 = 23;
- K_CF4 = 24;
- K_CF5 = 25;
- K_CF6 = 26;
- K_CF7 = 27;
- K_CF8 = 28;
- K_CF9 = 29;
- K_CF10 = 30;
- K_AF1 = 31;
- K_AF2 = 32;
- K_AF3 = 33;
- K_AF4 = 34;
- K_AF5 = 35;
- K_AF6 = 36;
- K_AF7 = 37;
- K_AF8 = 38;
- K_AF9 = 39;
- K_AF10 = 40;
- K_HELP = 1;
- K_MODIFY = 3;
- K_MARK = 5;
- K_CANCEL = 7;
- K_MODE = 9;
- K_EXIT = 40;
- K_ESCAPE = 41;
- K_BACK = 42;
- K_INSERT = 43;
- K_DELETE = 44;
- K_SELECT = 45;
- K_CYCLE = 46;
- K_UP = 47;
- K_DOWN = 48;
- K_LEFT = 49;
- K_RIGHT = 50;
- K_SUP = 51;
- K_SDOWN = 52;
- K_SLEFT = 53;
- K_SRIGHT = 54;
- K_PUP = 55;
- K_PDOWN = 56;
- K_FRIGHT = 57;
- K_FLEFT = 58;
- K_DELETE_END = 59;
- {
- For NWSUngetKey of function keys, use UGK_FUNCTION_KEY for the "type"
- parameter and "K_F1" etc. for the "value" parameter
- }
- UGK_NORMAL_KEY = $00;
- UGK_FUNCTION_KEY = $01;
- {
- For other special keys listed below, use UGK_NORMAL_KEY for the "value"
- parameter, and the UGK_xxx for the "type" parameter.
- }
- UGK_ENTER_KEY = $02;
- UGK_ESCAPE_KEY = $03;
- UGK_BACKSPACE_KEY = $04;
- UGK_DELETE_KEY = $05;
- UGK_INSERT_KEY = $06;
- UGK_CURSOR_UP_KEY = $07;
- UGK_CURSOR_DOWN_KEY = $08;
- UGK_CURSOR_RIGHT_KEY = $09;
- UGK_CURSOR_LEFT_KEY = $0a;
- UGK_CURSOR_HOME_KEY = $0b;
- UGK_CURSOR_END_KEY = $0c;
- UGK_CURSOR_PUP_KEY = $0d;
- UGK_CURSOR_PDOWN_KEY = $0e;
- {
- Added in version 403
-
- A special key type to cause LISTs to refresh. K_REFRESH_KEY may be returned
- from an action procedure passed to NWSList, or another thread that wishes
- to cause a list to refresh may call NWSUngetKey with the UGK version of this,
- and it too will cause the list to be redrawn.
-
- Use "type" = UGK_SPECIAL_KEY, and "value" = UGK_REFRESH_KEY
- }
- UGK_SPECIAL_KEY = 3;
- UGK_REFRESH_KEY = $22222222;
- K_REFRESH_KEY = UGK_REFRESH_KEY;
- OLD_REFRESH_KEY = 222;
- { available action keys for list }
- M_ESCAPE = $0001;
- M_INSERT = $0002;
- M_DELETE = $0004;
- M_MODIFY = $0008;
- M_SELECT = $0010;
- { marked delete }
- M_MDELETE = $0020;
- M_CYCLE = $0040;
- { marked modify }
- M_MMODIFY = $0080;
- { marked select }
- M_MSELECT = $0100;
- { don't sort list }
- M_NO_SORT = $0200;
- { allow the list to be refreshed }
- M_REFRESH = $0400;
- { return values for EditString }
- E_ESCAPE = 1;
- E_SELECT = 2;
- E_EMPTY = 4;
- E_CHANGE = 8;
- { type values for EditString }
- EF_ANY = $0001;
- EF_DECIMAL = $0002;
- EF_HEX = $0004;
- EF_NOSPACES = $0008;
- EF_UPPER = $0010;
- EF_DATE = $0020;
- EF_TIME = $0040;
- EF_FLOAT = $0080;
- EF_SET = $0100;
- EF_NOECHO = $0200;
- EF_FILENAME = $0400;
- { added in version 404 }
- EF_MASK = $0800;
- { and in version 405 }
- EF_NOCONFIRM_EXIT = $1000;
- { scroll bar stuff for NWSEditTextWithScrollBars, and NWSViewTextWithScrollBars }
- { which scroll bars to show }
- SHOW_VERTICAL_SCROLL_BAR = 2;
- SHOW_HORIZONTAL_SCROLL_BAR = 4;
- { when to show the scroll bars. Use ONLY one of these }
- CONSTANT_SCROLL_BARS = $0200;
- TEXT_SENSITIVE_SCROLL_BARS = $0400;
- CONSIDER_LOCKED_FIELDS = $0800;
- { character and key constants }
- { was #define dname def_expr }
- function F_H1 : longint;
- { return type might be wrong }
- { Í }
- { was #define dname def_expr }
- function F_H2 : longint;
- { return type might be wrong }
- { ³ }
- { was #define dname def_expr }
- function F_V1 : longint;
- { return type might be wrong }
- { º }
- { was #define dname def_expr }
- function F_V2 : longint;
- { return type might be wrong }
- { Ú }
- { was #define dname def_expr }
- function F_UL1 : longint;
- { return type might be wrong }
- { ¿ }
- { was #define dname def_expr }
- function F_UR1 : longint;
- { return type might be wrong }
- { À }
- { was #define dname def_expr }
- function F_LL1 : longint;
- { return type might be wrong }
- { Ù }
- { was #define dname def_expr }
- function F_LR1 : longint;
- { return type might be wrong }
- { É }
- { was #define dname def_expr }
- function F_UL2 : longint;
- { return type might be wrong }
- { » }
- { was #define dname def_expr }
- function F_UR2 : longint;
- { return type might be wrong }
- { È }
- { was #define dname def_expr }
- function F_LL2 : longint;
- { return type might be wrong }
- { ¼ }
- { was #define dname def_expr }
- function F_LR2 : longint;
- { return type might be wrong }
- { Á }
- { was #define dname def_expr }
- function F_UT1 : longint;
- { return type might be wrong }
- { Â }
- { was #define dname def_expr }
- function F_DT1 : longint;
- { return type might be wrong }
- { ´ }
- { was #define dname def_expr }
- function F_LT1 : longint;
- { return type might be wrong }
- { Ã }
- { was #define dname def_expr }
- function F_RT1 : longint;
- { return type might be wrong }
- { Ê }
- { was #define dname def_expr }
- function F_UT2 : longint;
- { return type might be wrong }
- { Ë }
- { was #define dname def_expr }
- function F_DT2 : longint;
- { return type might be wrong }
- { ¹ }
- { was #define dname def_expr }
- function F_LT2 : longint;
- { return type might be wrong }
- { Ì }
- { was #define dname def_expr }
- function F_RT2 : longint;
- { return type might be wrong }
- { Å }
- { was #define dname def_expr }
- function F_X1 : longint;
- { return type might be wrong }
- { Î }
- { was #define dname def_expr }
- function F_X2 : longint;
- { return type might be wrong }
- { }
- { was #define dname def_expr }
- function F_UP : longint;
- { return type might be wrong }
- { }
- { was #define dname def_expr }
- function F_DOWN : longint;
- { return type might be wrong }
- { }
- { was #define dname def_expr }
- function F_LEFT : longint;
- { return type might be wrong }
- { }
- { was #define dname def_expr }
- function F_RIGHT : longint;
- { return type might be wrong }
- { ° }
- { was #define dname def_expr }
- function F_BG1 : longint;
- { return type might be wrong }
- { ± }
- { was #define dname def_expr }
- function F_BG2 : longint;
- { return type might be wrong }
- { ² }
- { was #define dname def_expr }
- function F_BG3 : longint;
- { return type might be wrong }
- { Û }
- { was #define dname def_expr }
- function F_BG4 : longint;
- { return type might be wrong }
- { form constants (control flags) }
- const
- F_NOVERIFY = $00;
- F_VERIFY = $10;
- F_FORCE = $20;
- { a flag to pass if no help is desired in the form }
- F_NO_HELP = $ffffffff;
- { fieldFlags Type masks }
- { normal editable field }
- NORMAL_FIELD = $00;
- { non accessable }
- LOCKED_FIELD = $01;
- { non editable }
- SECURE_FIELD = $02;
- { verify field on form exit }
- REQUIRED_FIELD = $04;
- { hidden fields are also locked }
- HIDDEN_FIELD = $09;
- { prompt fields are also locked }
- PROMPT_FIELD = $11;
- { field locked by user, not by NUT }
- ULOCKED_FIELD = $0100;
- { MASKED_FIELD added in version 402 }
- { display ' ' for text }
- MASKED_FIELD = $200;
- { flag to cause form deselection
- before action & verify routines
- are called }
- FORM_DESELECT = $20;
- { In case old flag was used }
- NO_FORM_DESELECT = $00;
- { normal field controlled justify }
- DEFAULT_FORMAT = $00;
- { right justification format }
- RIGHT_FORMAT = $40;
- { left justification format }
- LEFT_FORMAT = $80;
- { centering format }
- CENTER_FORMAT = $C0;
- MAXPORTALS = 50;
- MAXLISTS = 20;
- SAVELISTS = 20;
- MAXACTIONS = 60;
- MAXFUNCTIONS = MAXACTIONS;
- MAXHELP = 30;
- NO_MESSAGE = $ffff;
- DYNAMIC_MESSAGE_ONE = $fffe;
- DYNAMIC_MESSAGE_TWO = $fffd;
- DYNAMIC_MESSAGE_THREE = $fffc;
- DYNAMIC_MESSAGE_FOUR = $fffb;
- DYNAMIC_MESSAGE_FIVE = $fffa;
- DYNAMIC_MESSAGE_SIX = $fff9;
- DYNAMIC_MESSAGE_SEVEN = $fff8;
- DYNAMIC_MESSAGE_EIGHT = $fff7;
- DYNAMIC_MESSAGE_NINE = $fff6;
- DYNAMIC_MESSAGE_TEN = $fff5;
- DYNAMIC_MESSAGE_ELEVEN = $fff4;
- DYNAMIC_MESSAGE_TWELVE = $fff3;
- DYNAMIC_MESSAGE_THIRTEEN = $fff2;
- DYNAMIC_MESSAGE_FOURTEEN = $fff1;
- SYSTEM_MESSAGE = $8000;
- { was #define dname(params) para_def_expr }
- { argument types are unknown }
- { return type might be wrong }
- function IS_DYNAMIC_MESSAGE(a : longint) : boolean;
- type
- {PNUTInfo_ = ^TNUTInfo_;
- TNUTInfo_ = record
- end;}
-
- PNUTInfo_ = ^TNUTInfo_;
- { height of virtual screen }
- { width of virtual screen }
- { top-most line of portal }
- { left-most column of portal }
- { position of portal over virtual portal }
- { position of portal over virtual portal }
- { the following fields should never be referenced by any application }
- PPCB_ = ^TPCB_;
- TPCB_ = record
- frameLine : TLONG;
- frameColumn : TLONG;
- frameHeight : TLONG;
- frameWidth : TLONG;
- virtualHeight : TLONG;
- virtualWidth : TLONG;
- cursorState : TLONG;
- borderType : TLONG;
- borderAttribute : TLONG;
- saveFlag : TWORD;
- secondarySaveFlag : TWORD;
- directFlag : TLONG;
- headerAttribute : TLONG;
- portalLine : TLONG;
- portalColumn : TLONG;
- portalHeight : TLONG;
- portalWidth : TLONG;
- virtualLine : TLONG;
- virtualColumn : TLONG;
- cursorLine : TLONG;
- cursorColumn : TLONG;
- firstUpdateFlag : TLONG;
- headerText : PBYTE;
- headerText2 : PBYTE;
- virtualScreen : PBYTE;
- saveScreen : PBYTE;
- screenID : PScreenStruct;
- nutInfo : PNUTInfo_;
- sequenceNumber : TLONG;
- reserved1 : TLONG;
- mtflags : TLONG;
- borderPalette : TLONG;
- showScrollBars : TLONG;
- lastLine : TLONG;
- longestLineLen : TLONG;
- verticalScroll : TLONG;
- horizontalScroll : TLONG;
- oldVertical : TLONG;
- oldHorizontal : TLONG;
- deHighlightFunction : procedure (para1:PNUTInfo_; para2:PPCB_);cdecl;
- reHighlightFunction : procedure (para1:PNUTInfo_; para2:PPCB_); cdecl;
- reportPortalUpdate : procedure (para1:PPCB_; para2:PNUTInfo_; updateType:TLONG); cdecl;
- end;
- TPCB = TPCB_;
- PPCB = ^TPCB;
- { Topmost line of frame on physical screen }
- { Leftmost column of frame on physical screen }
- { Height of frame on physical screen }
- { Width of frame on physical screen }
- { Height of virtual screen }
- { Width of virtual screen }
- { Is the cursor on or off (1 or 0) }
- { Type of border to use }
- { Attribute to use with border }
- { TRUE = save old screen }
- { TRUE = no virtual screen }
- { Attribute of header text }
- { Pointer to header text }
- { Pointer to the help text, always assumed to }
- { be non NULL (when empty points to a '/0' BYTE }
- PHS_ = ^THS_;
- THS_ = record
- nextScreen : TLONG;
- previousScreen : TLONG;
- frameLine : TLONG;
- frameColumn : TLONG;
- frameHeight : TLONG;
- frameWidth : TLONG;
- virtualHeight : TLONG;
- virtualWidth : TLONG;
- cursorState : TLONG;
- borderType : TLONG;
- borderAttribute : TLONG;
- saveFlag : TLONG;
- directFlag : TLONG;
- headerAttribute : TLONG;
- headerText : PBYTE;
- text : PBYTE;
- end;
- THELP_SCREEN = THS_;
- PHELP_SCREEN = ^THELP_SCREEN;
- PLIST_STRUCT = ^TLIST_STRUCT;
- TLIST_STRUCT = record
- prev : PLIST_STRUCT;
- next : PLIST_STRUCT;
- otherInfo : pointer;
- marked : TLONG;
- flags : TWORD;
- maxSkew : TWORD;
- entryProcedure : procedure (listElement:PLIST_STRUCT; displayLine:TLONG; NUTInfoStructure:pointer);cdecl;
- extra : TLONG;
- text : array[0..0] of TBYTE;
- end;
- TLIST = TLIST_STRUCT;
- PLIST = ^TLIST;
- PPLIST= ^PLIST;
- PLP_ = ^TLP_;
- TLP_ = record
- head : pointer;
- tail : pointer;
- sortProc : function :longint;cdecl;
- freeProcedure : procedure (memoryPointer:pointer);
- end;
- TLISTPTR = TLP_;
- PLISTPTR = ^TLISTPTR;
- PMI_ = ^TMI_;
- TMI_ = record
- dynamicMessageOne : PBYTE;
- dynamicMessageTwo : PBYTE;
- dynamicMessageThree : PBYTE;
- dynamicMessageFour : PBYTE;
- dynamicMessageFive : PBYTE;
- dynamicMessageSix : PBYTE;
- dynamicMessageSeven : PBYTE;
- dynamicMessageEight : PBYTE;
- dynamicMessageNine : PBYTE;
- dynamicMessageTen : PBYTE;
- dynamicMessageEleven : PBYTE;
- dynamicMessageTwelve : PBYTE;
- dynamicMessageThirteen : PBYTE;
- dynamicMessageFourteen : PBYTE;
- messageCount : TLONG;
- programMesgTable : ^PBYTE;
- end;
- TMessageInfo = TMI_;
- PMessageInfo = ^TMessageInfo;
- PINT_ = ^TINT_;
- TINT_ = record
- interruptProc : procedure (handle:pointer);cdecl;
- key : TLONG;
- end;
- TINTERRUPT = TINT_;
- PINTERRUPT = ^TINTERRUPT;
- PMP_ = ^TMP_;
- TMP_ = record
- listAction : function (option:longint; parameter:pointer):longint;cdecl;
- parameter : pointer;
- end;
- TMENU_PARAMETER = TMP_;
- PMENU_PARAMETER = ^TMENU_PARAMETER;
- { environment structure }
- { always leave the following fields at the end of the struct. They
- should never be referenced directly by an application }
-
- TNUTInfo_ = record
- portal : array[0..(MAXPORTALS)-1] of PPCB;
- currentPortal : TLONG;
- headerHeight : TLONG;
- waitFlag : TLONG;
- listStack : array[0..(MAXLISTS)-1] of TLISTPTR;
- saveStack : array[0..(SAVELISTS)-1] of TLISTPTR;
- nextAvailList : TLONG;
- head : PLIST;
- tail : PLIST;
- defaultCompareFunction : function (el1:PLIST; el2:PLIST):longint;cdecl;
- freeProcedure : procedure (memoryPointer:pointer);
- interruptTable : array[0..(MAXFUNCTIONS)-1] of procedure ;
- functionKeyStatus : array[0..(MAXACTIONS)-1] of TLONG;
- messages : TMessageInfo;
- helpContextStack : array[0..(MAXHELP)-1] of TLONG;
- currentPreHelpMessage : TLONG;
- freeHelpSlot : longint;
- redisplayFormFlag : TLONG;
- preHelpPortal : TLONG;
- helpActive : smallint;
- errorDisplayActive : smallint;
- helpPortal : TLONG;
- waitPortal : TLONG;
- errorPortal : TLONG;
- resourceTag : pointer;
- screenID : pointer;
- helpScreens : PBYTE;
- helpOffset : longint;
- helpHelp : TLONG;
- allocChain : pointer;
- version : TLONG;
- reserved : array[0..9] of TLONG;
- moduleHandle : TLONG;
- customData : pointer;
- customDataRelease : procedure (theData:pointer; thisStructure:PNUTInfo_); cdecl;
- displayErrorLabel : TLONG;
- markBuffer : PBYTE;
- markBufferLength : TLONG;
- editBuffer : PBYTE;
- editBufferLength : TLONG;
- staticFlag : TLONG;
- processID : TLONG;
- mtflags : TLONG;
- saveCurrentPortal : TLONG;
- palette : TLONG;
- nutDataHandle : pointer;
- next : PNUTInfo_;
- prev : PNUTInfo_;
- listSortFunction : procedure (head:PLIST; tail:PLIST; thisStructure:PNUTInfo_); cdecl;
- compatibilityLevel : TLONG;
- end;
- TNUTInfo = TNUTInfo_;
- PNUTInfo = ^TNUTInfo;
- PPNUTInfo= ^PNUTInfo;
-
- { menu header message number }
- { menu center line }
- { menu center column }
- { len of longest menu option }
- { menu action routine }
- { list head for menu list }
- PMFC_ = ^TMFC_;
- TMFC_ = record
- headernum : TLONG;
- centerLine : TLONG;
- centerColumn : TLONG;
- maxoptlen : TLONG;
- action : function (option:longint; parameter:pointer):longint;cdecl;
- arg1 : TLONG;
- arg2 : TLONG;
- arg3 : TLONG;
- arg4 : TLONG;
- arg5 : TLONG;
- arg6 : TLONG;
- menuhead : TLISTPTR;
- nutInfo : PNUTInfo;
- end;
- TMFCONTROL = TMFC_;
- PMFCONTROL = ^TMFCONTROL;
- { list element that owns the field }
- { Control flags }
- { Line where field is located }
- { Column where field is located }
- { Maximum width of field }
- { Display attribute for field }
- { Keys that will activate the field }
- { Routine called when field selected }
- { Routine to verify Input }
- { Data & Xtra field release routine }
- { Pointer to data }
- { Additional control info }
- { help context for this field }
- { Pointer to field above }
- { Pointer to field below }
- { Pointer to field to left }
- { Pointer to field to right }
- { Pointer to previous field }
- { Pointer to next field }
- { if this value is set, this routine will be called upon
- entry to each field }
- { this allows the user to have any sort of custom data that
- he wants attached to the field. }
- { and this lets him release it. Note that these parameters
- match NWSFree which allows the use of NWSAlloc for
- this data (a further guarantee that the memory will be freed }
- { handle to keep track of who owns the field }
- Pfielddef = ^Tfielddef;
- Tfielddef = record
- element : PLIST;
- fieldFlags : TLONG;
- fieldLine : TLONG;
- fieldColumn : TLONG;
- fieldWidth : TLONG;
- fieldAttribute : TLONG;
- fieldActivateKeys : longint;
- fieldFormat : procedure (field:Pfielddef; text:PBYTE; buffLen:TLONG);cdecl;
- fieldControl : function (field:Pfielddef; selectKey:longint; fieldChanged:Plongint; handle:PNUTInfo):TLONG;
- fieldVerify : function (field:Pfielddef; data:PBYTE; handle:PNUTInfo):longint;
- fieldRelease : procedure (para1:Pfielddef);
- fieldData : PBYTE;
- fieldXtra : PBYTE;
- fieldHelp : longint;
- fieldAbove : Pfielddef;
- fieldBelow : Pfielddef;
- fieldLeft : Pfielddef;
- fieldRight : Pfielddef;
- fieldPrev : Pfielddef;
- fieldNext : Pfielddef;
- fieldEntry : procedure (intoField:Pfielddef; fieldData:pointer; handle:PNUTInfo);
- customData : pointer;
- customDataRelease : procedure (fieldCustomData:pointer; handle:PNUTInfo);
- nutInfo : PNUTInfo;
- end;
- TFIELD = Tfielddef;
- PFIELD = ^TFIELD;
- { Structures used for DisplayErrorCondition() }
- PPCERR_ = ^TPCERR_;
- TPCERR_ = record
- ccodeReturned : longint;
- errorMessageNumber : longint;
- end;
- TPROCERROR = TPCERR_;
- PPROCERROR = ^TPROCERROR;
- PNA_ = ^TNA_;
- TNA_ = record
- address : pointer;
- next : pointer;
- end;
- TNUT_ALLOC = TNA_;
- PNUT_ALLOC = ^TNUT_ALLOC;
- { C++ extern C conditionnal removed }
- { CLIB screen ID }
- { OS ResourceTagStructure }
- function NWSInitializeNut(utility:TLONG; version:TLONG; headerType:TLONG; compatibilityLevel:TLONG; messageTable:PPBYTE;
- helpScreens:PBYTE; screenID:longint; resourceTag:TLONG; handle:PPNUTInfo):longint;cdecl;external External_library name 'NWSInitializeNut';
- procedure NWSScreenSize(maxLines:PLONG; maxColumns:PLONG);cdecl;external External_library name 'NWSScreenSize';
- procedure NWSShowPortalLine(line:TLONG; column:TLONG; text:PBYTE; length:TLONG; portal:PPCB);cdecl;external External_library name 'NWSShowPortalLine';
- procedure NWSShowPortalLineAttribute(line:TLONG; column:TLONG; text:PBYTE; attribute:TLONG; length:TLONG;
- portal:PPCB);cdecl;external External_library name 'NWSShowPortalLineAttribute';
- procedure NWSScrollPortalZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; attribute:TLONG;
- count:TLONG; direction:TLONG; portal:PPCB);cdecl;external External_library name 'NWSScrollPortalZone';
- procedure NWSFillPortalZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; fillCharacter:TLONG;
- fillAttribute:TLONG; portal:PPCB);cdecl;external External_library name 'NWSFillPortalZone';
- procedure NWSFillPortalZoneAttribute(line:TLONG; column:TLONG; height:TLONG; width:TLONG; attribute:TLONG;
- portal:PPCB);cdecl;external External_library name 'NWSFillPortalZoneAttribute';
- function NWSGetMessage(message:TLONG; messages:PMessageInfo):PBYTE;cdecl;external External_library name 'NWSGetMessage';
- procedure NWSSetDynamicMessage(message:TLONG; text:PBYTE; messages:PMessageInfo);cdecl;external External_library name 'NWSSetDynamicMessage';
- function NWSCreatePortal(line:TLONG; column:TLONG; frameHeight:TLONG; frameWidth:TLONG; virtualHeight:TLONG;
- virtualWidth:TLONG; saveFlag:TLONG; headerText:PBYTE; headerAttribute:TLONG; borderType:TLONG;
- borderAttribute:TLONG; cursorFlag:TLONG; directFlag:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSCreatePortal';
- procedure NWSDestroyPortal(portalNumber:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyPortal';
- procedure NWSPositionPortalCursor(line:TLONG; column:TLONG; portal:PPCB);cdecl;external External_library name 'NWSPositionPortalCursor';
- procedure NWSEnablePortalCursor(portal:PPCB);cdecl;external External_library name 'NWSEnablePortalCursor';
- procedure NWSDisablePortalCursor(portal:PPCB);cdecl;external External_library name 'NWSDisablePortalCursor';
- procedure NWSDeselectPortal(handle:PNUTInfo);cdecl;external External_library name 'NWSDeselectPortal';
- procedure NWSSelectPortal(portalNumber:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSSelectPortal';
- function NWSComputePortalPosition(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; line:PLONG;
- column:PLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSComputePortalPosition';
- procedure NWSClearPortal(portal:PPCB);cdecl;external External_library name 'NWSClearPortal';
- type TFreeRoutine = procedure (memoryPointer:pointer); cdecl;
- procedure NWSInitList(handle:PNUTInfo; freeRoutine:TFreeRoutine);cdecl;external External_library name 'NWSInitList';
- function NWSPushList(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSPushList';
- function NWSPopList(handleNWS:PNUTInfo):TLONG;cdecl;external External_library name 'NWSPopList';
- function NWSSaveList(listIndex:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSSaveList';
- function NWSRestoreList(listIndex:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSRestoreList';
- procedure NWSDestroyList(handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyList';
- procedure NWSDestroyMenu(handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyMenu';
- procedure NWSDestroyForm(handle:PNUTInfo);cdecl;external External_library name 'NWSDestroyForm';
- function NWSAppendToList(text:PBYTE; otherInfo:pointer; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSAppendToList';
- function NWSDeleteFromList(el:PLIST; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSDeleteFromList';
- function NWSInsertInList(text:PBYTE; otherInfo:PBYTE; atElement:PLIST; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSInsertInList';
- function NWSGetListElementText(element:PLIST):PBYTE;cdecl;external External_library name 'NWSGetListElementText';
- function NWSGetListHead(handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSGetListHead';
- function NWSGetListTail(handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSGetListTail';
- procedure NWSUnmarkList(handle:PNUTInfo);cdecl;external External_library name 'NWSUnmarkList';
- procedure NWSSetList(listPtr:PLISTPTR; handle:PNUTInfo);cdecl;external External_library name 'NWSSetList';
- procedure NWSGetList(listPtr:PLISTPTR; handle:PNUTInfo);cdecl;external External_library name 'NWSGetList';
- function NWSIsAnyMarked(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSIsAnyMarked';
- procedure NWSPushMarks(handle:PNUTInfo);cdecl;external External_library name 'NWSPushMarks';
- procedure NWSPopMarks(handle:PNUTInfo);cdecl;external External_library name 'NWSPopMarks';
- procedure NWSSortList(handle:PNUTInfo);cdecl;external External_library name 'NWSSortList';
- procedure NWSInitMenu(handle:PNUTInfo);cdecl;external External_library name 'NWSInitMenu';
- procedure NWSInitForm(handle:PNUTInfo);cdecl;external External_library name 'NWSInitForm';
- function NWSGetSortCharacter(charIndex:TLONG):TLONG;cdecl;external External_library name 'NWSGetSortCharacter';
- function NWSGetLineDrawCharacter(charIndex:TLONG):TLONG;cdecl;external External_library name 'NWSGetLineDrawCharacter';
- function NWSStrcat(_string:PBYTE; newStuff:PBYTE):TLONG;cdecl;external External_library name 'NWSStrcat';
- procedure NWSMemmove(dest:pointer; source:pointer; len:longint);cdecl;external External_library name 'NWSMemmove';
- function NWSToupper(ch:TBYTE):TBYTE;cdecl;external External_library name 'NWSToupper';
- function NWSIsdigit(ch:TBYTE):longint;cdecl;external External_library name 'NWSIsdigit';
- function NWSIsxdigit(ch:TBYTE):longint;cdecl;external External_library name 'NWSIsxdigit';
- function NWSAsciiToInt(data:PBYTE):longint;cdecl;external External_library name 'NWSAsciiToInt';
- function NWSAsciiToLONG(data:PBYTE):TLONG;cdecl;external External_library name 'NWSAsciiToLONG';
- function NWSAsciiHexToInt(data:PBYTE):longint;cdecl;external External_library name 'NWSAsciiHexToInt';
- procedure NWSWaitForEscape(handle:PNUTInfo);cdecl;external External_library name 'NWSWaitForEscape';
- function NWSWaitForEscapeOrCancel(handle:PNUTInfo):longint;cdecl;external External_library name 'NWSWaitForEscapeOrCancel';
- procedure NWSGetKey(_type:PLONG; value:PBYTE; handle:PNUTInfo);cdecl;external External_library name 'NWSGetKey';
- function NWSKeyStatus(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSKeyStatus';
- function NWSUngetKey(_type:TLONG; value:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSUngetKey';
- procedure NWSEnableFunctionKey(key:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableFunctionKey';
- procedure NWSDisableFunctionKey(key:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisableFunctionKey';
- procedure NWSDisableInterruptKey(key:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisableInterruptKey';
- type TInterruptProc = procedure (handle:pointer); cdecl;
- procedure NWSEnableInterruptKey(key:TLONG; interruptProc:TInterruptProc; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableInterruptKey';
- procedure NWSSaveFunctionKeyList(keyList:PBYTE; handle:PNUTInfo);cdecl;external External_library name 'NWSSaveFunctionKeyList';
- procedure NWSEnableFunctionKeyList(keyList:PBYTE; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableFunctionKeyList';
- procedure NWSSaveInterruptList(interruptList:PINTERRUPT; handle:PNUTInfo);cdecl;external External_library name 'NWSSaveInterruptList';
- procedure NWSEnableInterruptList(interruptList:PINTERRUPT; handle:PNUTInfo);cdecl;external External_library name 'NWSEnableInterruptList';
- procedure NWSDisableAllInterruptKeys(handle:PNUTInfo);cdecl;external External_library name 'NWSDisableAllInterruptKeys';
- procedure NWSDisableAllFunctionKeys(handle:PNUTInfo);cdecl;external External_library name 'NWSDisableAllFunctionKeys';
- procedure NWSEnableAllFunctionKeys(handle:PNUTInfo);cdecl;external External_library name 'NWSEnableAllFunctionKeys';
- function NWSDisplayTextInPortal(line:TLONG; indentLevel:TLONG; text:PBYTE; attribute:TLONG; portal:PPCB):longint;cdecl;external External_library name 'NWSDisplayTextInPortal';
- function NWSDisplayInformation(header:TLONG; pauseFlag:TLONG; centerLine:TLONG; centerColumn:TLONG; palette:TLONG;
- attribute:TLONG; displayText:PBYTE; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSDisplayInformation';
- procedure NWSStartWait(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSStartWait';
- procedure NWSEndWait(handle:PNUTInfo);cdecl;external External_library name 'NWSEndWait';
- function NWSAlert(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG; args:array of const):TLONG;cdecl;external External_library name 'NWSAlert';
- function NWSAlert(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG):TLONG;cdecl;external External_library name 'NWSAlert';
- function NWSAlertWithHelp(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG; helpContext:TLONG;
- args:array of const):TLONG;cdecl;external External_library name 'NWSAlertWithHelp';
- function NWSAlertWithHelp(centerLine:TLONG; centerColumn:TLONG; handle:PNUTInfo; message:TLONG; helpContext:TLONG):TLONG;cdecl;external External_library name 'NWSAlertWithHelp';
- function NWSTrace(handle:PNUTInfo; message:PBYTE; args:array of const):TLONG;cdecl;external External_library name 'NWSTrace';
- function NWSTrace(handle:PNUTInfo; message:PBYTE):TLONG;cdecl;external External_library name 'NWSTrace';
- procedure NWSDisplayErrorText(message:TLONG; severity:TLONG; handle:PNUTInfo; args:array of const);cdecl;external External_library name 'NWSDisplayErrorText';
- procedure NWSDisplayErrorText(message:TLONG; severity:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayErrorText';
- procedure NWSDisplayErrorCondition(procedureName:PBYTE; errorCode:longint; severity:TLONG; errorList:PPROCERROR; handle:PNUTInfo;
- args:array of const);cdecl;external External_library name 'NWSDisplayErrorCondition';
- procedure NWSDisplayErrorCondition(procedureName:PBYTE; errorCode:longint; severity:TLONG; errorList:PPROCERROR; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayErrorCondition';
- function NWSAppendToMenu(message:TLONG; option:TLONG; handle:PNUTInfo):PLIST;cdecl;external External_library name 'NWSAppendToMenu';
- type TActionFunc = function (option:longint; parameter:pointer) : longint; cdecl;
- function NWSMenu(header:TLONG; centerLine:TLONG; centerColumn:TLONG; defaultElement:PLIST; action:TActionFunc;
- handle:PNUTInfo; actionParameter:pointer):longint;cdecl;external External_library name 'NWSMenu';
- function NWSConfirm(header:TLONG; centerLine:TLONG; centerColumn:TLONG; defaultChoice:TLONG; action:TActionFunc;
- handle:PNUTInfo; actionParameter:pointer):longint;cdecl;external External_library name 'NWSConfirm';
- function NWSPushHelpContext(helpContext:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSPushHelpContext';
- function NWSPopHelpContext(handle:PNUTInfo):longint;cdecl;external External_library name 'NWSPopHelpContext';
- type TFormatFunc=function (element:PLIST; skew:TLONG; displayLine:PBYTE; width:TLONG):TLONG; cdecl;
- TNWSListActionFunc=function (keyPressed:TLONG; elementSelected:PPLIST; itemLineNumber:PLONG; actionParameter:pointer):longint; cdecl;
-
- function NWSList(header:TLONG; centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG;
- validKeyFlags:TLONG; element:PPLIST; handle:PNUTInfo; format:TFormatFunc; action:TNWSListActionFunc;
- actionParameter:pointer):TLONG;cdecl;external External_library name 'NWSList';
- type TInsertFunc = function (text:PBYTE; otherInfo:Ppointer; parameters:pointer):longint; cdecl;
- TFreeProcedure=function (otherInfo:pointer):longint; cdecl;
-
- function NWSInsertInPortalList(currentElement:PPLIST; currentLine:PLONG; InsertProcedure:TInsertFunc; FreeProcedure:TFreeProcedure; handle:PNUTInfo;
- parameters:pointer):longint;cdecl;external External_library name 'NWSInsertInPortalList';
- type TModifyProcedure=function (text:PBYTE; parameters:pointer):longint; cdecl;
- function NWSModifyInPortalList(currentElement:PPLIST; currentLine:PLONG; ModifyProcedure:TModifyProcedure; handle:PNUTInfo; parameters:pointer):longint;cdecl;external External_library name 'NWSModifyInPortalList';
- type TDeleteFunc = function (el:PLIST; handle:PNUTInfo; parameters:pointer):PLIST; cdecl;
- function NWSDeleteFromPortalList(currentElement:PPLIST; currentLine:PLONG; DeleteProcedure:TDeleteFunc; deleteCurrentHeader:TLONG; deleteMarkedHeader:TLONG;
- handle:PNUTInfo; parameters:pointer):longint;cdecl;external External_library name 'NWSDeleteFromPortalList';
- type TNWSEditInsertFunc=function (buffer:PBYTE; maxLen:TLONG; parameters:pointer):longint; cdecl;
- TNWSEditActionFunc=function (action:TLONG; buffer:PBYTE; parameters:pointer):longint; cdecl;
- function NWSEditString(centerLine:TLONG; centerColumn:TLONG; editHeight:TLONG; editWidth:TLONG; header:TLONG;
- prompt:TLONG; buf:PBYTE; maxLen:TLONG; _type:TLONG; handle:PNUTInfo;
- insertProc:TNWSEditInsertFunc; actionProc:TNWSEditActionFunc; parameters:pointer):longint;cdecl;external External_library name 'NWSEditString';
- function NWSAppendIntegerField(line:TLONG; column:TLONG; fflag:TLONG; data:Plongint; minimum:longint;
- maximum:longint; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendIntegerField';
- function NWSAppendUnsignedIntegerField(line:TLONG; column:TLONG; fflag:TLONG; data:PLONG; minimum:TLONG;
- maximum:TLONG; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendUnsignedIntegerField';
- function NWSAppendHexField(line:TLONG; column:TLONG; fflag:TLONG; data:Plongint; minimum:longint;
- maximum:longint; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendHexField';
- procedure NWSDisplayPreHelp(line:TLONG; column:TLONG; message:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayPreHelp';
- procedure NWSRemovePreHelp(handle:PNUTInfo);cdecl;external External_library name 'NWSRemovePreHelp';
- function NWSGetADisk(volName:PBYTE; prompt:PBYTE; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSGetADisk';
- procedure NWSInitListPtr(listPtr:PLISTPTR);cdecl;external External_library name 'NWSInitListPtr';
- function NWSEditForm(headernum:TLONG; line:TLONG; col:TLONG; portalHeight:TLONG; portalWidth:TLONG;
- virtualHeight:TLONG; virtualWidth:TLONG; ESCverify:TLONG; forceverify:TLONG; confirmMessage:TLONG;
- handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditForm';
- function NWSEditPortalFormField(header:TLONG; cline:TLONG; ccol:TLONG; formHeight:TLONG; formWidth:TLONG;
- controlFlags:TLONG; formHelp:TLONG; confirmMessage:TLONG; startField:PFIELD; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditPortalFormField';
- function NWSEditPortalForm(header:TLONG; centerLine:TLONG; centerColumn:TLONG; formHeight:TLONG; formWidth:TLONG;
- controlFlags:TLONG; formHelp:TLONG; confirmMessage:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditPortalForm';
- type TfFormat = procedure (field:Pfielddef; text:PBYTE; buffLen:TLONG); cdecl;
- TfControl = function (field:Pfielddef; selectKey:longint; fieldChanged:Plongint; handle:PNUTInfo):TLONG; cdecl;
- TfVerify = function (field:Pfielddef; data:PBYTE; handle:PNUTInfo):longint; cdecl;
- TfRelease = procedure (field:Pfielddef); cdecl;
- { Data & Xtra field release routine }
- function NWSAppendToForm(
- fline:TLONG;
- fcol:TLONG;
- fwidth:TLONG;
- fattr:TLONG;
- fFormat:TfFormat;
- fControl:TfControl;
- fVerify:TfVerify;
- fRelease:TfRelease;
- fData:PBYTE;
- fXtra:PBYTE;
- fflags:TLONG;
- fActivateKeys:TLONG;
- fhelp:TLONG;
- handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendToForm';
- function NWSAppendPromptField(line:TLONG; column:TLONG; promptnum:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendPromptField';
- function NWSAppendCommentField(line:TLONG; column:TLONG; prompt:PBYTE; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendCommentField';
- function NWSAppendStringField(line:TLONG; column:TLONG; width:TLONG; fflag:TLONG; data:PBYTE;
- cset:PBYTE; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendStringField';
- function NWSAppendBoolField(line:TLONG; column:TLONG; fflag:TLONG; data:PBYTE; help:TLONG;
- handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendBoolField';
- function NWSAppendGenericBoolField(line:TLONG; column:TLONG; fflag:TLONG; data:PBYTE; help:TLONG;
- yesString:PBYTE; noString:PBYTE; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendGenericBoolField';
- type TSpotActionFunc = function (fp:PFIELD; selectKey:longint; changedField:Plongint; handle:PNUTInfo):TLONG; cdecl;
- function NWSAppendHotSpotField(line:TLONG; column:TLONG; fflag:TLONG;
- displayString:PBYTE;
- SpotAction:TSpotActionFunc;
- handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendHotSpotField';
- function NWSInitMenuField(headermsg:TLONG; cLine:TLONG; cCol:TLONG;
- action:TActionFunc ;
- nutInfo:PNUTInfo;
- args:array of const):PMFCONTROL;cdecl;external External_library name 'NWSInitMenuField';
- function NWSInitMenuField(headermsg:TLONG; cLine:TLONG; cCol:TLONG;
- action:TActionFunc; nutInfo:PNUTInfo):PMFCONTROL;cdecl;external External_library name 'NWSInitMenuField';
- function NWSAppendToMenuField(m:PMFCONTROL; optiontext:TLONG; option:longint; nutInfo:PNUTInfo):longint;cdecl;external External_library name 'NWSAppendToMenuField';
- function NWSAppendMenuField(line:TLONG; column:TLONG; fflag:TLONG; data:Plongint; m:PMFCONTROL;
- help:TLONG; nutInfo:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendMenuField';
- { length of document }
- function NWSEditText(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG;
- textBuffer:PBYTE; maxBufferLength:TLONG; confirmMessage:TLONG; forceConfirm:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditText';
- function NWSViewText(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG;
- textBuffer:PBYTE; maxBufferLength:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSViewText';
- procedure NWSDisplayHelpScreen(offset:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSDisplayHelpScreen';
- function NWSAlloc(numberOfBytes:TLONG; handle:PNUTInfo):pointer;cdecl;external External_library name 'NWSAlloc';
- procedure NWSFree(address:pointer; handle:PNUTInfo);cdecl;external External_library name 'NWSFree';
- function NWSDisplayTextJustifiedInPortal(justify:TLONG; line:TLONG; column:TLONG; textWidth:TLONG; text:PBYTE;
- attribute:TLONG; portal:PPCB):longint;cdecl;external External_library name 'NWSDisplayTextJustifiedInPortal';
- function NWSDisplayInformationInPortal(header:TLONG; portalJustifyLine:TLONG; portalJustifyColumn:TLONG; portalJustifyType:TLONG; portalPalette:TLONG;
- portalBorderType:TLONG; portalMaxWidth:TLONG; portalMaxHeight:TLONG; portalMinWidth:TLONG; portalMinHeight:TLONG;
- textLRJustifyType:TLONG; textLRIndent:TLONG; textTBJustifyType:TLONG; textTBIndent:TLONG; textAttribute:TLONG;
- textMinimizeStyle:TLONG; text:PBYTE; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSDisplayInformationInPortal';
- procedure NWSRestoreNut(handle:PNUTInfo);cdecl;external External_library name 'NWSRestoreNut';
- procedure NWSDrawPortalBorder(portal:PPCB);cdecl;external External_library name 'NWSDrawPortalBorder';
- procedure NWSUpdatePortal(portal:PPCB);cdecl;external External_library name 'NWSUpdatePortal';
- type TSSFEntryProc = procedure (para1:PFIELD; para2:pointer; para3:PNUTInfo); cdecl;
- TSSFCustomDataReleaseProc = procedure (para1:pointer; para2:PNUTInfo); cdecl;
- TSSFFormat=procedure (para1:PFIELD; text:PBYTE; para3:TLONG); cdecl;
- TSSFControlFunc = function (para1:PFIELD; para2:longint; para3:Plongint; para4:PNUTInfo):TLONG; cdecl;
- TSSFVerifyFunc = function (para1:PFIELD; para2:PBYTE; para3:PNUTInfo):longint; cdecl;
- TSSFReleaseProc = procedure (para1:PFIELD); cdecl;
-
- procedure NWSSetFieldFunctionPtr(fp:PFIELD;
- Format : TSSFFormat;
- Control: TSSFControlFunc;
- Verify : TSSFVerifyFunc;
- Release: TSSFReleaseProc;
- Entry : TSSFEntryProc;
- customDataRelease
- : TSSFCustomDataReleaseProc);cdecl;external External_library name 'NWSSetFieldFunctionPtr';
- procedure NWSGetFieldFunctionPtr(
- fp:PFIELD;
- var Format : TSSFFormat;
- var Control : TSSFControlFunc;
- var Verify : TSSFVerifyFunc;
- var Release : TSSFReleaseProc;
- var Entry : TSSFEntryProc;
- var customDataRelease:TSSFCustomDataReleaseProc);cdecl;external External_library name 'NWSGetFieldFunctionPtr';
- type TCompareFunc = function (el1:PLIST; el2:PLIST):longint; cdecl;
- procedure NWSSetDefaultCompare(handle:PNUTInfo;
- defaultCompareFunction:TCompareFunc);cdecl;external External_library name 'NWSSetDefaultCompare';
- procedure NWSGetDefaultCompare(handle:PNUTInfo; var defaultCompareFunction:TCompareFunc);cdecl;external External_library name 'NWSGetDefaultCompare';
- type TlistSortFunction = procedure (head:PLIST; tail:PLIST; handle:PNUTInfo); cdecl;
- { added in version 402 }
- procedure NWSSetListSortFunction(handle:PNUTInfo;
- listSortFunction:TlistSortFunction);cdecl;external External_library name 'NWSSetListSortFunction';
- { added in version 402 }
- procedure NWSGetListSortFunction(handle:PNUTInfo;
- var listSortFunction:TlistSortFunction);cdecl;external External_library name 'NWSGetListSortFunction';
- procedure NWSSetScreenPalette(newPalette:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSSetScreenPalette';
- function NWSGetScreenPalette(handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSGetScreenPalette';
- procedure NWSGetPCB(var _pPcb:PPCB; portalNumber:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSGetPCB';
- type TentryProcedure = procedure (element:PLIST; displayLine:TLONG; handle:PNUTInfo); cdecl;
- procedure NWSSetListNotifyProcedure(el:PLIST;
- entryProcedure:TentryProcedure);cdecl;external External_library name 'NWSSetListNotifyProcedure';
- procedure NWSGetListNotifyProcedure(el:PLIST;
- var entryProcedure:TentryProcedure);cdecl;external External_library name 'NWSGetListNotifyProcedure';
- type TcdReleaseProc = procedure (theData:pointer; handle:PNUTInfo); cdecl;
- procedure NWSSetHandleCustomData(handle:PNUTInfo;
- customData:pointer;
- customDataRelease:TcdReleaseProc);cdecl;external External_library name 'NWSSetHandleCustomData';
- procedure NWSGetHandleCustomData(handle:PNUTInfo;
- customData:Ppointer;
- customDataRelease:TcdReleaseProc);cdecl;external External_library name 'NWSGetHandleCustomData';
- procedure NWSSetErrorLabelDisplayFlag(flag:TLONG;
- handle:PNUTInfo);cdecl;external External_library name 'NWSSetErrorLabelDisplayFlag';
- procedure NWSSetHelpHelp(helpIndex:TLONG;
- handle:PNUTInfo);cdecl;external External_library name 'NWSSetHelpHelp';
- { max length of passwordString, including NULL }
- function NWSPromptForPassword(passwordHeader:TLONG; line:TLONG; column:TLONG; maxPasswordLen:TLONG; passwordString:PBYTE;
- verifyEntry:TLONG; handle:PNUTInfo):TLONG;cdecl;external External_library name 'NWSPromptForPassword';
- { field flags }
- { ptr to field text }
- { including null }
- { help for field }
- { force password verification }
- { fill character for field }
- function NWSAppendPasswordField(line:TLONG; column:TLONG; width:TLONG; fflag:TLONG; data:PBYTE;
- maxDataLen:TLONG; help:TLONG; verifyEntry:TLONG; passwordPortalHeader:TLONG; maskCharacter:TLONG;
- handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendPasswordField';
- { field display width in form }
- { field flags (NORMAL_FIELD, etc.) }
- { ptr to field text }
- { max len of data, allowing for null terminator }
- { valid characters, if using EF_SET }
- { NWSEditString flags (EF_UPPER etc.) }
- function NWSAppendScrollableStringField(line:TLONG; column:TLONG; width:TLONG; fflag:TLONG; data:PBYTE;
- maxLen:TLONG; cset:PBYTE; editFlags:TLONG; help:TLONG; handle:PNUTInfo):PFIELD;cdecl;external External_library name 'NWSAppendScrollableStringField';
- type TSSFInsertFunc = function (_string:PBYTE; maxLen:TLONG; parameters:pointer):longint; cdecl;
- procedure NWSSetScrollableFieldInsertProc(fp:PFIELD; insertProc:TSSFInsertFunc);cdecl;external External_library name 'NWSSetScrollableFieldInsertProc';
- { Returns 0 for success, -1 if none selected }
- { if not NULL, returns portal number }
- function NWSGetCurrentPortal(nutInfo:PNUTInfo; portalNumber:PLONG; var portal:PPCB):TLONG;cdecl;external External_library name 'NWSGetCurrentPortal';
- { if not NULL, returns PCB pointer }
- function NWSWaitForKeyAndValue(handle:PNUTInfo;
- nKeys:TLONG;
- keyType:array of TLONG;
- keyValue:array of TLONG):longint;cdecl;external External_library name 'NWSWaitForKeyAndValue';
- procedure NWSShowLineAttribute(line:TLONG;
- column:TLONG;
- text:PBYTE;
- attribute:TLONG;
- length:TLONG;
- screenID:PScreenStruct);cdecl;external External_library name 'NWSShowLineAttribute';
- procedure NWSShowLine(line:TLONG; column:TLONG; text:PBYTE; length:TLONG; screenID:PScreenStruct);cdecl;external External_library name 'NWSShowLine';
- procedure NWSScrollZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; attribute:TLONG;
- count:TLONG; direction:TLONG; screenID:PScreenStruct);cdecl;external External_library name 'NWSScrollZone';
- procedure NWSSaveZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; buffer:PBYTE;
- screenID:PScreenStruct);cdecl;external External_library name 'NWSSaveZone';
- procedure NWSRestoreZone(line:TLONG; column:TLONG; height:TLONG; width:TLONG; buffer:PBYTE;
- screenID:PScreenStruct);cdecl;external External_library name 'NWSRestoreZone';
- procedure NWSRestoreDisplay(screenID:PScreenStruct);cdecl;external External_library name 'NWSRestoreDisplay';
- procedure NWSPositionCursor(line:TLONG; column:TLONG; screenID:PScreenStruct);cdecl;external External_library name 'NWSPositionCursor';
- procedure NWSGetNUTVersion(majorVersion:PLONG; minorVersion:PLONG; revision:PLONG);cdecl;external External_library name 'NWSGetNUTVersion';
- procedure NWSSetFormRepaintFlag(value:TLONG; handle:PNUTInfo);cdecl;external External_library name 'NWSSetFormRepaintFlag';
- procedure NWSSetFormNoWrap(handle:PNUTInfo);cdecl;external External_library name 'NWSSetFormNoWrap';
- function NWSViewTextWithScrollBars(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG;
- textBuffer:PBYTE; maxBufferLength:TLONG; scrollBarFlag:TLONG; handle:PNUTInfo):longint;cdecl;external External_library name 'NWSViewTextWithScrollBars';
- { length of document }
- function NWSEditTextWithScrollBars(centerLine:TLONG; centerColumn:TLONG; height:TLONG; width:TLONG; headerNumber:TLONG;
- textBuffer:PBYTE; maxBufferLength:TLONG; confirmMessage:TLONG; forceConfirm:TLONG; scrollBarFlag:TLONG;
- handle:PNUTInfo):longint;cdecl;external External_library name 'NWSEditTextWithScrollBars';
- implementation
- { was #define dname def_expr }
- function F_H1 : longint;
- { return type might be wrong }
- begin
- F_H1:=NWSGetLineDrawCharacter(0);
- end;
- { was #define dname def_expr }
- function F_H2 : longint;
- { return type might be wrong }
- begin
- F_H2:=NWSGetLineDrawCharacter(1);
- end;
- { was #define dname def_expr }
- function F_V1 : longint;
- { return type might be wrong }
- begin
- F_V1:=NWSGetLineDrawCharacter(2);
- end;
- { was #define dname def_expr }
- function F_V2 : longint;
- { return type might be wrong }
- begin
- F_V2:=NWSGetLineDrawCharacter(3);
- end;
- { was #define dname def_expr }
- function F_UL1 : longint;
- { return type might be wrong }
- begin
- F_UL1:=NWSGetLineDrawCharacter(4);
- end;
- { was #define dname def_expr }
- function F_UR1 : longint;
- { return type might be wrong }
- begin
- F_UR1:=NWSGetLineDrawCharacter(5);
- end;
- { was #define dname def_expr }
- function F_LL1 : longint;
- { return type might be wrong }
- begin
- F_LL1:=NWSGetLineDrawCharacter(6);
- end;
- { was #define dname def_expr }
- function F_LR1 : longint;
- { return type might be wrong }
- begin
- F_LR1:=NWSGetLineDrawCharacter(7);
- end;
- { was #define dname def_expr }
- function F_UL2 : longint;
- { return type might be wrong }
- begin
- F_UL2:=NWSGetLineDrawCharacter(8);
- end;
- { was #define dname def_expr }
- function F_UR2 : longint;
- { return type might be wrong }
- begin
- F_UR2:=NWSGetLineDrawCharacter(9);
- end;
- { was #define dname def_expr }
- function F_LL2 : longint;
- { return type might be wrong }
- begin
- F_LL2:=NWSGetLineDrawCharacter(10);
- end;
- { was #define dname def_expr }
- function F_LR2 : longint;
- { return type might be wrong }
- begin
- F_LR2:=NWSGetLineDrawCharacter(11);
- end;
- { was #define dname def_expr }
- function F_UT1 : longint;
- { return type might be wrong }
- begin
- F_UT1:=NWSGetLineDrawCharacter(12);
- end;
- { was #define dname def_expr }
- function F_DT1 : longint;
- { return type might be wrong }
- begin
- F_DT1:=NWSGetLineDrawCharacter(13);
- end;
- { was #define dname def_expr }
- function F_LT1 : longint;
- { return type might be wrong }
- begin
- F_LT1:=NWSGetLineDrawCharacter(14);
- end;
- { was #define dname def_expr }
- function F_RT1 : longint;
- { return type might be wrong }
- begin
- F_RT1:=NWSGetLineDrawCharacter(15);
- end;
- { was #define dname def_expr }
- function F_UT2 : longint;
- { return type might be wrong }
- begin
- F_UT2:=NWSGetLineDrawCharacter(24);
- end;
- { was #define dname def_expr }
- function F_DT2 : longint;
- { return type might be wrong }
- begin
- F_DT2:=NWSGetLineDrawCharacter(25);
- end;
- { was #define dname def_expr }
- function F_LT2 : longint;
- { return type might be wrong }
- begin
- F_LT2:=NWSGetLineDrawCharacter(26);
- end;
- { was #define dname def_expr }
- function F_RT2 : longint;
- { return type might be wrong }
- begin
- F_RT2:=NWSGetLineDrawCharacter(27);
- end;
- { was #define dname def_expr }
- function F_X1 : longint;
- { return type might be wrong }
- begin
- F_X1:=NWSGetLineDrawCharacter(36);
- end;
- { was #define dname def_expr }
- function F_X2 : longint;
- { return type might be wrong }
- begin
- F_X2:=NWSGetLineDrawCharacter(39);
- end;
- { was #define dname def_expr }
- function F_UP : longint;
- { return type might be wrong }
- begin
- F_UP:=NWSGetLineDrawCharacter(40);
- end;
- { was #define dname def_expr }
- function F_DOWN : longint;
- { return type might be wrong }
- begin
- F_DOWN:=NWSGetLineDrawCharacter(41);
- end;
- { was #define dname def_expr }
- function F_LEFT : longint;
- { return type might be wrong }
- begin
- F_LEFT:=NWSGetLineDrawCharacter(42);
- end;
- { was #define dname def_expr }
- function F_RIGHT : longint;
- { return type might be wrong }
- begin
- F_RIGHT:=NWSGetLineDrawCharacter(43);
- end;
- { was #define dname def_expr }
- function F_BG1 : longint;
- { return type might be wrong }
- begin
- F_BG1:=NWSGetLineDrawCharacter(44);
- end;
- { was #define dname def_expr }
- function F_BG2 : longint;
- { return type might be wrong }
- begin
- F_BG2:=NWSGetLineDrawCharacter(45);
- end;
- { was #define dname def_expr }
- function F_BG3 : longint;
- { return type might be wrong }
- begin
- F_BG3:=NWSGetLineDrawCharacter(46);
- end;
- { was #define dname def_expr }
- function F_BG4 : longint;
- { return type might be wrong }
- begin
- F_BG4:=NWSGetLineDrawCharacter(47);
- end;
- { was #define dname(params) para_def_expr }
- { argument types are unknown }
- { return type might be wrong }
- function IS_DYNAMIC_MESSAGE(a : longint) : boolean;
- begin
- IS_DYNAMIC_MESSAGE:=(a > $fff0) and (a < $ffff);
- end;
- end.
- {
- $Log$
- Revision 1.1 2003-02-16 17:45:08 armin
- * added nwsnut, nwconio and nwthreads for netware
-
- }
|