static void PostListens( void ) { int i; for( i = NUM_REC_BUFFS-1; i >= 0; --i ) { if( !InUse( RecECB[i] ) ) { PostAListen( i ); } } MyDelay( TICKS_PER_SEC / 5 ); }
static void PostListens( void ) { unsigned i; for( i = 0; i < NUM_REC_BUFFS; ++i ) { if( !RecECB[i].inUseFlag ) { PostAListen( i ); } } /* make sure other side gets the listens up */ Delay( TICKS_PER_SEC/5 ); }
static void PostListens( void ) { int i; DosSleep( 0 ); for( i = NUM_REC_BUFFS-1; i >= 0; --i ) { if( !InUse( RecECB[i] ) ) { PostAListen( i ); } } /* make sure other side get the listens up */ DosSleep( 100 ); }
static trap_retval DoRemoteGet( byte *rec, trap_elen len ) { int i; int p; unsigned recvd; unsigned got; putstring( "RemoteGet\r\n" ); putconnstatus( Connection ); len = len; recvd = 0; for( ;; ) { DosSemSet( &RecvSem ); i = NUM_REC_BUFFS-1; p = -1; for( ;; ) { if( i < 0 ) { if( p != -1 ) break; DosSemWait( &RecvSem, 1000 ); i = NUM_REC_BUFFS-1; } if( !InUse( RecECB[i] ) ) { if( p == -1 || LOWER_SEQ( RecHead[i].sequenceNumber, RecHead[p].sequenceNumber ) ) { p = i; } } --i; } got = _SWAPINT( RecHead[p].packetLen ) - sizeof( RecHead[p] ); _fmemcpy( rec, Buffer[p], got ); recvd += got; PostAListen( p ); if( got != MAX_DATA_SIZE ) break; rec += got; } putstring( "Done RemoteGet\r\n" ); return( recvd ); }
static trap_retval DoRemoteGet( void *data, trap_elen len ) { trap_elen recvd; int i; trap_elen got; int p; len = len; _DBG_IPX(("RemoteGet\r\n")); recvd = 0; for( ;; ) { i = NUM_REC_BUFFS-1; p = -1; for( ;; ) { if( i < 0 ) { if( p != -1 ) break; NothingToDo(); i = NUM_REC_BUFFS-1; } if( !InUse( RecECB[i] ) ) { if( p == -1 || LOWER_SEQ( RecHead[i].sequenceNumber, RecHead[p].sequenceNumber ) ) { p = i; } } --i; } got = _SWAPINT( RecHead[p].length ) - sizeof( RecHead[p] ); _DBG_IPX(("Got a packet - size=%d\r\n", got)); memcpy( data, Buffer[p], got ); recvd += got; PostAListen( p ); if( got != MAX_DATA_SIZE ) break; data = (char *)data + got; } return( recvd ); }
static trap_retval DoRemoteGet( void *data, trap_elen len ) { int i; trap_elen recvd; trap_elen got; int p; len = len; recvd = 0; for( ;; ) { i = NUM_REC_BUFFS - 1; p = -1; for( ;; ) { if( i < 0 ) { if( p != -1 ) break; _IPXRelinquishControl(); i = NUM_REC_BUFFS-1; } if( !RecECB[i].inUseFlag ) { if( p == -1 || LOWER_SEQ( RecHead[i].sequenceNumber, RecHead[p].sequenceNumber ) ) { p = i; } } --i; } got = _SWAPINT( RecHead[p].length ) - sizeof( RecHead[p] ); _fmemcpy( data, Buffer[p], got ); recvd += got; PostAListen( p ); if( got != MAX_DATA_SIZE ) break; data = (char *)data + got; } return( recvd ); }