/********************************************************************/ /* Funktionsprototypen fr Funktionen, die die Kommunikation mit GEMINI bzw. Venus vereinfachen (c) 1990,91,92 by Stephan Gerle E-Mail: Maus Net: Stephan Gerle @ DO Internet: sg@do.maus.de Stand: 8.3.92 S„mtliche Funktionen liefern 1, wenn die Hauptapplikation die Funktion kennt bzw. 0, wenn die Hauptapplikation die Funktion nicht kennt. Die Funktionen wurden komplett umgeschrieben, da es erhebliche Probleme mit dem Timeout gab. Da das AV-Protokoll Event-orientiert arbeitet, ist die Realisierung einiger Funktionen als Funktion nicht m”glich bzw. fhrt nur zu Problemen. Siehe auch VAPROTO.H. Achtung: 5er Tabs */ #ifndef __VAFUNC_H #define __VAFUNC_H #include /*** Macros **********************************************************/ /* AVSTR2MSG setzt den Wert eines String-Pointers in ein Message- array ein. msg : Name des Integerarrays. offset : Kleinerer Index des Interger-P„rchens str : Zeiger auf String */ #define AVSTR2MSG(msg,offset,str) (*(char **)(msg+offset) = str) /* AVMSG2STR bastelt aus einem Integer-P„rchens einer Messages einen String-Pointer zusammen. msg : Name des Integerarrays offset : Kleinerer Index des Integer-P„rchens. */ #define AVMSG2STR(msg,offset) ((char *)(((long)msg[offset]<<16)|(((long)msg[offset+1])&0xffff))) /* AVHasProto() dient zum Test, ob die Hauptapplikation eine bestimmte Funktion des AV-Protokolls untersttzt. Als Parameter wird die Nummer des Words (0-2) sowie die Bitnummer im Word bergeben. N„heres hierzu siehe VAPROTO.H bei VA_PROTOSTATUS */ #define AVHasProto(word,bit) (AVStatus[word]&(1<=0) { ... AVInit(gl_apid,"ACCNAME ",1|2); if (MultiAES()) "Warte, bis Status kommt oder Benutzer was will"; else { "Tue eventuell selber was (Fenster ”ffnen o.„.)" EventLoop(); } ... appl_exit(); } } #endif #endif