4 #ifndef RUDIMENTS_SERIALPORTPROFILE_H
5 #define RUDIMENTS_SERIALPORTPROFILE_H
7 #include <rudiments/private/serialportprofileincludes.h>
9 #ifdef RUDIMENTS_NAMESPACE
13 class serialportprofileprivate;
90 enum carriagereturndelay_t {
104 enum backspacedelay_t {
109 enum verticaltabdelay_t {
114 enum formfeeddelay_t {
126 void defaultControlOptions();
129 void defaultLocalOptions();
132 void defaultInputOptions();
135 void defaultOutputOptions();
138 void defaultControlCharacters();
142 void defaultOptions();
147 void setControlCharacters(
const unsigned char *c_cc);
155 void evalOptionsString(
const char *
string);
158 void inputMode(inputmode_t inputmode);
161 inputmode_t inputMode();
164 void flowControl(flowcontrol_t flowcontrol);
167 flowcontrol_t flowControl();
170 void baud(
const char *baudrate);
173 void baud(baudrate_t baudrate);
176 bool inputBaud(
const char *baudrate);
179 bool inputBaud(baudrate_t baudrate);
182 bool outputBaud(
const char *baudrate);
185 bool outputBaud(baudrate_t baudrate);
189 void characterSize(charsize_t size);
195 void twoStopBits(
bool truefalse);
202 void receiverOn(
bool truefalse);
207 void parityCheck(
bool truefalse);
213 void oddParity(
bool truefalse);
219 void hangupOnClose(
bool truefalse);
229 void ignoreModemControlLines(
bool truefalse);
234 void blockJobControlOutput(
bool truefalse);
240 void hardwareFlowControl(
bool truefalse);
246 baudrate_t inputBaud();
249 baudrate_t outputBaud();
252 charsize_t characterSize();
269 bool hangupOnClose();
273 bool ignoreModemControlLines();
277 bool blockJobControlOutput();
281 bool hardwareFlowControl();
287 void generateSignals(
bool truefalse);
295 void canonicalInput(
bool truefalse);
307 void escapedUpperCase(
bool truefalse);
311 void echoInput(
bool truefalse);
318 void eraseCharactersOn(
bool truefalse);
323 void killCharacterOn(
bool truefalse);
328 void echoNewLine(
bool truefalse);
335 void extendedFunctions(
bool truefalse);
341 void echoControlCharacters(
bool truefalse);
346 void echoErasedCharacter(
bool truefalse);
354 void emulateKill(
bool truefalse);
359 void noFlushAfterInterruptOrQuit(
bool truefalse);
364 void retypePendingCharacters(
bool truefalse);
370 void sendSignalForBackgroundOutput(
bool truefalse);
375 bool generateSignals();
380 bool canonicalInput();
387 bool escapedUpperCase();
396 bool eraseCharactersOn();
400 bool killCharacterOn();
410 bool extendedFunctions();
415 bool echoControlCharacters();
419 bool echoErasedCharacter();
429 bool noFlushAfterInterruptOrQuit();
433 bool retypePendingCharacters();
438 bool sendSignalForBackgroundOutput();
442 void inputParityCheck(
bool truefalse);
448 void ignoreParityErrors(
bool truefalse);
455 void markParityErrors(
bool truefalse);
459 void stripParityBits(
bool truefalse);
463 void softwareFlowControlOnOutput(
bool truefalse);
467 void softwareFlowControlOnInput(
bool truefalse);
471 void anyCharacterStartsFlow(
bool truefalse);
475 void ignoreBreak(
bool truefalse);
484 void sendSignalOnBreak(
bool truefalse);
488 void mapNewLineToCarriageReturnOnInput(
bool truefalse);
492 void discardEndOfTransmission(
bool truefalse);
496 void ignoreCarriageReturn(
bool truefalse);
500 void mapCarriageReturnToNewLineOnInput(
bool truefalse);
504 void lowerCase(
bool truefalse);
508 void bellIfLineTooLong(
bool truefalse);
511 bool inputParityCheck();
514 bool ignoreParityErrors();
518 bool markParityErrors();
522 bool stripParityBits();
526 bool softwareFlowControlOnOutput();
530 bool softwareFlowControlOnInput();
533 bool anyCharacterStartsFlow();
542 bool sendSignalOnBreak();
546 bool mapNewLineToCarriageReturnOnInput();
549 bool discardEndOfTransmission();
552 bool ignoreCarriageReturn();
556 bool mapCarriageReturnToNewLineOnInput();
564 bool bellIfLineTooLong();
569 void postProcessOutput(
bool truefalse);
573 void outputUpperCase(
bool truefalse);
577 void mapNewLineToCarriageReturnNewLineOnOutput(
582 void mapCarriageReturnToNewLineOnOutput(
bool truefalse);
586 void dontOutputCarriageReturnAtColumnZero(
bool truefalse);
590 void mapNewLineToCarriageReturnOnOutput(
bool truefalse);
595 void useFillCharactersForDelay(
bool truefalse);
600 void useDelForFill(
bool truefalse);
604 void expandTabToSpaces(
bool truefalse);
608 void delayAfterNewLine(newlinedelay_t nldelay);
612 void delayAfterCarriageReturn(carriagereturndelay_t crdelay);
616 void delayAfterTab(tabdelay_t tabdelay);
620 void delayAfterBackSpace(backspacedelay_t bsdelay);
624 void delayAfterVerticalTab(verticaltabdelay_t vtdelay);
628 void delayAfterFormFeed(formfeeddelay_t ffdelay);
632 bool postProcessOutput();
636 bool outputUpperCase();
640 bool mapNewLineToCarriageReturnNewLineOnOutput();
644 bool mapCarriageReturnToNewLineOnOutput();
648 bool dontOutputCarriageReturnAtColumnZero();
652 bool mapNewLineToCarriageReturnOnOutput();
656 bool useFillCharactersForDelay();
660 bool useDelForFill();
663 bool expandTabToSpaces();
667 newlinedelay_t delayAfterNewLine();
671 carriagereturndelay_t delayAfterCarriageReturn();
674 tabdelay_t delayAfterTab();
678 backspacedelay_t delayAfterBackSpace();
682 verticaltabdelay_t delayAfterVerticalTab();
686 formfeeddelay_t delayAfterFormFeed();
692 void interruptCharacter(
unsigned char character);
698 void quitCharacter(
unsigned char character);
703 void eraseCharacter(
unsigned char character);
708 void killCharacter(
unsigned char character);
715 void endOfFileCharacter(
unsigned char character);
720 void endOfLineCharacter(
unsigned char character);
725 void secondEndOfLineCharacter(
unsigned char character);
729 void switchCharacer(
unsigned char character);
733 void startCharacter(
unsigned char character);
737 void stopCharacter(
unsigned char character);
743 void suspendCharacter(
unsigned char character);
749 void delayedSuspendCharacter(
unsigned char character);
755 void literalNextCharcter(
unsigned char character);
760 void wordEraseCharcter(
unsigned char character);
766 void reprintCharacter(
unsigned char character);
772 void discardPendingOutputCharacter(
unsigned char character);
776 void statusRequestCharacter(
unsigned char character);
782 void readThreshold(
unsigned char count);
788 void readTimeout(
unsigned char deciseconds);
794 unsigned char interruptCharacter();
799 unsigned char quitCharacter();
803 unsigned char eraseCharacter();
807 unsigned char killCharacter();
813 unsigned char endOfFileCharacter();
817 unsigned char endOfLineCharacter();
821 unsigned char secondEndOfLineCharacter();
824 unsigned char switchCharacer();
827 unsigned char startCharacter();
830 unsigned char stopCharacter();
835 unsigned char suspendCharacter();
840 unsigned char delayedSuspendCharacter();
845 unsigned char literalNextCharcter();
849 unsigned char wordEraseCharcter();
855 unsigned char reprintCharacter();
860 unsigned char discardPendingOutputCharacter();
863 unsigned char statusRequestCharacter();
868 unsigned char readThreshold();
873 unsigned char readTimeout();
875 #include <rudiments/private/serialportprofile.h>
878 #ifdef RUDIMENTS_NAMESPACE