cc [flags…] –I /usr/cluster/include file –L /usr/cluster/lib –l dsdev#include <rgm/libdsdev.h> scha_err_t scds_fm_tcp_read(scds_handle_t handle, int sock, char *buffer, size_t *size, time_t timeout);
scds_fm_tcp_read() 函数可从受监视进程与 TCP 的连接读取数据。
size 参数是输入/输出参数。输入时,请指定缓冲区的大小(字节)。完成时,该函数会将数据放置在 buffer 中并指定 size 中读取的实际字节数。如果缓冲区大小不足以存放所读取的字节数,该函数将返回 size 字节的完整缓冲区,您可以为后面的数据再次调用该函数。
如果该函数超时,它会返回 SCHA_ERR_TIMEOUT。在这种情况下,该函数返回的字节数可能会少于请求值,如 size 中返回的值所示。
支持以下参数:
从 scds_initialize(3HA) 返回的句柄。
上一 scds_fm_tcp_connect(3HA) 调用返回的插槽编号。
数据缓冲区。
数据缓冲区大小。输入时,请指定缓冲区的大小(字节)。输出时,该函数将返回实际读取的字节数。
超时值(秒)。
scds_fm_tcp_read() 函数返回以下值:
该函数成功。
该函数失败。
表明函数执行成功。
表明函数超时。
表明函数失败。有关失败代码的含义,请参见 scha_calls(3HA)。
头文件
库
有关下列属性的说明,请参见 attributes(5):
|
scds_fm_tcp_disconnect(3HA), scds_fm_tcp_write(3HA), scds_initialize(3HA), scha_calls(3HA), attributes(5)