home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 8 / FreshFishVol8-CD1.bin / new / util / cdity / cx / txt / commoditiesprivate.def next >
Text File  |  1994-09-05  |  3KB  |  90 lines

  1. DEFINITION MODULE CommoditiesPrivate{"commodities.library",36};
  2. (*$ IMPLEMENTATION:=FALSE *)
  3.  
  4.    (* CommoditiesPrivate.def - Definitionsmodul für die privaten
  5.     *                          Funktionen der commodities.library
  6.     * Version     : $VER: CommoditiesPrivate.def 0.9 (© 1994 Fin Schuppenhauer)
  7.     * Autor       : Fin Schuppenhauer
  8.     *               Braußpark 10
  9.     *               20537 Hamburg
  10.     *               (Germany)
  11.     * E-Mail      : 1schuppe@rzdspc2.informatik.uni-hamburg.de
  12.     * Erstellt am : 03 Sep 1994
  13.     * Letzte Änd. : 04 Sep 1994
  14.     *
  15.     * Hinweis:
  16.     *    Diese Implementation basiert auf den Angaben in "AMIGA ROM
  17.     *    Kernel Reference Manual: Includes And Autodocs", 2nd edition
  18.     *    und dem Quelltext zu "CxCommander" von Miloslaw "Thorgal"
  19.     *    Smyk.
  20.     *    Benutzung auf eigene Gefahr.
  21.     *
  22.     * Zweck:
  23.     *    Die hier aufgeführten Funktionen werden benötigt, wenn man
  24.     *    ein eigenes "Exchange"-Programm schreiben möchte. Ein
  25.     *    derartiger Clone MUSS ebenfalls "Exchange" heißen, da sonst
  26.     *    kein cxcmdListChg-Kommando empfangen werden kann (informiert
  27.     *    unser Exchange-Programm darüber, daß sich etwas an der Liste
  28.     *    der Broker geändert hat, z.B. wenn ein neues Commodity ge-
  29.     *    startet wurde.
  30.     *)
  31.  
  32. IMPORT
  33.    R,
  34.    cd:CommoditiesD,
  35.    ed:ExecD;
  36.  
  37. FROM SYSTEM IMPORT ADDRESS;
  38.  
  39. TYPE
  40.    BrokerFlags = (bf1, active, showhide, bf4, bf5, bf6, bf7, bf8, bf9,
  41.                   bf10, bf11, bf12, bf13, bf14, bf15, bf16);
  42.    BrokerFlagSet = SET OF BrokerFlags;
  43.  
  44.    BrokerCopyPtr = POINTER TO BrokerCopy;
  45.    BrokerCopy = RECORD
  46.       node  : ed.Node;
  47.       name  : ARRAY [0..cd.cbdNamelen-1] OF CHAR;
  48.       title : ARRAY [0..cd.cbdTitlelen-1] OF CHAR;
  49.       descr : ARRAY [0..cd.cbdDescrlen-1] OF CHAR;
  50.       task  : ed.TaskPtr;
  51.       dummy1: LONGINT;
  52.       dummy2: LONGINT;
  53.       flags : BrokerFlagSet;
  54.    END;
  55.  
  56. PROCEDURE FindBroker(name{R.A0} : ADDRESS) : cd.CxObjPtr; CODE -108;
  57. (* Keine Ahnung, wofür diese Funktion gebraucht werden könnte. *)
  58.  
  59.  
  60. PROCEDURE CopyBrokerList(list{R.A0} : ed.ListPtr) : LONGINT; CODE -186;
  61. (* Erstellt eine Kopie der system-internen Broker-Liste.
  62.  * Verwendung: Vorher Speicher für ExecD.List reservieren und
  63.  * diese mit ExecSupport.NewList initialisieren. Dann diese
  64.  * Funktion aufrufen.
  65.  * List.head zeigt dann auf die Informationen des ersten Brokers
  66.  * in der Liste. Diese können ermittelt werden, wenn der ExecD.NodePtr
  67.  * in ein BrokerCopyPtr geCASTet wird.
  68.  *)
  69.  
  70.  
  71. PROCEDURE FreeBrokerList(list{R.A0} : ed.ListPtr) : LONGINT; CODE -192;
  72. (* Gibt den mit CopyBrokerList belegten Speicher wieder frei. *)
  73.  
  74.  
  75. PROCEDURE BrokerCommand(name{R.A0} : ADDRESS; id{R.D0} : LONGCARD) : LONGINT; CODE -198;
  76. (* Zum Versenden eines Broker-Kommandos (z.B. cxcmdKill). <name> zeigt
  77.  * auf den Namen des Brokers, der das in <id> angegebene Kommando
  78.  * empfangen soll. Bei <name> MUSS Groß-/Kleinschreibung berücksichtigt
  79.  * werden.
  80.  * Der Rückgabewert ist ein Fehlercode und bereits in CommoditiesD
  81.  * definiert:
  82.  *
  83.  *    cmdeOk
  84.  *    cmdeNobroker
  85.  *    cmdeNoport
  86.  *    cmdeNomem
  87.  *)
  88.  
  89. END CommoditiesPrivate.
  90.