€•Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ,/translations/zh_CN/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/zh_TW/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/it_IT/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ja_JP/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/ko_KR/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/pt_BR/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ,/translations/sp_SP/driver-api/tty/tty_ioctl”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒcomment”“”)�”}”(hŒ SPDX-License-Identifier: GPL-2.0”h]”hŒ SPDX-License-Identifier: GPL-2.0”…”�”}”hh·sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1hµhhh²hh³ŒF/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl.rst”h´KubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒTTY IOCTL Helpers”h]”hŒTTY IOCTL Helpers”…”�”}”(hhÏh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÍhhÊh²hh³hÇh´KubhŒindex”“”)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(Œsingle”Œ tty_chars_in_buffer (C function)”Œc.tty_chars_in_buffer”hNt”auh1hÝhhÊh²hh³Nh´NubhŒdesc”“”)�”}”(hhh]”(hŒdesc_signature”“”)�”}”(hŒ9unsigned int tty_chars_in_buffer (struct tty_struct *tty)”h]”hŒdesc_signature_line”“”)�”}”(hŒ8unsigned int tty_chars_in_buffer(struct tty_struct *tty)”h]”(hŒdesc_sig_keyword_type”“”)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œkt”ah"]”h$]”h&]”uh1hÿhhûh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K*ubhŒdesc_sig_space”“”)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”Œw”ah"]”h$]”h&]”uh1jhhûh²hh³jh´K*ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhhûh²hh³jh´K*ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhhûh²hh³jh´K*ubhŒ desc_name”“”)�”}”(hŒtty_chars_in_buffer”h]”hŒ desc_sig_name”“”)�”}”(hŒtty_chars_in_buffer”h]”hŒtty_chars_in_buffer”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”Œn”ah"]”h$]”h&]”uh1jDhj@ubah}”(h]”h ]”(Œsig-name”Œdescname”eh"]”h$]”h&]”hÅhÆuh1j>hhûh²hh³jh´K*ubhŒdesc_parameterlist”“”)�”}”(hŒ(struct tty_struct *tty)”h]”hŒdesc_parameter”“”)�”}”(hŒstruct tty_struct *tty”h]”(hŒdesc_sig_keyword”“”)�”}”(hŒstruct”h]”hŒstruct”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”Œk”ah"]”h$]”h&]”uh1jihjeubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjzh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjeubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjˆubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”Œc”Œreftype”Œ identifier”Œ reftarget”j�Œmodname”NŒ classname”NŒ c:parent_key”Œsphinx.domains.c”Œ LookupKey”“”)�”}”Œdata”]”j§Œ ASTIdentifier”“”)�”}”j¢jHsbŒc.tty_chars_in_buffer”†”asbuh1hhjeubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj´h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjeubhŒdesc_sig_punctuation”“”)�”}”(hŒ*”h]”hŒ*”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”Œp”ah"]”h$]”h&]”uh1jÂhjeubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjeubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj_ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hhûh²hh³jh´K*ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆŒ add_permalink”ˆuh1hùŒsphinx_line_type”Œ declarator”hhõh²hh³jh´K*ubah}”(h]”hìah ]”(Œsig”Œ sig-object”eh"]”h$]”h&]”Œ is_multiline”ˆŒ _toc_parts”)Œ _toc_name”huh1hóh³jh´K*hhðh²hubhŒ desc_content”“”)�”}”(hhh]”hŒ paragraph”“”)�”}”(hŒcharacters pending”h]”hŒcharacters pending”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K*hjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhhðh²hh³jh´K*ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”Œdomain”j Œobjtype”j!Œdesctype”j!Œnoindex”‰Œ noindexentry”‰Œnocontentsentry”‰uh1hîh²hhhÊh³Nh´NubhŒ container”“”)�”}”(hŒÒ**Parameters** ``struct tty_struct *tty`` terminal **Return** the number of bytes of data in the device private output queue. If no private method is supplied there is assumed to be no queue on the device.”h]”(j)�”}”(hŒ**Parameters**”h]”hŒstrong”“”)�”}”(hj3h]”hŒ Parameters”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj1ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K.hj-ubhŒdefinition_list”“”)�”}”(hhh]”hŒdefinition_list_item”“”)�”}”(hŒ$``struct tty_struct *tty`` terminal ”h]”(hŒterm”“”)�”}”(hŒ``struct tty_struct *tty``”h]”hŒliteral”“”)�”}”(hjZh]”hŒstruct tty_struct *tty”…”�”}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjXubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K+hjRubhŒ definition”“”)�”}”(hhh]”j)�”}”(hŒterminal”h]”hŒterminal”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jqh´K+hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjRubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jqh´K+hjMubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj-ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hj™h]”hŒReturn”…”�”}”(hj›h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj—ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K-hj-ubj)�”}”(hŒ�the number of bytes of data in the device private output queue. If no private method is supplied there is assumed to be no queue on the device.”h]”hŒ�the number of bytes of data in the device private output queue. If no private method is supplied there is assumed to be no queue on the device.”…”�”}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K-hj-ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_write_room (C function)”Œc.tty_write_room”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ4unsigned int tty_write_room (struct tty_struct *tty)”h]”hú)�”}”(hŒ3unsigned int tty_write_room(struct tty_struct *tty)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÚh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K9ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚh²hh³jìh´K9ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjûh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÚh²hh³jìh´K9ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÚh²hh³jìh´K9ubj?)�”}”(hŒtty_write_room”h]”jE)�”}”(hŒtty_write_room”h]”hŒtty_write_room”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjÚh²hh³jìh´K9ubj^)�”}”(hŒ(struct tty_struct *tty)”h]”jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihj3ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjUh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjRubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jWŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jsbŒc.tty_write_room”†”asbuh1hhj3ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjuh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj3ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj3ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj3ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj/ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjÚh²hh³jìh´K9ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhjÖh²hh³jìh´K9ubah}”(h]”jÑah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jìh´K9hjÓh²hubj)�”}”(hhh]”j)�”}”(hŒwrite queue space”h]”hŒwrite queue space”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K9hj·h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjÓh²hh³jìh´K9ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jÒj'jÒj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX**Parameters** ``struct tty_struct *tty`` terminal **Return** the number of bytes that can be queued to this device at the present time. The result should be treated as a guarantee and the driver cannot offer a value it later shrinks by more than the number of bytes written. If no method is provided, 2K is always returned and data may be lost as there will be no flow control.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjÜh]”hŒ Parameters”…”�”}”(hjÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÚubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K=hjÖubjL)�”}”(hhh]”jQ)�”}”(hŒ$``struct tty_struct *tty`` terminal ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjûh]”hŒstruct tty_struct *tty”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjùubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K:hjõubjs)�”}”(hhh]”j)�”}”(hŒterminal”h]”hŒterminal”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´K:hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjõubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jh´K:hjòubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÖubj)�”}”(hŒ **Return**”h]”j6)�”}”(hj6h]”hŒReturn”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj4ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Khjwh²hh³j‰h´KKubj^)�”}”(hŒ(struct tty_struct *tty)”h]”jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihj´ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj´ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÓubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jØŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jžsbŒc.tty_driver_flush_buffer”†”asbuh1hhj´ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjöh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj´ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj´ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj´ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj°ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjwh²hh³j‰h´KKubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhjsh²hh³j‰h´KKubah}”(h]”jnah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j‰h´KKhjph²hubj)�”}”(hhh]”j)�”}”(hŒdiscard internal buffer”h]”hŒdiscard internal buffer”…”�”}”(hj;h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KKhj8h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjph²hh³j‰h´KKubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jSj'jSj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hŒê**Parameters** ``struct tty_struct *tty`` terminal **Description** Discard the internal output buffer for this device. If no method is provided, then either the buffer cannot be hardware flushed or there is no buffer driver side.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj]h]”hŒ Parameters”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KOhjWubjL)�”}”(hhh]”jQ)�”}”(hŒ$``struct tty_struct *tty`` terminal ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hj|h]”hŒstruct tty_struct *tty”…”�”}”(hj~h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjzubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KLhjvubjs)�”}”(hhh]”j)�”}”(hŒterminal”h]”hŒterminal”…”�”}”(hj•h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‘h´KLhj’ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjvubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j‘h´KLhjsubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjWubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj·h]”hŒ Description”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjµubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KNhjWubj)�”}”(hŒ¢Discard the internal output buffer for this device. If no method is provided, then either the buffer cannot be hardware flushed or there is no buffer driver side.”h]”hŒ¢Discard the internal output buffer for this device. If no method is provided, then either the buffer cannot be hardware flushed or there is no buffer driver side.”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KMhjWubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_unthrottle (C function)”Œc.tty_unthrottle”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ,void tty_unthrottle (struct tty_struct *tty)”h]”hú)�”}”(hŒ+void tty_unthrottle(struct tty_struct *tty)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjøh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KZubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjøh²hh³j h´KZubj?)�”}”(hŒtty_unthrottle”h]”jE)�”}”(hŒtty_unthrottle”h]”hŒtty_unthrottle”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjøh²hh³j h´KZubj^)�”}”(hŒ(struct tty_struct *tty)”h]”jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hj9h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihj5ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjWh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjTubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jYŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jsbŒc.tty_unthrottle”†”asbuh1hhj5ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj5ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj5ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hj’h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj5ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj1ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjøh²hh³j h´KZubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhjôh²hh³j h´KZubah}”(h]”jïah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j h´KZhjñh²hubj)�”}”(hhh]”j)�”}”(hŒ flow control”h]”hŒ flow control”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KZhj¹h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjñh²hh³j h´KZubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jÔj'jÔj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hXö**Parameters** ``struct tty_struct *tty`` terminal **Description** Indicate that a **tty** may continue transmitting data down the stack. Takes the :c:type:`tty_struct->termios_rwsem ` to protect against parallel throttle/unthrottle and also to ensure the driver can consistently reference its own termios data at this point when implementing software flow control. Drivers should however remember that the stack can issue a throttle, then change flow control method, then unthrottle.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjÞh]”hŒ Parameters”…”�”}”(hjàh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÜubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K^hjØubjL)�”}”(hhh]”jQ)�”}”(hŒ$``struct tty_struct *tty`` terminal ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjýh]”hŒstruct tty_struct *tty”…”�”}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjûubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K[hj÷ubjs)�”}”(hhh]”j)�”}”(hŒterminal”h]”hŒterminal”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´K[hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj÷ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jh´K[hjôubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjØubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj8h]”hŒ Description”…”�”}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj6ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K]hjØubj)�”}”(hX6Indicate that a **tty** may continue transmitting data down the stack. Takes the :c:type:`tty_struct->termios_rwsem ` to protect against parallel throttle/unthrottle and also to ensure the driver can consistently reference its own termios data at this point when implementing software flow control.”h]”(hŒIndicate that a ”…”�”}”(hjNh²hh³Nh´Nubj6)�”}”(hŒ**tty**”h]”hŒtty”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjNubhŒ: may continue transmitting data down the stack. Takes the ”…”�”}”(hjNh²hh³Nh´Nubh)�”}”(hŒ0:c:type:`tty_struct->termios_rwsem `”h]”j])�”}”(hjjh]”hŒtty_struct->termios_rwsem”…”�”}”(hjlh²hh³Nh´Nubah}”(h]”h ]”(Œxref”j Œc-type”eh"]”h$]”h&]”uh1j\hjhubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdriver-api/tty/tty_ioctl”Œ refdomain”j Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¦j©)�”}”j¬]”sbŒ reftarget”Œ tty_struct”uh1hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K\hjNubhŒµ to protect against parallel throttle/unthrottle and also to ensure the driver can consistently reference its own termios data at this point when implementing software flow control.”…”�”}”(hjNh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j�h´K\hjØubj)�”}”(hŒvDrivers should however remember that the stack can issue a throttle, then change flow control method, then unthrottle.”h]”hŒvDrivers should however remember that the stack can issue a throttle, then change flow control method, then unthrottle.”…”�”}”(hj˜h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KahjØubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_throttle_safe (C function)”Œc.tty_throttle_safe”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ/bool tty_throttle_safe (struct tty_struct *tty)”h]”hú)�”}”(hŒ.bool tty_throttle_safe(struct tty_struct *tty)”h]”(j)�”}”(hŒbool”h]”hŒbool”…”�”}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÃh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kqubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÖh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÃh²hh³jÕh´Kqubj?)�”}”(hŒtty_throttle_safe”h]”jE)�”}”(hŒtty_throttle_safe”h]”hŒtty_throttle_safe”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjäubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjÃh²hh³jÕh´Kqubj^)�”}”(hŒ(struct tty_struct *tty)”h]”jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j$Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jêsbŒc.tty_throttle_safe”†”asbuh1hhjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjPh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjüubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjÃh²hh³jÕh´Kqubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj¿h²hh³jÕh´Kqubah}”(h]”jºah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jÕh´Kqhj¼h²hubj)�”}”(hhh]”j)�”}”(hŒ flow control”h]”hŒ flow control”…”�”}”(hj‡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kqhj„h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¼h²hh³jÕh´Kqubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jŸj'jŸj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX·**Parameters** ``struct tty_struct *tty`` terminal **Description** Indicate that a **tty** should stop transmitting data down the stack. tty_throttle_safe() will only attempt throttle if **tty->flow_change** is ``TTY_THROTTLE_SAFE``. Prevents an accidental throttle due to race conditions when throttling is conditional on factors evaluated prior to throttling. **Return** ``true`` if **tty** is throttled (or was already throttled)”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj©h]”hŒ Parameters”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj§ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kuhj£ubjL)�”}”(hhh]”jQ)�”}”(hŒ$``struct tty_struct *tty`` terminal ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjÈh]”hŒstruct tty_struct *tty”…”�”}”(hjÊh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjÆubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KrhjÂubjs)�”}”(hhh]”j)�”}”(hŒterminal”h]”hŒterminal”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÝh´KrhjÞubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjÂubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jÝh´Krhj¿ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj£ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kthj£ubj)�”}”(hX&Indicate that a **tty** should stop transmitting data down the stack. tty_throttle_safe() will only attempt throttle if **tty->flow_change** is ``TTY_THROTTLE_SAFE``. Prevents an accidental throttle due to race conditions when throttling is conditional on factors evaluated prior to throttling.”h]”(hŒIndicate that a ”…”�”}”(hj h²hh³Nh´Nubj6)�”}”(hŒ**tty**”h]”hŒtty”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubhŒa should stop transmitting data down the stack. tty_throttle_safe() will only attempt throttle if ”…”�”}”(hj h²hh³Nh´Nubj6)�”}”(hŒ**tty->flow_change**”h]”hŒtty->flow_change”…”�”}”(hj3 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubhŒ is ”…”�”}”(hj h²hh³Nh´Nubj])�”}”(hŒ``TTY_THROTTLE_SAFE``”h]”hŒTTY_THROTTLE_SAFE”…”�”}”(hjE h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj ubhŒ�. Prevents an accidental throttle due to race conditions when throttling is conditional on factors evaluated prior to throttling.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kshj£ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hj` h]”hŒReturn”…”�”}”(hjb h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj^ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kxhj£ubj)�”}”(hŒ;``true`` if **tty** is throttled (or was already throttled)”h]”(j])�”}”(hŒ``true``”h]”hŒtrue”…”�”}”(hjz h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjv ubhŒ if ”…”�”}”(hjv h²hh³Nh´Nubj6)�”}”(hŒ**tty**”h]”hŒtty”…”�”}”(hjŒ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjv ubhŒ( is throttled (or was already throttled)”…”�”}”(hjv h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kyhj£ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒ tty_unthrottle_safe (C function)”Œc.tty_unthrottle_safe”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ1bool tty_unthrottle_safe (struct tty_struct *tty)”h]”hú)�”}”(hŒ0bool tty_unthrottle_safe(struct tty_struct *tty)”h]”(j)�”}”(hjÉh]”hŒbool”…”�”}”(hjÅ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjÁ h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K�ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÓ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÁ h²hh³jÒ h´K�ubj?)�”}”(hŒtty_unthrottle_safe”h]”jE)�”}”(hŒtty_unthrottle_safe”h]”hŒtty_unthrottle_safe”…”�”}”(hjå h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjá ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjÁ h²hh³jÒ h´K�ubj^)�”}”(hŒ(struct tty_struct *tty)”h]”jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjý ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjý ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j! Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jç sbŒc.tty_unthrottle_safe”†”asbuh1hhjý ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj? h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjý ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjý ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjZ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjý ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjù ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjÁ h²hh³jÒ h´K�ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj½ h²hh³jÒ h´K�ubah}”(h]”j¸ ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jÒ h´K�hjº h²hubj)�”}”(hhh]”j)�”}”(hŒ flow control”h]”hŒ flow control”…”�”}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K�hj� h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjº h²hh³jÒ h´K�ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jœ j'jœ j(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX‹**Parameters** ``struct tty_struct *tty`` terminal **Description** Similar to tty_unthrottle() but will only attempt unthrottle if **tty->flow_change** is ``TTY_UNTHROTTLE_SAFE``. Prevents an accidental unthrottle due to race conditions when unthrottling is conditional on factors evaluated prior to unthrottling. **Return** ``true`` if **tty** is unthrottled (or was already unthrottled)”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj¦ h]”hŒ Parameters”…”�”}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj¤ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K‘hj  ubjL)�”}”(hhh]”jQ)�”}”(hŒ$``struct tty_struct *tty`` terminal ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjÅ h]”hŒstruct tty_struct *tty”…”�”}”(hjÇ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjà ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KŽhj¿ ubjs)�”}”(hhh]”j)�”}”(hŒterminal”h]”hŒterminal”…”�”}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÚ h´KŽhjÛ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¿ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jÚ h´KŽhj¼ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj  ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj h]”hŒ Description”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjþ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K�hj  ubj)�”}”(hŒöSimilar to tty_unthrottle() but will only attempt unthrottle if **tty->flow_change** is ``TTY_UNTHROTTLE_SAFE``. Prevents an accidental unthrottle due to race conditions when unthrottling is conditional on factors evaluated prior to unthrottling.”h]”(hŒ@Similar to tty_unthrottle() but will only attempt unthrottle if ”…”�”}”(hj h²hh³Nh´Nubj6)�”}”(hŒ**tty->flow_change**”h]”hŒtty->flow_change”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubhŒ is ”…”�”}”(hj h²hh³Nh´Nubj])�”}”(hŒ``TTY_UNTHROTTLE_SAFE``”h]”hŒTTY_UNTHROTTLE_SAFE”…”�”}”(hj0 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj ubhŒ‡. Prevents an accidental unthrottle due to race conditions when unthrottling is conditional on factors evaluated prior to unthrottling.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K�hj  ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hjK h]”hŒReturn”…”�”}”(hjM h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjI ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K”hj  ubj)�”}”(hŒ?``true`` if **tty** is unthrottled (or was already unthrottled)”h]”(j])�”}”(hŒ``true``”h]”hŒtrue”…”�”}”(hje h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hja ubhŒ if ”…”�”}”(hja h²hh³Nh´Nubj6)�”}”(hŒ**tty**”h]”hŒtty”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hja ubhŒ, is unthrottled (or was already unthrottled)”…”�”}”(hja h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K•hj  ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒ tty_wait_until_sent (C function)”Œc.tty_wait_until_sent”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ?void tty_wait_until_sent (struct tty_struct *tty, long timeout)”h]”hú)�”}”(hŒ>void tty_wait_until_sent(struct tty_struct *tty, long timeout)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj° h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj¬ h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K©ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¿ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¬ h²hh³j¾ h´K©ubj?)�”}”(hŒtty_wait_until_sent”h]”jE)�”}”(hŒtty_wait_until_sent”h]”hŒtty_wait_until_sent”…”�”}”(hjÑ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÍ ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hj¬ h²hh³j¾ h´K©ubj^)�”}”(hŒ&(struct tty_struct *tty, long timeout)”h]”(jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjé ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjú h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjé ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jÓ sbŒc.tty_wait_until_sent”†”asbuh1hhjé ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj+ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjé ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj9 h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjé ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjF h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjé ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjå ubjd)�”}”(hŒ long timeout”h]”(j)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj_ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj[ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjm h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj[ ubjE)�”}”(hŒtimeout”h]”hŒtimeout”…”�”}”(hj{ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj[ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjå ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hj¬ h²hh³j¾ h´K©ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj¨ h²hh³j¾ h´K©ubah}”(h]”j£ ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j¾ h´K©hj¥ h²hubj)�”}”(hhh]”j)�”}”(hŒwait for I/O to finish”h]”hŒwait for I/O to finish”…”�”}”(hj¥ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K©hj¢ h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¥ h²hh³j¾ h´K©ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&j½ j'j½ j(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hŒÿ**Parameters** ``struct tty_struct *tty`` tty we are waiting for ``long timeout`` how long we will wait **Description** Wait for characters pending in a tty driver to hit the wire, or for a timeout to occur (eg due to flow control). Locking: none”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjÇ h]”hŒ Parameters”…”�”}”(hjÉ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÅ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K­hjÁ ubjL)�”}”(hhh]”(jQ)�”}”(hŒ2``struct tty_struct *tty`` tty we are waiting for ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjæ h]”hŒstruct tty_struct *tty”…”�”}”(hjè h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjä ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kªhjà ubjs)�”}”(hhh]”j)�”}”(hŒtty we are waiting for”h]”hŒtty we are waiting for”…”�”}”(hjÿ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jû h´Kªhjü ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjà ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jû h´KªhjÝ ubjQ)�”}”(hŒ'``long timeout`` how long we will wait ”h]”(jW)�”}”(hŒ``long timeout``”h]”j])�”}”(hj h]”hŒ long timeout”…”�”}”(hj! h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K«hj ubjs)�”}”(hhh]”j)�”}”(hŒhow long we will wait”h]”hŒhow long we will wait”…”�”}”(hj8 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j4 h´K«hj5 ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j4 h´K«hjÝ ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhjÁ ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hjZ h]”hŒ Description”…”�”}”(hj\ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjX ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K­hjÁ ubj)�”}”(hŒpWait for characters pending in a tty driver to hit the wire, or for a timeout to occur (eg due to flow control).”h]”hŒpWait for characters pending in a tty driver to hit the wire, or for a timeout to occur (eg due to flow control).”…”�”}”(hjp h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K¬hjÁ ubj)�”}”(hŒ Locking: none”h]”hŒ Locking: none”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K¯hjÁ ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒ tty_termios_copy_hw (C function)”Œc.tty_termios_copy_hw”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒKvoid tty_termios_copy_hw (struct ktermios *new, const struct ktermios *old)”h]”hú)�”}”(hŒJvoid tty_termios_copy_hw(struct ktermios *new, const struct ktermios *old)”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hj® h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjª h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KÞubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj½ h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjª h²hh³j¼ h´KÞubj?)�”}”(hŒtty_termios_copy_hw”h]”jE)�”}”(hŒtty_termios_copy_hw”h]”hŒtty_termios_copy_hw”…”�”}”(hjÏ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjË ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjª h²hh³j¼ h´KÞubj^)�”}”(hŒ2(struct ktermios *new, const struct ktermios *old)”h]”(jd)�”}”(hŒstruct ktermios *new”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjë h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjç ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjø h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjç ubh)�”}”(hhh]”jE)�”}”(hŒktermios”h]”hŒktermios”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jÑ sbŒc.tty_termios_copy_hw”†”asbuh1hhjç ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj)h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjç ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj7h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjç ubjE)�”}”(hŒnew”h]”hŒnew”…”�”}”(hjDh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjç ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjã ubjd)�”}”(hŒconst struct ktermios *old”h]”(jj)�”}”(hŒconst”h]”hŒconst”…”�”}”(hj]h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjYubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjkh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjYubjj)�”}”(hjmh]”hŒstruct”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjYubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjYubh)�”}”(hhh]”jE)�”}”(hŒktermios”h]”hŒktermios”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j™Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j%Œc.tty_termios_copy_hw”†”asbuh1hhjYubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjµh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjYubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjYubjE)�”}”(hŒold”h]”hŒold”…”�”}”(hjÐh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjYubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjã ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjª h²hh³j¼ h´KÞubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj¦ h²hh³j¼ h´KÞubah}”(h]”j¡ ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j¼ h´KÞhj£ h²hubj)�”}”(hhh]”j)�”}”(hŒcopy hardware settings”h]”hŒcopy hardware settings”…”�”}”(hjúh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KÞhj÷h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj£ h²hh³j¼ h´KÞubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jj'jj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX{**Parameters** ``struct ktermios *new`` new termios ``const struct ktermios *old`` old termios **Description** Propagate the hardware specific terminal setting bits from the **old** termios structure to the **new** one. This is used in cases where the hardware does not support reconfiguration or as a helper in some cases where only minimal reconfiguration is supported.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´KâhjubjL)�”}”(hhh]”(jQ)�”}”(hŒ%``struct ktermios *new`` new termios ”h]”(jW)�”}”(hŒ``struct ktermios *new``”h]”j])�”}”(hj;h]”hŒstruct ktermios *new”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj9ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kßhj5ubjs)�”}”(hhh]”j)�”}”(hŒ new termios”h]”hŒ new termios”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jPh´KßhjQubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj5ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jPh´Kßhj2ubjQ)�”}”(hŒ+``const struct ktermios *old`` old termios ”h]”(jW)�”}”(hŒ``const struct ktermios *old``”h]”j])�”}”(hjth]”hŒconst struct ktermios *old”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kàhjnubjs)�”}”(hhh]”j)�”}”(hŒ old termios”h]”hŒ old termios”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‰h´KàhjŠubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j‰h´Kàhj2ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj¯h]”hŒ Description”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kâhjubj)�”}”(hXPropagate the hardware specific terminal setting bits from the **old** termios structure to the **new** one. This is used in cases where the hardware does not support reconfiguration or as a helper in some cases where only minimal reconfiguration is supported.”h]”(hŒ?Propagate the hardware specific terminal setting bits from the ”…”�”}”(hjÅh²hh³Nh´Nubj6)�”}”(hŒ**old**”h]”hŒold”…”�”}”(hjÍh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÅubhŒ termios structure to the ”…”�”}”(hjÅh²hh³Nh´Nubj6)�”}”(hŒ**new**”h]”hŒnew”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÅubhŒ� one. This is used in cases where the hardware does not support reconfiguration or as a helper in some cases where only minimal reconfiguration is supported.”…”�”}”(hjÅh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Káhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒ"tty_termios_hw_change (C function)”Œc.tty_termios_hw_change”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒObool tty_termios_hw_change (const struct ktermios *a, const struct ktermios *b)”h]”hú)�”}”(hŒNbool tty_termios_hw_change(const struct ktermios *a, const struct ktermios *b)”h]”(j)�”}”(hjÉh]”hŒbool”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kóubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjh²hh³j%h´Kóubj?)�”}”(hŒtty_termios_hw_change”h]”jE)�”}”(hŒtty_termios_hw_change”h]”hŒtty_termios_hw_change”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj4ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjh²hh³j%h´Kóubj^)�”}”(hŒ4(const struct ktermios *a, const struct ktermios *b)”h]”(jd)�”}”(hŒconst struct ktermios *a”h]”(jj)�”}”(hj_h]”hŒconst”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjPubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjPubjj)�”}”(hjmh]”hŒstruct”…”�”}”(hjoh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjPubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjPubh)�”}”(hhh]”jE)�”}”(hŒktermios”h]”hŒktermios”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŠubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j�Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢j:sbŒc.tty_termios_hw_change”†”asbuh1hhjPubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj­h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjPubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjPubjE)�”}”(hŒa”h]”hŒa”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjPubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjLubjd)�”}”(hŒconst struct ktermios *b”h]”(jj)�”}”(hj_h]”hŒconst”…”�”}”(hjáh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjÝubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjîh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÝubjj)�”}”(hjmh]”hŒstruct”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjÝubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÝubh)�”}”(hhh]”jE)�”}”(hŒktermios”h]”hŒktermios”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j©Œc.tty_termios_hw_change”†”asbuh1hhjÝubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj8h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÝubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjFh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÝubjE)�”}”(hŒb”h]”hŒb”…”�”}”(hjSh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÝubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjLubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjh²hh³j%h´Kóubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhjh²hh³j%h´Kóubah}”(h]”j ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j%h´Kóhj h²hubj)�”}”(hhh]”j)�”}”(hŒcheck for setting change”h]”hŒcheck for setting change”…”�”}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kóhjzh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj h²hh³j%h´Kóubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&j•j'j•j(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX&**Parameters** ``const struct ktermios *a`` termios ``const struct ktermios *b`` termios to compare **Description** Check if any of the bits that affect a dumb device have changed between the two termios structures, or a speed change is needed. **Return** ``true`` if change is needed”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjŸh]”hŒ Parameters”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K÷hj™ubjL)�”}”(hhh]”(jQ)�”}”(hŒ%``const struct ktermios *a`` termios ”h]”(jW)�”}”(hŒ``const struct ktermios *a``”h]”j])�”}”(hj¾h]”hŒconst struct ktermios *a”…”�”}”(hjÀh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¼ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kôhj¸ubjs)�”}”(hhh]”j)�”}”(hŒtermios”h]”hŒtermios”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÓh´KôhjÔubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¸ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jÓh´KôhjµubjQ)�”}”(hŒ0``const struct ktermios *b`` termios to compare ”h]”(jW)�”}”(hŒ``const struct ktermios *b``”h]”j])�”}”(hj÷h]”hŒconst struct ktermios *b”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kõhjñubjs)�”}”(hhh]”j)�”}”(hŒtermios to compare”h]”hŒtermios to compare”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j h´Kõhj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjñubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j h´Kõhjµubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhj™ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj2h]”hŒ Description”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj0ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´K÷hj™ubj)�”}”(hŒ€Check if any of the bits that affect a dumb device have changed between the two termios structures, or a speed change is needed.”h]”hŒ€Check if any of the bits that affect a dumb device have changed between the two termios structures, or a speed change is needed.”…”�”}”(hjHh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Köhj™ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hjYh]”hŒReturn”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjWubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kùhj™ubj)�”}”(hŒ``true`` if change is needed”h]”(j])�”}”(hŒ``true``”h]”hŒtrue”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjoubhŒ if change is needed”…”�”}”(hjoh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Kúhj™ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_get_char_size (C function)”Œc.tty_get_char_size”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ4unsigned char tty_get_char_size (unsigned int cflag)”h]”hú)�”}”(hŒ3unsigned char tty_get_char_size(unsigned int cflag)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj¨h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj»h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¨h²hh³jºh´Mubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjÉh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj¨h²hh³jºh´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¨h²hh³jºh´Mubj?)�”}”(hŒtty_get_char_size”h]”jE)�”}”(hŒtty_get_char_size”h]”hŒtty_get_char_size”…”�”}”(hjéh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjåubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hj¨h²hh³jºh´Mubj^)�”}”(hŒ(unsigned int cflag)”h]”jd)�”}”(hŒunsigned int cflag”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubj)�”}”(hŒint”h]”hŒint”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj/h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjubjE)�”}”(hŒcflag”h]”hŒcflag”…”�”}”(hj=h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjýubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hj¨h²hh³jºh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj¤h²hh³jºh´Mubah}”(h]”jŸah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jºh´Mhj¡h²hubj)�”}”(hhh]”j)�”}”(hŒget size of a character”h]”hŒget size of a character”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mhjdh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¡h²hh³jºh´Mubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jj'jj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hŒ’**Parameters** ``unsigned int cflag`` termios cflag value **Return** size (in bits) of a character depending on **cflag**'s ``CSIZE`` setting”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj‰h]”hŒ Parameters”…”�”}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M hjƒubjL)�”}”(hhh]”jQ)�”}”(hŒ+``unsigned int cflag`` termios cflag value ”h]”(jW)�”}”(hŒ``unsigned int cflag``”h]”j])�”}”(hj¨h]”hŒunsigned int cflag”…”�”}”(hjªh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¦ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mhj¢ubjs)�”}”(hhh]”j)�”}”(hŒtermios cflag value”h]”hŒtermios cflag value”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j½h´Mhj¾ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¢ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j½h´MhjŸubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjƒubj)�”}”(hŒ **Return**”h]”j6)�”}”(hjãh]”hŒReturn”…”�”}”(hjåh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjáubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M hjƒubj)�”}”(hŒHsize (in bits) of a character depending on **cflag**'s ``CSIZE`` setting”h]”(hŒ+size (in bits) of a character depending on ”…”�”}”(hjùh²hh³Nh´Nubj6)�”}”(hŒ **cflag**”h]”hŒcflag”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjùubhŒ’s ”…”�”}”(hjùh²hh³Nh´Nubj])�”}”(hŒ ``CSIZE``”h]”hŒCSIZE”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjùubhŒ setting”…”�”}”(hjùh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M hjƒubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_get_frame_size (C function)”Œc.tty_get_frame_size”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ5unsigned char tty_get_frame_size (unsigned int cflag)”h]”hú)�”}”(hŒ4unsigned char tty_get_frame_size(unsigned int cflag)”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjHh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj[h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjHh²hh³jZh´Mubj)�”}”(hŒchar”h]”hŒchar”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjHh²hh³jZh´Mubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjwh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjHh²hh³jZh´Mubj?)�”}”(hŒtty_get_frame_size”h]”jE)�”}”(hŒtty_get_frame_size”h]”hŒtty_get_frame_size”…”�”}”(hj‰h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj…ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjHh²hh³jZh´Mubj^)�”}”(hŒ(unsigned int cflag)”h]”jd)�”}”(hŒunsigned int cflag”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj¥h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj¡ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¡ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjÁh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj¡ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÏh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¡ubjE)�”}”(hŒcflag”h]”hŒcflag”…”�”}”(hjÝh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¡ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj�ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjHh²hh³jZh´Mubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhjDh²hh³jZh´Mubah}”(h]”j?ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jZh´MhjAh²hubj)�”}”(hhh]”j)�”}”(hŒget size of a frame”h]”hŒget size of a frame”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mhjh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhjAh²hh³jZh´Mubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jj'jj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX‚**Parameters** ``unsigned int cflag`` termios cflag value **Description** Get the size (in bits) of a frame depending on **cflag**'s ``CSIZE``, ``CSTOPB``, and ``PARENB`` setting. The result is a sum of character size, start and stop bits -- one bit each -- second stop bit (if set), and parity bit (if set). **Return** size (in bits) of a frame depending on **cflag**'s setting.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj)h]”hŒ Parameters”…”�”}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj'ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M!hj#ubjL)�”}”(hhh]”jQ)�”}”(hŒ+``unsigned int cflag`` termios cflag value ”h]”(jW)�”}”(hŒ``unsigned int cflag``”h]”j])�”}”(hjHh]”hŒunsigned int cflag”…”�”}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjFubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MhjBubjs)�”}”(hhh]”j)�”}”(hŒtermios cflag value”h]”hŒtermios cflag value”…”�”}”(hjah²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j]h´Mhj^ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjBubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j]h´Mhj?ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhj#ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hjƒh]”hŒ Description”…”�”}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M hj#ubj)�”}”(hŒêGet the size (in bits) of a frame depending on **cflag**'s ``CSIZE``, ``CSTOPB``, and ``PARENB`` setting. The result is a sum of character size, start and stop bits -- one bit each -- second stop bit (if set), and parity bit (if set).”h]”(hŒ/Get the size (in bits) of a frame depending on ”…”�”}”(hj™h²hh³Nh´Nubj6)�”}”(hŒ **cflag**”h]”hŒcflag”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj™ubhŒ’s ”…”�”}”(hj™h²hh³Nh´Nubj])�”}”(hŒ ``CSIZE``”h]”hŒCSIZE”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj™ubhŒ, ”…”�”}”(hj™h²hh³Nh´Nubj])�”}”(hŒ ``CSTOPB``”h]”hŒCSTOPB”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj™ubhŒ, and ”…”�”}”(hj™h²hh³Nh´Nubj])�”}”(hŒ ``PARENB``”h]”hŒPARENB”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”•ç´h ]”h"]”h$]”h&]”uh1j\hj™ubhŒŠ setting. The result is a sum of character size, start and stop bits -- one bit each -- second stop bit (if set), and parity bit (if set).”…”�”}”(hj™h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mhj#ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hjòh]”hŒReturn”…”�”}”(hjôh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjðubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M#hj#ubj)�”}”(hŒ;size (in bits) of a frame depending on **cflag**'s setting.”h]”(hŒ'size (in bits) of a frame depending on ”…”�”}”(hjh²hh³Nh´Nubj6)�”}”(hŒ **cflag**”h]”hŒcflag”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubhŒ ’s setting.”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M$hj#ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_set_termios (C function)”Œc.tty_set_termios”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒJint tty_set_termios (struct tty_struct *tty, struct ktermios *new_termios)”h]”hú)�”}”(hŒIint tty_set_termios(struct tty_struct *tty, struct ktermios *new_termios)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjEh²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M6ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjXh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjEh²hh³jWh´M6ubj?)�”}”(hŒtty_set_termios”h]”jE)�”}”(hŒtty_set_termios”h]”hŒtty_set_termios”…”�”}”(hjjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjfubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjEh²hh³jWh´M6ubj^)�”}”(hŒ6(struct tty_struct *tty, struct ktermios *new_termios)”h]”(jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihj‚ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj“h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‚ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj¡ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j¦Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jlsbŒc.tty_set_termios”†”asbuh1hhj‚ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj‚ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj‚ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjßh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj‚ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj~ubjd)�”}”(hŒstruct ktermios *new_termios”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjôubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjôubh)�”}”(hhh]”jE)�”}”(hŒktermios”h]”hŒktermios”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”jÀŒc.tty_set_termios”†”asbuh1hhjôubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjôubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjBh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjôubjE)�”}”(hŒ new_termios”h]”hŒ new_termios”…”�”}”(hjOh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjôubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj~ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjEh²hh³jWh´M6ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhjAh²hh³jWh´M6ubah}”(h]”j<ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jWh´M6hj>h²hubj)�”}”(hhh]”j)�”}”(hŒupdate termios values”h]”hŒupdate termios values”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M6hjvh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj>h²hh³jWh´M6ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&j‘j'j‘j(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX$**Parameters** ``struct tty_struct *tty`` tty to update ``struct ktermios *new_termios`` desired new value **Description** Perform updates to the termios values set on this **tty**. A master pty's termios should never be set. Locking: :c:type:`tty_struct->termios_rwsem `”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj›h]”hŒ Parameters”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj™ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M:hj•ubjL)�”}”(hhh]”(jQ)�”}”(hŒ)``struct tty_struct *tty`` tty to update ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjºh]”hŒstruct tty_struct *tty”…”�”}”(hj¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¸ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M7hj´ubjs)�”}”(hhh]”j)�”}”(hŒ tty to update”h]”hŒ tty to update”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÏh´M7hjÐubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj´ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jÏh´M7hj±ubjQ)�”}”(hŒ3``struct ktermios *new_termios`` desired new value ”h]”(jW)�”}”(hŒ ``struct ktermios *new_termios``”h]”j])�”}”(hjóh]”hŒstruct ktermios *new_termios”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M8hjíubjs)�”}”(hhh]”j)�”}”(hŒdesired new value”h]”hŒdesired new value”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jh´M8hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjíubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jh´M8hj±ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhj•ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj.h]”hŒ Description”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M:hj•ubj)�”}”(hŒfPerform updates to the termios values set on this **tty**. A master pty's termios should never be set.”h]”(hŒ2Perform updates to the termios values set on this ”…”�”}”(hjDh²hh³Nh´Nubj6)�”}”(hŒ**tty**”h]”hŒtty”…”�”}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjDubhŒ/. A master pty’s termios should never be set.”…”�”}”(hjDh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M9hj•ubj)�”}”(hŒ9Locking: :c:type:`tty_struct->termios_rwsem `”h]”(hŒ Locking: ”…”�”}”(hjeh²hh³Nh´Nubh)�”}”(hŒ0:c:type:`tty_struct->termios_rwsem `”h]”j])�”}”(hjoh]”hŒtty_struct->termios_rwsem”…”�”}”(hjqh²hh³Nh´Nubah}”(h]”h ]”(jvj Œc-type”eh"]”h$]”h&]”uh1j\hjmubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j‚Œ refdomain”j Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¦jˆj‹Œ tty_struct”uh1hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M<hjeubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jŒh´M<hj•ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒset_termios (C function)”Œ c.set_termios”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒCint set_termios (struct tty_struct *tty, void __user *arg, int opt)”h]”hú)�”}”(hŒBint set_termios(struct tty_struct *tty, void __user *arg, int opt)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj³h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj¯h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M¯ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj¯h²hh³jÁh´M¯ubj?)�”}”(hŒ set_termios”h]”jE)�”}”(hŒ set_termios”h]”hŒ set_termios”…”�”}”(hjÔh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÐubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hj¯h²hh³jÁh´M¯ubj^)�”}”(hŒ3(struct tty_struct *tty, void __user *arg, int opt)”h]”(jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjìubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjýh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjìubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jÖsbŒ c.set_termios”†”asbuh1hhjìubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj.h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjìubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj<h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjìubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjIh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjìubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjèubjd)�”}”(hŒvoid __user *arg”h]”(j)�”}”(hŒvoid”h]”hŒvoid”…”�”}”(hjbh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj^ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjph²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj^ubhŒ__user”…”�”}”(hj^h²hh³Nh´Nubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj‚h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj^ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj^ubjE)�”}”(hŒarg”h]”hŒarg”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj^ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjèubjd)�”}”(hŒint opt”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj²ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÄh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj²ubjE)�”}”(hŒopt”h]”hŒopt”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj²ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjèubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hj¯h²hh³jÁh´M¯ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj«h²hh³jÁh´M¯ubah}”(h]”j¦ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jÁh´M¯hj¨h²hubj)�”}”(hhh]”j)�”}”(hŒset termios values for a tty”h]”hŒset termios values for a tty”…”�”}”(hjüh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M¯hjùh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj¨h²hh³jÁh´M¯ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jj'jj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hXË**Parameters** ``struct tty_struct *tty`` terminal device ``void __user *arg`` user data ``int opt`` option information **Description** Helper function to prepare termios data and run necessary other functions before using tty_set_termios() to do the actual changes. Locking: called functions take :c:type:`tty_struct->ldisc_sem ` and :c:type:`tty_struct->termios_rwsem ` locks **Return** 0 on success, an error otherwise”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjh]”hŒ Parameters”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M³hjubjL)�”}”(hhh]”(jQ)�”}”(hŒ+``struct tty_struct *tty`` terminal device ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hj=h]”hŒstruct tty_struct *tty”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj;ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M°hj7ubjs)�”}”(hhh]”j)�”}”(hŒterminal device”h]”hŒterminal device”…”�”}”(hjVh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jRh´M°hjSubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj7ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jRh´M°hj4ubjQ)�”}”(hŒ``void __user *arg`` user data ”h]”(jW)�”}”(hŒ``void __user *arg``”h]”j])�”}”(hjvh]”hŒvoid __user *arg”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjtubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M±hjpubjs)�”}”(hhh]”j)�”}”(hŒ user data”h]”hŒ user data”…”�”}”(hj�h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j‹h´M±hjŒubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjpubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j‹h´M±hj4ubjQ)�”}”(hŒ``int opt`` option information ”h]”(jW)�”}”(hŒ ``int opt``”h]”j])�”}”(hj¯h]”hŒint opt”…”�”}”(hj±h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj­ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M²hj©ubjs)�”}”(hhh]”j)�”}”(hŒoption information”h]”hŒoption information”…”�”}”(hjÈh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÄh´M²hjÅubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj©ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jÄh´M²hj4ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhjubj)�”}”(hŒ**Description**”h]”j6)�”}”(hjêh]”hŒ Description”…”�”}”(hjìh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjèubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M´hjubj)�”}”(hŒ‚Helper function to prepare termios data and run necessary other functions before using tty_set_termios() to do the actual changes.”h]”hŒ‚Helper function to prepare termios data and run necessary other functions before using tty_set_termios() to do the actual changes.”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M³hjubj)�”}”(hŒ†Locking: called functions take :c:type:`tty_struct->ldisc_sem ` and :c:type:`tty_struct->termios_rwsem ` locks”h]”(hŒLocking: called functions take ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ,:c:type:`tty_struct->ldisc_sem `”h]”j])�”}”(hjh]”hŒtty_struct->ldisc_sem”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”(jvj Œc-type”eh"]”h$]”h&]”uh1j\hjubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j‚Œ refdomain”j Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¦jˆj‹Œ tty_struct”uh1hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M¶hjubhŒ and ”…”�”}”(hjh²hh³Nh´Nubh)�”}”(hŒ0:c:type:`tty_struct->termios_rwsem `”h]”j])�”}”(hj=h]”hŒtty_struct->termios_rwsem”…”�”}”(hj?h²hh³Nh´Nubah}”(h]”h ]”(jvj Œc-type”eh"]”h$]”h&]”uh1j\hj;ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j‚Œ refdomain”j Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¦jˆj‹Œ tty_struct”uh1hh³j6h´M¶hjubhŒ locks”…”�”}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j6h´M¶hjubj)�”}”(hŒ **Return**”h]”j6)�”}”(hjfh]”hŒReturn”…”�”}”(hjhh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjdubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M¹hjubj)�”}”(hŒ 0 on success, an error otherwise”h]”hŒ 0 on success, an error otherwise”…”�”}”(hj|h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mºhjubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒset_sgttyb (C function)”Œ c.set_sgttyb”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒEint set_sgttyb (struct tty_struct *tty, struct sgttyb __user *sgttyb)”h]”hú)�”}”(hŒDint set_sgttyb(struct tty_struct *tty, struct sgttyb __user *sgttyb)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj«h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhj§h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mgubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjºh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj§h²hh³j¹h´Mgubj?)�”}”(hŒ set_sgttyb”h]”jE)�”}”(hŒ set_sgttyb”h]”hŒ set_sgttyb”…”�”}”(hjÌh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÈubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hj§h²hh³j¹h´Mgubj^)�”}”(hŒ6(struct tty_struct *tty, struct sgttyb __user *sgttyb)”h]”(jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjèh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjäubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjäubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jÎsbŒ c.set_sgttyb”†”asbuh1hhjäubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj&h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjäubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj4h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjäubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjAh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjäubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjàubjd)�”}”(hŒstruct sgttyb __user *sgttyb”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjZh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjVubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjgh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjVubh)�”}”(hhh]”jE)�”}”(hŒsgttyb”h]”hŒsgttyb”…”�”}”(hjxh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jzŒmodname”NŒ classname”Nj¦j©)�”}”j¬]”j"Œ c.set_sgttyb”†”asbuh1hhjVubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj–h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjVubhŒ__user”…”�”}”(hjVh²hh³Nh´Nubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjVubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj¶h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjVubjE)�”}”(hŒsgttyb”h]”hŒsgttyb”…”�”}”(hjÃh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjVubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjàubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hj§h²hh³j¹h´Mgubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj£h²hh³j¹h´Mgubah}”(h]”jžah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j¹h´Mghj h²hubj)�”}”(hhh]”j)�”}”(hŒset legacy terminal values”h]”hŒset legacy terminal values”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mghjêh²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj h²hh³j¹h´Mgubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jj'jj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hXN**Parameters** ``struct tty_struct *tty`` tty structure ``struct sgttyb __user *sgttyb`` pointer to old style terminal structure **Description** Updates a terminal from the legacy BSD style terminal information structure. Locking: :c:type:`tty_struct->termios_rwsem ` **Return** 0 on success, an error otherwise”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjh]”hŒ Parameters”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mkhj ubjL)�”}”(hhh]”(jQ)�”}”(hŒ)``struct tty_struct *tty`` tty structure ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hj.h]”hŒstruct tty_struct *tty”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj,ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mhhj(ubjs)�”}”(hhh]”j)�”}”(hŒ tty structure”h]”hŒ tty structure”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jCh´MhhjDubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj(ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jCh´Mhhj%ubjQ)�”}”(hŒI``struct sgttyb __user *sgttyb`` pointer to old style terminal structure ”h]”(jW)�”}”(hŒ ``struct sgttyb __user *sgttyb``”h]”j])�”}”(hjgh]”hŒstruct sgttyb __user *sgttyb”…”�”}”(hjih²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjeubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mihjaubjs)�”}”(hhh]”j)�”}”(hŒ'pointer to old style terminal structure”h]”hŒ'pointer to old style terminal structure”…”�”}”(hj€h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|h´Mihj}ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjaubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j|h´Mihj%ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhj ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hj¢h]”hŒ Description”…”�”}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mkhj ubj)�”}”(hŒLUpdates a terminal from the legacy BSD style terminal information structure.”h]”hŒLUpdates a terminal from the legacy BSD style terminal information structure.”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mjhj ubj)�”}”(hŒ9Locking: :c:type:`tty_struct->termios_rwsem `”h]”(hŒ Locking: ”…”�”}”(hjÇh²hh³Nh´Nubh)�”}”(hŒ0:c:type:`tty_struct->termios_rwsem `”h]”j])�”}”(hjÑh]”hŒtty_struct->termios_rwsem”…”�”}”(hjÓh²hh³Nh´Nubah}”(h]”h ]”(jvj Œc-type”eh"]”h$]”h&]”uh1j\hjÏubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j‚Œ refdomain”j Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¦jˆj‹Œ tty_struct”uh1hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MlhjÇubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jîh´Mlhj ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hj÷h]”hŒReturn”…”�”}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjõubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mnhj ubj)�”}”(hŒ 0 on success, an error otherwise”h]”hŒ 0 on success, an error otherwise”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mohj ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_change_softcar (C function)”Œc.tty_change_softcar”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒhj8h²hh³jJh´MÖubj^)�”}”(hŒ%(struct tty_struct *tty, bool enable)”h]”(jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjuubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj†h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjuubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hj—h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj”ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j™Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢j_sbŒc.tty_change_softcar”†”asbuh1hhjuubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj·h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjuubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjÅh²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjuubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjÒh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjuubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjqubjd)�”}”(hŒ bool enable”h]”(j)�”}”(hjÉh]”hŒbool”…”�”}”(hjëh²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjçubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjøh²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjçubjE)�”}”(hŒenable”h]”hŒenable”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjçubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjqubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hj8h²hh³jJh´MÖubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj4h²hh³jJh´MÖubah}”(h]”j/ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³jJh´MÖhj1h²hubj)�”}”(hhh]”j)�”}”(hŒcarrier change ioctl helper”h]”hŒcarrier change ioctl helper”…”�”}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MÖhj-h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj1h²hh³jJh´MÖubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&jHj'jHj(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX?**Parameters** ``struct tty_struct *tty`` tty to update ``bool enable`` enable/disable ``CLOCAL`` **Description** Perform a change to the ``CLOCAL`` state and call into the driver layer to make it visible. Locking: :c:type:`tty_struct->termios_rwsem `. **Return** 0 on success, an error otherwise”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjRh]”hŒ Parameters”…”�”}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjPubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MÚhjLubjL)�”}”(hhh]”(jQ)�”}”(hŒ)``struct tty_struct *tty`` tty to update ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjqh]”hŒstruct tty_struct *tty”…”�”}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjoubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M×hjkubjs)�”}”(hhh]”j)�”}”(hŒ tty to update”h]”hŒ tty to update”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j†h´M×hj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjkubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j†h´M×hjhubjQ)�”}”(hŒ*``bool enable`` enable/disable ``CLOCAL`` ”h]”(jW)�”}”(hŒ``bool enable``”h]”j])�”}”(hjªh]”hŒ bool enable”…”�”}”(hj¬h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¨ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MØhj¤ubjs)�”}”(hhh]”j)�”}”(hŒenable/disable ``CLOCAL``”h]”(hŒenable/disable ”…”�”}”(hjÃh²hh³Nh´Nubj])�”}”(hŒ ``CLOCAL``”h]”hŒCLOCAL”…”�”}”(hjËh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjÃubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³j¿h´MØhjÀubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j¿h´MØhjhubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhjLubj)�”}”(hŒ**Description**”h]”j6)�”}”(hjóh]”hŒ Description”…”�”}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjñubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MÚhjLubj)�”}”(hŒ[Perform a change to the ``CLOCAL`` state and call into the driver layer to make it visible.”h]”(hŒPerform a change to the ”…”�”}”(hj h²hh³Nh´Nubj])�”}”(hŒ ``CLOCAL``”h]”hŒCLOCAL”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj ubhŒ9 state and call into the driver layer to make it visible.”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MÙhjLubj)�”}”(hŒ:Locking: :c:type:`tty_struct->termios_rwsem `.”h]”(hŒ Locking: ”…”�”}”(hj* h²hh³Nh´Nubh)�”}”(hŒ0:c:type:`tty_struct->termios_rwsem `”h]”j])�”}”(hj4 h]”hŒtty_struct->termios_rwsem”…”�”}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”(jvj Œc-type”eh"]”h$]”h&]”uh1j\hj2 ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j‚Œ refdomain”j Œreftype”Œtype”Œ refexplicit”ˆŒrefwarn”‰j¦jˆj‹Œ tty_struct”uh1hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MÜhj* ubhŒ.”…”�”}”(hj* h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³jQ h´MÜhjLubj)�”}”(hŒ **Return**”h]”j6)�”}”(hj^ h]”hŒReturn”…”�”}”(hj` h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj\ ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MÞhjLubj)�”}”(hŒ 0 on success, an error otherwise”h]”hŒ 0 on success, an error otherwise”…”�”}”(hjt h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´MßhjLubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_mode_ioctl (C function)”Œc.tty_mode_ioctl”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒPint tty_mode_ioctl (struct tty_struct *tty, unsigned int cmd, unsigned long arg)”h]”hú)�”}”(hŒOint tty_mode_ioctl(struct tty_struct *tty, unsigned int cmd, unsigned long arg)”h]”(j)�”}”(hŒint”h]”hŒint”…”�”}”(hj£ h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjŸ h²hh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Môubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj² h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸ h²hh³j± h´Môubj?)�”}”(hŒtty_mode_ioctl”h]”jE)�”}”(hŒtty_mode_ioctl”h]”hŒtty_mode_ioctl”…”�”}”(hjÄ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÀ ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hjŸ h²hh³j± h´Môubj^)�”}”(hŒ=(struct tty_struct *tty, unsigned int cmd, unsigned long arg)”h]”(jd)�”}”(hŒstruct tty_struct *tty”h]”(jj)�”}”(hjmh]”hŒstruct”…”�”}”(hjà h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihjÜ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjí h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÜ ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjþ h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjû ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j!Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢jÆ sbŒc.tty_mode_ioctl”†”asbuh1hhjÜ ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjÜ ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hj,!h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhjÜ ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hj9!h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÜ ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjØ ubjd)�”}”(hŒunsigned int cmd”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hjR!h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjN!ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj`!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN!ubj)�”}”(hŒint”h]”hŒint”…”�”}”(hjn!h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjN!ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj|!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjN!ubjE)�”}”(hŒcmd”h]”hŒcmd”…”�”}”(hjŠ!h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjN!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjØ ubjd)�”}”(hŒunsigned long arg”h]”(j)�”}”(hŒunsigned”h]”hŒunsigned”…”�”}”(hj£!h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjŸ!ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj±!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸ!ubj)�”}”(hŒlong”h]”hŒlong”…”�”}”(hj¿!h²hh³Nh´Nubah}”(h]”h ]”j ah"]”h$]”h&]”uh1hÿhjŸ!ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjÍ!h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhjŸ!ubjE)�”}”(hŒarg”h]”hŒarg”…”�”}”(hjÛ!h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjŸ!ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchjØ ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hjŸ h²hh³j± h´Môubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj› h²hh³j± h´Môubah}”(h]”j– ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j± h´Môhj˜ h²hubj)�”}”(hhh]”j)�”}”(hŒmode related ioctls”h]”hŒmode related ioctls”…”�”}”(hj"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Môhj"h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj˜ h²hh³j± h´Môubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&j"j'j"j(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hX4**Parameters** ``struct tty_struct *tty`` tty for the ioctl ``unsigned int cmd`` command ``unsigned long arg`` ioctl argument **Description** Perform non-line discipline specific mode control ioctls. This is designed to be called by line disciplines to ensure they provide consistent mode setting.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hj'"h]”hŒ Parameters”…”�”}”(hj)"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj%"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Møhj!"ubjL)�”}”(hhh]”(jQ)�”}”(hŒ-``struct tty_struct *tty`` tty for the ioctl ”h]”(jW)�”}”(hŒ``struct tty_struct *tty``”h]”j])�”}”(hjF"h]”hŒstruct tty_struct *tty”…”�”}”(hjH"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjD"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mõhj@"ubjs)�”}”(hhh]”j)�”}”(hŒtty for the ioctl”h]”hŒtty for the ioctl”…”�”}”(hj_"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j["h´Mõhj\"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj@"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j["h´Mõhj="ubjQ)�”}”(hŒ``unsigned int cmd`` command ”h]”(jW)�”}”(hŒ``unsigned int cmd``”h]”j])�”}”(hj"h]”hŒunsigned int cmd”…”�”}”(hj�"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj}"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Möhjy"ubjs)�”}”(hhh]”j)�”}”(hŒcommand”h]”hŒcommand”…”�”}”(hj˜"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j”"h´Möhj•"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhjy"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j”"h´Möhj="ubjQ)�”}”(hŒ%``unsigned long arg`` ioctl argument ”h]”(jW)�”}”(hŒ``unsigned long arg``”h]”j])�”}”(hj¸"h]”hŒunsigned long arg”…”�”}”(hjº"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¶"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´M÷hj²"ubjs)�”}”(hhh]”j)�”}”(hŒioctl argument”h]”hŒioctl argument”…”�”}”(hjÑ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³jÍ"h´M÷hjÎ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhj²"ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³jÍ"h´M÷hj="ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jKhj!"ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hjó"h]”hŒ Description”…”�”}”(hjõ"h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjñ"ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Mùhj!"ubj)�”}”(hŒ›Perform non-line discipline specific mode control ioctls. This is designed to be called by line disciplines to ensure they provide consistent mode setting.”h]”hŒ›Perform non-line discipline specific mode control ioctls. This is designed to be called by line disciplines to ensure they provide consistent mode setting.”…”�”}”(hj #h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ_/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:7: ./drivers/tty/tty_ioctl.c”h´Møhj!"ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´NubhÞ)�”}”(hhh]”h}”(h]”h ]”h"]”h$]”h&]”Œentries”]”(hêŒtty_get_baud_rate (C function)”Œc.tty_get_baud_rate”hNt”auh1hÝhhÊh²hh³Nh´Nubhï)�”}”(hhh]”(hô)�”}”(hŒ8speed_t tty_get_baud_rate (const struct tty_struct *tty)”h]”hú)�”}”(hŒ7speed_t tty_get_baud_rate(const struct tty_struct *tty)”h]”(h)�”}”(hhh]”jE)�”}”(hŒspeed_t”h]”hŒspeed_t”…”�”}”(hj;#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj8#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”j=#Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”j¯)�”}”j¢Œtty_get_baud_rate”sbŒc.tty_get_baud_rate”†”asbuh1hhj4#h²hh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M³ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj]#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj4#h²hh³j\#h´M³ubj?)�”}”(hŒtty_get_baud_rate”h]”jE)�”}”(hjY#h]”hŒtty_get_baud_rate”…”�”}”(hjo#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjk#ubah}”(h]”h ]”(jXjYeh"]”h$]”h&]”hÅhÆuh1j>hj4#h²hh³j\#h´M³ubj^)�”}”(hŒ(const struct tty_struct *tty)”h]”jd)�”}”(hŒconst struct tty_struct *tty”h]”(jj)�”}”(hj_h]”hŒconst”…”�”}”(hjŠ#h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihj†#ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj—#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†#ubjj)�”}”(hjmh]”hŒstruct”…”�”}”(hj¥#h²hh³Nh´Nubah}”(h]”h ]”jvah"]”h$]”h&]”uh1jihj†#ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hj²#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†#ubh)�”}”(hhh]”jE)�”}”(hŒ tty_struct”h]”hŒ tty_struct”…”�”}”(hjÃ#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhjÀ#ubah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”j Œreftype”j¢Œ reftarget”jÅ#Œmodname”NŒ classname”Nj¦j©)�”}”j¬]”jW#Œc.tty_get_baud_rate”†”asbuh1hhj†#ubj)�”}”(hŒ ”h]”hŒ ”…”�”}”(hjá#h²hh³Nh´Nubah}”(h]”h ]”jah"]”h$]”h&]”uh1jhj†#ubjÃ)�”}”(hjÆh]”hŒ*”…”�”}”(hjï#h²hh³Nh´Nubah}”(h]”h ]”jÏah"]”h$]”h&]”uh1jÂhj†#ubjE)�”}”(hŒtty”h]”hŒtty”…”�”}”(hjü#h²hh³Nh´Nubah}”(h]”h ]”jQah"]”h$]”h&]”uh1jDhj†#ubeh}”(h]”h ]”h"]”h$]”h&]”Œnoemph”ˆhÅhÆuh1jchj‚#ubah}”(h]”h ]”h"]”h$]”h&]”hÅhÆuh1j]hj4#h²hh³j\#h´M³ubeh}”(h]”h ]”h"]”h$]”h&]”hÅhÆjôˆuh1hùjõjöhj0#h²hh³j\#h´M³ubah}”(h]”j+#ah ]”(jújûeh"]”h$]”h&]”jÿˆj)jhuh1hóh³j\#h´M³hj-#h²hubj)�”}”(hhh]”j)�”}”(hŒget tty bit rates”h]”hŒget tty bit rates”…”�”}”(hj&$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M³hj#$h²hubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj-#h²hh³j\#h´M³ubeh}”(h]”h ]”(j Œfunction”eh"]”h$]”h&]”j%j j&j>$j'j>$j(‰j)‰j*‰uh1hîh²hhhÊh³Nh´Nubj,)�”}”(hŒÂ**Parameters** ``const struct tty_struct *tty`` tty to query **Return** the baud rate as an integer for this terminal **Description** Locking: The termios lock must be held by the caller.”h]”(j)�”}”(hŒ**Parameters**”h]”j6)�”}”(hjH$h]”hŒ Parameters”…”�”}”(hjJ$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjF$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M·hjB$ubjL)�”}”(hhh]”jQ)�”}”(hŒ.``const struct tty_struct *tty`` tty to query ”h]”(jW)�”}”(hŒ ``const struct tty_struct *tty``”h]”j])�”}”(hjg$h]”hŒconst struct tty_struct *tty”…”�”}”(hji$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hje$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jVh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M´hja$ubjs)�”}”(hhh]”j)�”}”(hŒ tty to query”h]”hŒ tty to query”…”�”}”(hj€$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³j|$h´M´hj}$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jrhja$ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPh³j|$h´M´hj^$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jKhjB$ubj)�”}”(hŒ **Return**”h]”j6)�”}”(hj¢$h]”hŒReturn”…”�”}”(hj¤$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hj $ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M¶hjB$ubj)�”}”(hŒ-the baud rate as an integer for this terminal”h]”hŒ-the baud rate as an integer for this terminal”…”�”}”(hj¸$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M¶hjB$ubj)�”}”(hŒ**Description**”h]”j6)�”}”(hjÉ$h]”hŒ Description”…”�”}”(hjË$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j5hjÇ$ubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M¸hjB$ubj)�”}”(hŒ5Locking: The termios lock must be held by the caller.”h]”hŒ5Locking: The termios lock must be held by the caller.”…”�”}”(hjß$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jh³Œ[/var/lib/git/docbuild/linux/Documentation/driver-api/tty/tty_ioctl:9: ./include/linux/tty.h”h´M·hjB$ubeh}”(h]”h ]”Œ kernelindent”ah"]”h$]”h&]”uh1j+hhÊh²hh³Nh´Nubeh}”(h]”Œtty-ioctl-helpers”ah ]”h"]”Œtty ioctl helpers”ah$]”h&]”uh1hÈhhh²hh³hÇh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÇuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hÍNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j %Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÇŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”jú$j÷$sŒ nametypes”}”jú$‰sh}”(j÷$hÊhìhõjÑjÖjnjsjïjôjºj¿j¸ j½ j£ j¨ j¡ j¦ j jjŸj¤j?jDj<jAj¦j«jžj£j/j4j– j› j+#j0#uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ decoration”Nh²hub.