Lines Matching full:option

74 #define	TS_WILL		5	/* will option negotiation */
223 * Begin option subnegotiation... in telrcv()
251 * Handle RFC 10xx Telnet linemode option additions in telrcv()
312 suboption(); /* handle sub-option */ in telrcv()
349 * Telnet option processing state machine.
399 * peer probably should be buffering until this option state negotiation
404 send_do(int option, int init) in send_do() argument
407 if ((do_dont_resp[option] == 0 && his_state_is_will(option)) || in send_do()
408 his_want_state_is_will(option)) in send_do()
415 if (option == TELOPT_TM) in send_do()
416 set_his_want_state_wont(option); in send_do()
418 set_his_want_state_will(option); in send_do()
419 do_dont_resp[option]++; in send_do()
421 output_data((const char *)doopt, option); in send_do()
423 DIAG(TD_OPTIONS, printoption("td: send do", option)); in send_do()
434 willoption(int option) in willoption() argument
443 DIAG(TD_OPTIONS, printoption("td: recv will", option)); in willoption()
445 if (do_dont_resp[option]) { in willoption()
446 do_dont_resp[option]--; in willoption()
447 if (do_dont_resp[option] && his_state_is_will(option)) in willoption()
448 do_dont_resp[option]--; in willoption()
450 if (do_dont_resp[option] == 0) { in willoption()
451 if (his_want_state_is_wont(option)) { in willoption()
452 switch (option) { in willoption()
478 * option, then don't worry peer that we can't in willoption()
514 set_his_want_state_will(option); in willoption()
515 send_do(option, 0); in willoption()
517 do_dont_resp[option]++; in willoption()
518 send_dont(option, 0); in willoption()
522 * Option processing that should happen when in willoption()
526 switch (option) { in willoption()
533 send_dont(option, 1); in willoption()
569 set_his_state_will(option); in willoption()
575 send_dont(int option, int init) in send_dont() argument
578 if ((do_dont_resp[option] == 0 && his_state_is_wont(option)) || in send_dont()
579 his_want_state_is_wont(option)) in send_dont()
581 set_his_want_state_wont(option); in send_dont()
582 do_dont_resp[option]++; in send_dont()
584 output_data((const char *)dont, option); in send_dont()
586 DIAG(TD_OPTIONS, printoption("td: send dont", option)); in send_dont()
590 wontoption(int option) in wontoption() argument
596 DIAG(TD_OPTIONS, printoption("td: recv wont", option)); in wontoption()
598 if (do_dont_resp[option]) { in wontoption()
599 do_dont_resp[option]--; in wontoption()
600 if (do_dont_resp[option] && his_state_is_wont(option)) in wontoption()
601 do_dont_resp[option]--; in wontoption()
603 if (do_dont_resp[option] == 0) { in wontoption()
604 if (his_want_state_is_will(option)) { in wontoption()
606 switch (option) { in wontoption()
630 * option, then let peer know that we can't in wontoption()
648 * option rather than responding to the request, in wontoption()
676 set_his_want_state_wont(option); in wontoption()
677 if (his_state_is_will(option)) in wontoption()
678 send_dont(option, 0); in wontoption()
680 switch (option) { in wontoption()
694 set_his_state_wont(option); in wontoption()
699 send_will(int option, int init) in send_will() argument
702 if ((will_wont_resp[option] == 0 && my_state_is_will(option))|| in send_will()
703 my_want_state_is_will(option)) in send_will()
705 set_my_want_state_will(option); in send_will()
706 will_wont_resp[option]++; in send_will()
708 output_data ((const char *)will, option); in send_will()
710 DIAG(TD_OPTIONS, printoption("td: send will", option)); in send_will()
723 dooption(int option) in dooption() argument
731 DIAG(TD_OPTIONS, printoption("td: recv do", option)); in dooption()
733 if (will_wont_resp[option]) { in dooption()
734 will_wont_resp[option]--; in dooption()
735 if (will_wont_resp[option] && my_state_is_will(option)) in dooption()
736 will_wont_resp[option]--; in dooption()
738 if ((will_wont_resp[option] == 0) && (my_want_state_is_wont(option))) { in dooption()
739 switch (option) { in dooption()
770 send_will(option, 0); in dooption()
771 set_my_want_state_wont(option); in dooption()
772 set_my_state_wont(option); in dooption()
777 * When we get a LOGOUT option, respond in dooption()
809 set_my_want_state_will(option); in dooption()
810 send_will(option, 0); in dooption()
812 will_wont_resp[option]++; in dooption()
813 send_wont(option, 0); in dooption()
816 set_my_state_will(option); in dooption()
821 send_wont(int option, int init) in send_wont() argument
824 if ((will_wont_resp[option] == 0 && my_state_is_wont(option)) || in send_wont()
825 my_want_state_is_wont(option)) in send_wont()
827 set_my_want_state_wont(option); in send_wont()
828 will_wont_resp[option]++; in send_wont()
830 output_data ((const char *)wont, option); in send_wont()
832 DIAG(TD_OPTIONS, printoption("td: send wont", option)); in send_wont()
836 dontoption(int option) in dontoption() argument
843 DIAG(TD_OPTIONS, printoption("td: recv dont", option)); in dontoption()
845 if (will_wont_resp[option]) { in dontoption()
846 will_wont_resp[option]--; in dontoption()
847 if (will_wont_resp[option] && my_state_is_wont(option)) in dontoption()
848 will_wont_resp[option]--; in dontoption()
850 if ((will_wont_resp[option] == 0) && (my_want_state_is_will(option))) { in dontoption()
851 switch (option) { in dontoption()
867 set_my_want_state_wont(option); in dontoption()
868 if (my_state_is_will(option)) in dontoption()
869 send_wont(option, 0); in dontoption()
870 set_my_state_wont(option); in dontoption()
872 send_will(option, 1); in dontoption()
879 set_my_want_state_wont(option); in dontoption()
880 if (my_state_is_will(option)) in dontoption()
881 send_wont(option, 0); in dontoption()
883 set_my_state_wont(option); in dontoption()
898 * Look at the sub-option buffer, and try to be helpful to the other
920 if (his_state_is_wont(TELOPT_TSPEED)) /* Ignore if option disabled */ in suboption()
944 if (his_state_is_wont(TELOPT_TTYPE)) /* Ignore if option disabled */ in suboption()
971 if (his_state_is_wont(TELOPT_NAWS)) /* Ignore if option disabled */ in suboption()
1125 * If the client has sent us a well-formed option, in suboption()
1312 * because if we received a DO/WILL for an option that we in send_status()