(* --------------------------------------------------------------------------
  :Program.       ums
  :Contents.      Interfaces for ums.library
  :Author.        Martin Koyro [mk]
  :Address.       SnailMail:                EMail:
  :Address.       Salzmannstr. 12           MAUS: MS3
  :Address.       48147 Muenster            INET: mk@ms3.maus.westfalen.de
  :Address.       GERMANY
  :Author.        Martin Loos [ml]
  :Address.       SnailMail:                EMail:
  :Address.       Im Scheidt 25             MAUS: UN
  :Address.       58640 Iserlohn-Kalthof    INET: mattin@unicorn.sauerland.de
  :Address.       GERMANY                   FIDO: 2:243/4504.2 (GCC)
  :Author.        Olaf Peters [olf]         EMail:
  :Address.       Kulmer Str. 7             MAUS: HB2
  :Address.       28237 Bremen              INET: op@hb2.maus.de
  :Address.       GERMANY                   INET: olf@informatik.uni-bremen.de
  :History.       [mk] 19-Jan-93: Conversion from Oberon to Modula-2
  :History.       [mk] 24-Apr-94: Changed for UMSLib V11
  :History.       [mk] 14-May-94: Versioncheck removed
  :History.       [olf] 24-Aug-94: changed {"ums.library",0} to ...,10}
  :Language.      Modula II
  :Translator.    M2Amiga V4.107d
-------------------------------------------------------------------------- *)
DEFINITION MODULE UmsL{"ums.library",10};


IMPORT d:UmsD,e:ExecD,R,u:UtilityD,s:SYSTEM;

CONST
  umsMinVersion=11;
  umsName="ums.library";

VAR
  umsVersion:INTEGER;
  umsBase:e.LibraryPtr;

(***  functions ***)

PROCEDURE Login(user{R.D2}    : d.STRPTR;
                passwd{R.D3}  : d.STRPTR): d.Account; CODE -30;

PROCEDURE Logout( account{R.D2} : d.Account);  CODE -36;

PROCEDURE ErrNum( account{R.D2} : d.Account): d.Error; CODE -120;

PROCEDURE ErrTxt( account{R.D2} : d.Account): d.STRPTR; CODE -126;

PROCEDURE DeleteMsg(account{R.D2} : d.Account;
                    MsgNum{R.D3}  : d.MsgNum): BOOLEAN; CODE -132;

(*** V9 ***)

PROCEDURE ExportedMsg(acc{R.D2}   : d.Account;
                      num{R.D3}   : d.MsgNum);  CODE -234;

PROCEDURE CannotExport( acc{R.D2}    : d.Account;
                        num{R.D3}    : d.MsgNum;
                        error{R.D4}  : d.STRPTR): BOOLEAN; CODE -240;

PROCEDURE VLog( acc{R.D2}    : d.Account;
                level{R.D4}  : LONGINT;
                format{R.D5} : d.STRPTR;
                args{R.D6}   : s.ADDRESS);  CODE -246;

PROCEDURE RLogin( server{R.D2} : d.STRPTR;
                  user{R.D3}   : d.STRPTR;
                  passwd{R.D4} : d.STRPTR): d.Account;  CODE -252;

PROCEDURE WriteMsg( acc{R.D2}     : d.Account;
                    tagItems{R.D3}: u.TagItemPtr): d.MsgNum; CODE -258;

PROCEDURE ReadMsg(acc{R.D2}    : d.Account;
                  tagItems{R.D3}: u.TagItemPtr): BOOLEAN; CODE -264;

PROCEDURE FreeMsg(acc{R.D2}    : d.Account;
                  msgNum{R.D3} : d.MsgNum);  CODE -270;

PROCEDURE Select( acc{R.D2}     : d.Account;
                  tagItems{R.D3}: u.TagItemPtr): LONGINT; CODE -276;

PROCEDURE Search( acc{R.D2}     : d.Account;
                  tagItems{R.D3}: u.TagItemPtr): d.MsgNum; CODE -282;

PROCEDURE ReadConfig( acc{R.D2}: d.Account;
                      tagItems{R.D3}: u.TagItemPtr): d.STRPTR; CODE -288;

PROCEDURE FreeConfig( acc{R.D2}    : d.Account;
                      str{R.D3}    : d.STRPTR); CODE -294;

PROCEDURE WriteConfig(acc{R.D2}: d.Account;
                      tagItems{R.D3}: u.TagItemPtr): BOOLEAN; CODE -300;

(*** V11 ***)

PROCEDURE ServerControl(sever{R.D2} : d.STRPTR;
                        action{R.D3}  : LONGINT): d.Error; CODE -312;

PROCEDURE MatchConfig(acc{R.D2}     : d.Account;
                      tagItems{R.D3}: u.TagItemPtr): BOOLEAN; CODE -318;

PROCEDURE ErrTxtFromNum(err{R.D2} : d.Error): d.STRPTR; CODE -324;

PROCEDURE DupAccount(acc{R.D2}: d.Account): d.Account; CODE -330;

END UmsL.lib11
