;	Zerberus-Packer
;
;	Scriptfile zum Austausch neuer Nachrichten im Z-Netz-Format
;	$VER: 1.02 / 16.04.1994
;
;       Beschreibung :
;	Server-Datei fuer das Zerberus-Protokoll. Die gesendeten und
;	empfangenen Daten werden im Directory MBMSG:POINT/<Portname>/
;	temporaer gespeichert.
;	Stehen im Directory MBMSG:POINT/NETCALL/ die Dateien <USERNAME>.LHA
;	und <USERNAME>.MSGNR, so werden nicht die neusten Nachrichten und
;	Files aktuell exportiert und gepackt, sondern diese vorgepackten
;	Daten benutzt.
;
;	Das Script sollte so eingebunden werden, dass es ueber Flags
;	auf die folgende Befehle zugreifen kann !
;
;	CONVERT FASTTOZER
;	ECHO
;	EXTERN
;	FASTNET GETFILE
;	IF
;	LOGOUT		<-- Option /FAST muss unterstuetzt werden !
;	ON ERROR
;	POINT MAKEFILE
;
;
;	Einrichtung eines Netcalls fuer eine Netzbox (Node) :
;	USERNAME : Name der anrufenden Node
;	STRASSE  : @NETCALL
;
;	Einrichtung eines LocalGates fuer die Einbindung eines anderen
;	lokalen Netzwerks :
;	USERNAME : Name der anrufenden Node
;	VORNAME  : Gatename im Fastnet
;	STRASSE  : @LOCALGATE
;
;	Einrichtung eines Gates fuer die Einbindung eines anderen
;	globalen Netzwerks :
;	USERNAME : Name der anrufenden Node
;	VORNAME  : Gatename im Fastnet
;	NACHNAME : Gatename im Zerberus-Netz
;	STRASSE  : @GATE
;
;	Konstanten :
;
TMPDIR  = "mbmsg:point/'{port}'/"		; Dir fuer Tmp-Files
NETDIR  = "mbmsg:point/netcall/"		; NET-Directory
MAXKBYT = 2000					; Max. Filelaenge in KByte
MSGFILE = "PUFFER"				; Name des Msg-Files
COPYFILE= "'{NAME}'.lha"			; Vorgabefile (Pack-Event)
COPYNR  = "'{NAME}'.msgnr"			; File fuer Msg-Nummern
PACKER  = "lha -P-1 m ""'NETDIR''COPYFILE'"" ""'TMPDIR''MSGFILE'"""
						; Packen

;
;	Bei Fehler verzweigen
;

_on error POINT_ERROR

;
;	Pruefe auf normalen Netcall
;

_if {STREET} != "@NETCALL" then _goto LOCALGATE
OP_MAKE="/NETCALL"				; Setze Optionen
OP_CVT=""
_goto START

;
;	Pruefe auf LocalGate
;
LOCALGATE:
_if {STREET} != "@LOCALGATE" then _goto GATE
OP_MAKE="/NETCALL"				; Setze Optionen
OP_CVT="/LOCALGATE"
_goto START

;
;	Pruefe auf Gate
;
GATE:
_if {STREET} != "@GATE" then _goto USERPOINT
OP_MAKE="/NETCALL/GATE"				; Setze Optionen
OP_CVT="/GATE"
_goto START

;
;	User-Point
;
USERPOINT:
OP_MAKE=""					; Setze Optionen
OP_CVT=""

;
;	Loesche alte Files / Rename, wenn File immer noch geoeffnet
;
START:
_if TMPDIR != "" then _extern/q delete "'TMPDIR'#?" ; Disk aufraeumen

;
;	Alte gepackte Nachrichten loeschen
;

_extern/q delete "'NETDIR''COPYFILE'" "'NETDIR''COPYNR'"

;
;	Wenn Netcall, dann PMs exportieren.
;
EXPORT:
_if OP_MAKE == "" then _goto POINT_MAKE		; Netcall ? Nein -> Msgs sam.
_convert FastToZer'OP_CVT' "'TMPDIR''MSGFILE'"	; PM-File erstellen

;
;	Messages exportieren (PMs bei Usercall auch)
;
POINT_MAKE:
_on error/ignore
_point makefile'OP_MAKE' "'TMPDIR''MSGFILE'" 'MAXKBYT' "'NETDIR''COPYNR'"
_on error POINT_ERROR

;
;	Messages packen
;

_extern/q 'PACKER'

;
;	Ende
;

POINT_ERROR:					; Fehler / Ende
_logout/f					; Logout
