I/O covers

Updated: April 19, 2023

The HA library also provides the following cover functions whose behavior is essentially the same as the original functions being covered, but augmented slightly where the connections are also HA-aware:

ha_open(), ha_open64()
Open a connection and attach it to the HA lib. These functions, in addition to calling the underlying open calls also make the connections HA-aware by calling ha_attach() automatically. As a result, using these calls is equivalent to calling open() or open64() and following that with a call to ha_attach().
ha_creat(), ha_creat64()
Create a connection and attach it to the HA lib. These functions, in addition to calling the underlying creat calls also make the connections HA-aware by calling ha_attach() automatically. As a result, using these calls is equivalent to calling creat() or creat64() and following that with a call to ha_attach().
ha_ConnectAttach(), ha_ConnectAttach_r()
Create a connection using ConnectAttach() and attach it to the HA lib. These functions, in addition to calling the underlying ConnectAttach calls also make the connections HA-aware by calling ha_attach() automatically. As a result, using these calls is equivalent to calling ConnectAttach() or ConnectAttach_r() and following that with a call to ha_attach().
ha_ConnectDetach(), ha_ConnectDetach_r()
Detach an attached fd, then close the connection using ConnectDetach(). These functions, in addition to calling the underlying ConnectDetach calls also make the connections HA-aware by calling ha_attach() automatically. As a result, using these calls is equivalent to calling ConnectDetach() or ConnectDetach_r() and following that with a call to ha_attach().
ha_fopen()
Open a file stream and attach it to the HA lib. This function, in addition to calling the underlying fopen() call also makes connections HA-aware by calling ha_attach() automatically. As a result, using this call is equivalent to calling fopen() and following that with a call to ha_attach().
ha_fclose()
Detach an attached HA fd for a file stream, then close it. This function, in addition to calling the underlying fclose() call also makes connections HA-aware by calling ha_attach() automatically. As a result, using this call is equivalent to calling fclose() and following that with a call to ha_attach().
ha_close()
Detach an attached HA fd, then close it. This function, in addition to calling the underlying close() call also makes connections HA-aware by calling ha_attach() automatically. As a result, using this call is equivalent to calling close() and following that with a call to ha_attach().
ha_dup()
Duplicate an HA connection. This function, in addition to calling the underlying dup() call also makes connections HA-aware by calling ha_attach() automatically. As a result, using this call is equivalent to calling dup() and following that with a call to ha_attach().