Esempio n. 1
0
int	TSerialConnection :: SendData ( char *  buffer,
					 int	 buffer_size )
   {
	COMSTAT		ComStat ;
	register int	size	=  buffer_size ;


	if  ( DeviceId  <  0 )
		return ( 0 ) ;

	while  ( size )
		{
		SetCommEventMask ( DeviceId, EV_TXEMPTY ) ;

		while  ( GetCommEventMask ( DeviceId, EV_TXEMPTY ) )
			{
			SetCommEventMask ( DeviceId, EV_TXEMPTY ) ;
		    }

		GetCommError  ( DeviceId, & ComStat ) ;

		if  ( ComStat. cbOutQue )
			continue ;

		WriteComm ( DeviceId, buffer, 1 ) ;
		buffer ++, size -- ;
		  }

	return ( buffer_size ) ;
	 }
Esempio n. 2
0
UINT far* far pascal zSetCommEventMask( int pp1, UINT pp2 )
{
    UINT far* r;

    SaveRegs();
    /*
    ** Log IN Parameters (No Create/Destroy Checking Yet!)
    */
    LogIn( (LPSTR)"APICALL:SetCommEventMask int+UINT+",
        pp1, pp2 );

    /*
    ** Call the API!
    */
    RestoreRegs();
    GrovelDS();
    r = SetCommEventMask(pp1,pp2);
    UnGrovelDS();
    SaveRegs();
    /*
    ** Log Return Code & OUT Parameters (No Create/Destroy Checking Yet!)
    */
    LogOut( (LPSTR)"APIRET:SetCommEventMask UINT far*+++",
        r, (short)0, (short)0 );

    RestoreRegs();
    return( r );
}