void ADSLoop() { short scode = RSRSLT; /* Normal result code (default) */ int stat; for ( ;; ) { /* Request/Result loop */ // _DBG0(("ADS Loop")); if ((stat = ads_link(scode)) < 0) { cputs( "ADSHELP: bad status from ads_link()\r\n"); exit(1); } scode = RSRSLT; /* Reset result code */ switch (stat) { case RQSUBR: /* Handle external function requests */ scode = RSERR; break; case RQXUNLD: /* Handle external function requests */ DoneAutoCAD = TRUE; AtEnd = TRUE; BreakPoint(); /* you figure it out */ break; } } }
static void Initialize( void ) { const char *err; _DBG(("About to remote link in initialize.\n" )); err = RemoteLinkX( "\0", TRUE ); _DBG(( "Back from PM remote link\n" )); if( err != NULL ) { _DBG(( "ERROR! '%s'\n", err )); } if( err != NULL ) { #ifdef ACAD for( ;; ) ads_link( RSERR ); #else StartupErr( err ); #endif } RWBuff[0] = '\0'; _DBG(( "No Remote link error. About to TrapInit." )); TrapVer = TrapInit( "", RWBuff, FALSE ); if( RWBuff[0] != '\0' ) { // NO, NO, NO! RemoteUnLinkX(); StartupErr( RWBuff ); } _DBG(( "No TrapInit error. Initialize complete" )); Out[0].len = sizeof( RWBuff ); Out[0].ptr = RWBuff; }