bool Session( void ) { unsigned req; bool want_return; Out[0].len = sizeof( RWBuff ); Out[0].ptr = RWBuff; for( ;; ) { #ifdef __WINDOWS__ NothingToDo(); #endif In[0].len = GetPacket(); In[0].ptr = GetPacketBuffPtr(); In_Mx_Ptr = &In[0]; Out_Mx_Ptr = &Out[0]; In_Mx_Num = 1; Out_Mx_Num = 1; req = TRP_REQUEST( In ); TRP_REQUEST( In ) &= ~0x80; if( req & 0x80 ) { req &= ~0x80; want_return = false; } else { want_return = true; } switch( req ) { case REQ_CONNECT: if( !AccConnect() ) return( true ); break; case REQ_DISCONNECT: AccTrap( false ); return( true ); case REQ_SUSPEND: AccTrap( false ); RemoteDisco(); for(;;) { while( !RemoteConnect() ) ; if( !Session() ) break; RemoteDisco(); } break; case REQ_RESUME: AccTrap( false ); return( false ); case REQ_PROG_LOAD: AccLoadProg(); break; default: AccTrap( want_return ); break; } } }
int main( int argc, char **argv ) { _DBG( ( "Calling ads_init()\r\n" ) ); ads_init( argc, argv ); _DBG( ( "After ads_init()\r\n" ) ); #else int main( void ) { #endif _DBG(("Calling Initialize\n")); Initialize(); _DBG(("Calling RemoteConnect\n")); RemoteConnect(); _DBG(("Calling Session\n")); Session(); _DBG(("Calling TrapFini\n")); TrapFini(); _DBG(("Calling RemoteDisco\n")); RemoteDisco(); _DBG(("Calling RemoteUnLink\n")); RemoteUnLinkX(); _DBG(("After calling RemoteUnLink\n")); #ifdef ACAD LetACADDie(); #endif return( 0 ); }
trap_retval ReqDisconnect( void ) { #if defined(DOSX) RemoteDisco(); #elif defined(WIN16) FinishDebugging(); #endif return( 0 ); }
int main( int argc, char **argv ) { char key; #ifndef __WATCOMC__ _argc = argc; _argv = argv; #endif Initialize(); OpeningStatement(); for( ;; ) { Output( TRP_MSG_press_q ); Output( "\r\n" ); for( ;; ) { if( RemoteConnect() ) break; NothingToDo(); if( KeyPress() ) { key = KeyGet(); if( key == 'q' || key == 'Q' ) { KillTrap(); RemoteUnLink(); SayGNiteGracey( 0 ); } } } Output( TRP_MSG_session_started ); Output( "\r\n\r\n" ); Session(); #ifndef NETWARE /* flush keyboard input */ while( KeyPress() ) KeyGet(); #endif Output( "\r\n\r\n" ); Output( TRP_MSG_session_ended ); Output( "\r\n\r\n" ); RemoteDisco(); if( OneShot ) { KillTrap(); RemoteUnLink(); SayGNiteGracey( 0 ); } } return( 0 ); }
int main( int argc, char *argv[] ) { char *err; unsigned len; #ifdef __WINDOWS__ Instance = *_MainWindowData; #endif err = RemoteLink( ( argc > 1 ) ? argv[1] : "", TRUE ); if( err != 0 ) { printf( "%s\n", err ); return( 1 ); } printf( "server running\n" ); for( ;; ) { NothingToDo(); #if defined(__WATCOMC__) // How to do the equivalent of kbhit()? if( kbhit() && getch() == 'q' ) break; #endif if( RemoteConnect() ) { printf( "\nCONNECT\n" ); for( ;; ) { len = RemoteGet( (byte *)&Data, sizeof( Data ) ); if( len == -1 ) { printf( "\nlink broken\n" ); break; } if( Data[0] == TEST_OVER ) break; if( Data[0] == TEST_STRING ) { printf( "'%s' - %d bytes\n", &Data[1], len ); RemotePut( (byte *)&Data, len ); } else { RunTime(); } } RemoteDisco(); printf( "\nDISCO\n" ); } } RemoteUnLink(); return( 0 ); }
void TRAPENTRY TrapFini( void ) { _DBG_EnterFunc( "TrapFini()" ); RemoteDisco(); // just for debugging _DBG_ExitFunc( "TrapFini()" ); }