hvc_iucv_write(9)
π NAME π
hey bestie π welcome to the Kernel API Manual page for hvc_iucv_write(9). The short version is literally this: hvc_iucv_write β Receive IUCV message & write data to HVC buffer.
β¨ SYNOPSIS β¨
okay so here's the signature, and yes we are keeping every space and the ssize_t return type exactly as it was:
ssize_t hvc_iucv_write (struct hvc_iucv_private *priv , u8 *buf , size_t
count , int *has_more_data );
π ARGUMENTS π
privβ Pointer tostruct hvc_iucv_private. That's the private struct, your main character for this function.bufβ HVC buffer for writing received terminal data.countβ HVC buffer size.has_more_dataβ Pointer to anintvariable.
π¦ DESCRIPTION π¦
So here's the tea β: hvc_iucv_write picks up pending messages from the input queue and receives the message data, then writes that data to the buffer you passed as buf.
If the buffer size count is less than the data message size, the message is kept on the input queue, and has_more_data is set to 1. If all message data has been written, the message is removed from the input queue. periodt π
The function returns the number of bytes written to the terminal. It returns zero if there are no pending data messages available or if there is no established IUCV path. If the IUCV path has been severed, then -EPIPE is returned to cause a hang up β and that hang up is issued by the HVC layer.
π¨ okay but like, pay attention to this bit: -EPIPE is the return value that causes a hang up, and the HVC layer is the one issuing that hang up. No cap, that's the documented flow.
π SEE ALSO π
Kernel file: ./drivers/tty/hvc/hvc_iucv.c β and here's the whole squad, all of them, exactly as listed:
hvc_iucv_get_private(9)alloc_tty_buffer(9)destroy_tty_buffer(9)destroy_tty_buffer_list(9)hvc_iucv_get_chars(9)hvc_iucv_queue(9)hvc_iucv_send(9)hvc_iucv_sndbuf_work(9)hvc_iucv_put_chars(9)hvc_iucv_notifier_add(9)hvc_iucv_cleanup(9)tty_outqueue_empty(9)flush_sndbuf_sync(9)hvc_iucv_hangup(9)hvc_iucv_notifier_hangup(9)hvc_iucv_dtr_rts(9)hvc_iucv_notifier_del(9)hvc_iucv_filter_connreq(9)hvc_iucv_path_pending(9)hvc_iucv_path_severed(9)hvc_iucv_msg_pending(9)hvc_iucv_msg_complete(9)hvc_iucv_alloc(9)hvc_iucv_destroy(9)hvc_iucv_parse_filter(9)hvc_iucv_setup_filter(9)param_set_vmidfilter(9)param_get_vmidfilter(9)hvc_iucv_init(9)hvc_iucv_config(9)
that's a wrap, bestie ππ this page's source/version footer is ./drivers/tty/hvc, the date is October 2026, and the footer name is hvc_iucv_write(9). slay β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms