home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fresh Fish 8
/
FreshFishVol8-CD1.bin
/
new
/
util
/
cdity
/
cx
/
txt
/
commoditiesprivate.def
next >
Wrap
Text File
|
1994-09-05
|
3KB
|
90 lines
DEFINITION MODULE CommoditiesPrivate{"commodities.library",36};
(*$ IMPLEMENTATION:=FALSE *)
(* CommoditiesPrivate.def - Definitionsmodul für die privaten
* Funktionen der commodities.library
* Version : $VER: CommoditiesPrivate.def 0.9 (© 1994 Fin Schuppenhauer)
* Autor : Fin Schuppenhauer
* Braußpark 10
* 20537 Hamburg
* (Germany)
* E-Mail : 1schuppe@rzdspc2.informatik.uni-hamburg.de
* Erstellt am : 03 Sep 1994
* Letzte Änd. : 04 Sep 1994
*
* Hinweis:
* Diese Implementation basiert auf den Angaben in "AMIGA ROM
* Kernel Reference Manual: Includes And Autodocs", 2nd edition
* und dem Quelltext zu "CxCommander" von Miloslaw "Thorgal"
* Smyk.
* Benutzung auf eigene Gefahr.
*
* Zweck:
* Die hier aufgeführten Funktionen werden benötigt, wenn man
* ein eigenes "Exchange"-Programm schreiben möchte. Ein
* derartiger Clone MUSS ebenfalls "Exchange" heißen, da sonst
* kein cxcmdListChg-Kommando empfangen werden kann (informiert
* unser Exchange-Programm darüber, daß sich etwas an der Liste
* der Broker geändert hat, z.B. wenn ein neues Commodity ge-
* startet wurde.
*)
IMPORT
R,
cd:CommoditiesD,
ed:ExecD;
FROM SYSTEM IMPORT ADDRESS;
TYPE
BrokerFlags = (bf1, active, showhide, bf4, bf5, bf6, bf7, bf8, bf9,
bf10, bf11, bf12, bf13, bf14, bf15, bf16);
BrokerFlagSet = SET OF BrokerFlags;
BrokerCopyPtr = POINTER TO BrokerCopy;
BrokerCopy = RECORD
node : ed.Node;
name : ARRAY [0..cd.cbdNamelen-1] OF CHAR;
title : ARRAY [0..cd.cbdTitlelen-1] OF CHAR;
descr : ARRAY [0..cd.cbdDescrlen-1] OF CHAR;
task : ed.TaskPtr;
dummy1: LONGINT;
dummy2: LONGINT;
flags : BrokerFlagSet;
END;
PROCEDURE FindBroker(name{R.A0} : ADDRESS) : cd.CxObjPtr; CODE -108;
(* Keine Ahnung, wofür diese Funktion gebraucht werden könnte. *)
PROCEDURE CopyBrokerList(list{R.A0} : ed.ListPtr) : LONGINT; CODE -186;
(* Erstellt eine Kopie der system-internen Broker-Liste.
* Verwendung: Vorher Speicher für ExecD.List reservieren und
* diese mit ExecSupport.NewList initialisieren. Dann diese
* Funktion aufrufen.
* List.head zeigt dann auf die Informationen des ersten Brokers
* in der Liste. Diese können ermittelt werden, wenn der ExecD.NodePtr
* in ein BrokerCopyPtr geCASTet wird.
*)
PROCEDURE FreeBrokerList(list{R.A0} : ed.ListPtr) : LONGINT; CODE -192;
(* Gibt den mit CopyBrokerList belegten Speicher wieder frei. *)
PROCEDURE BrokerCommand(name{R.A0} : ADDRESS; id{R.D0} : LONGCARD) : LONGINT; CODE -198;
(* Zum Versenden eines Broker-Kommandos (z.B. cxcmdKill). <name> zeigt
* auf den Namen des Brokers, der das in <id> angegebene Kommando
* empfangen soll. Bei <name> MUSS Groß-/Kleinschreibung berücksichtigt
* werden.
* Der Rückgabewert ist ein Fehlercode und bereits in CommoditiesD
* definiert:
*
* cmdeOk
* cmdeNobroker
* cmdeNoport
* cmdeNomem
*)
END CommoditiesPrivate.