void SerialPortC::CycleDTR(void) { DropDtr(); RaiseDtr(); pause(50); #ifndef WINCIT Enable(); #endif }
int ComSendChar( char character) { int retval; /* interrupt driven send */ if (0x0 == (comm_status.modem & 0x40)) RaiseDtr(); retval = en_queue(Serial_Out_Queue, character); if (-1 != retval) outp(ComBase + INT_EN, RX_INT | TBE_INT | ERR_INT | RS_INT); return retval; }
int ComSendString( char *string) { int retval; char *pointer; pointer = string; while (*pointer) { retval = en_queue(Serial_Out_Queue, *pointer); pointer++; } if (0x0 == (comm_status.modem & 0x40)) RaiseDtr(); outp(ComBase + INT_EN, RX_INT | TBE_INT | ERR_INT | RS_INT); return retval; }
int ComSendData( char *buffer, unsigned buffer_length) { int retval; char *pointer; pointer = buffer; unsigned i; for (i = 0; i < buffer_length; i++) { retval = en_queue(Serial_Out_Queue, *pointer); pointer++; } if (0x0 == (comm_status.modem & 0x40)) RaiseDtr(); outp(ComBase + INT_EN, RX_INT | TBE_INT | ERR_INT | RS_INT); return retval; }
void SerialPortC::BreakConnection(void) { FlushOutput(); DropDtr(); RaiseDtr(); pause(50); if (cfg.dumbmodem == 6 || cfg.dumbmodem == 7) { OutString(cfg.hangup); OutString(br); if (cfg.hangupdelay) { pause(cfg.hangupdelay * 100); } else { pause(50); } } }