From 379708307921a5bab2867c80326099383154bd9f Mon Sep 17 00:00:00 2001
From: zhangmeng <775834166@qq.com>
Date: 星期四, 04 二月 2021 15:53:16 +0800
Subject: [PATCH] add recvandsend interface

---
 libcbhomebus_func.h |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/libcbhomebus_func.h b/libcbhomebus_func.h
index 0479a28..a986a0c 100644
--- a/libcbhomebus_func.h
+++ b/libcbhomebus_func.h
@@ -121,6 +121,50 @@
 typedef int (*tfn_net_mod_socket_sendandrecv_nowait)(void *_sockt, net_node_t *node_arr, int arrlen, void *send_buf, int send_size,
   net_mod_recv_msg_t ** recv_arr, int *recv_arr_size) ;
 
+/**
+ * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屼竴鐩寸瓑寰呭畬鎴�
+ *
+ * @param recvbuf 鎺ュ彈鍒扮殑娑堟伅瀛樻斁鐨勭紦瀛樺湴鍧�锛岃buf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀�
+ * @param recvsize 鎺ュ彈鍒版秷鎭殑闀垮害
+ * @param key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
+ * @callback  void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
+ *            sendbuf 鍜� sendsize鏄痗allbak_fn鍥炶皟鍑芥暟鐨勮繑鍥炲��, 鍒嗗埆琛ㄧず杩斿洖鐨勬暟鎹紝鍜岃繑鍥炴暟鎹殑闀垮害銆�
+ *
+ * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
+ */
+typedef  void(*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data);
+typedef int (*tfn_net_mod_socket_recvandsend)(void *_socket, recvandsend_callback_fn callback, void *user_data);
+
+/**
+ * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屽湪鎸囧畾鐨勬椂闂村唴鍗充娇娌℃湁瀹屾垚涔熻繑鍥�
+ *
+ * @param recvbuf 鎺ュ彈鍒扮殑娑堟伅瀛樻斁鐨勭紦瀛樺湴鍧�锛岃buf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀�
+ * @param recvsize 鎺ュ彈鍒版秷鎭殑闀垮害
+ * @param key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
+ * @callback  void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
+ *            sendbuf 鍜� sendsize鏄痗allbak_fn鍥炶皟鍑芥暟鐨勮繑鍥炲��, 鍒嗗埆琛ㄧず杩斿洖鐨勬暟鎹紝鍜岃繑鍥炴暟鎹殑闀垮害銆�
+ *
+ * @param sec 绉�
+ * @param nsec 绾崇
+ *
+ * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
+ */
+typedef int (*tfn_net_mod_socket_recvandsend_timeout)(void *_socket, recvandsend_callback_fn callback,
+                                      int sec, int nsec, void *user_data) ;
+
+
+/**
+ * @brief 鎺ュ彈娑堟伅锛屽苟鎶奵allback鍑芥暟杩斿洖鐨勬暟鎹彂閫佸洖瀵规柟锛屾棤璁烘垚鍔熶笌鍚︾珛鍒昏繑鍥�
+ *
+ * @param recvbuf 鎺ュ彈鍒扮殑娑堟伅瀛樻斁鐨勭紦瀛樺湴鍧�锛岃buf浣跨敤瀹屾垚鍚庨渶瑕佹墜鍔ㄩ噴鏀�
+ * @param recvsize 鎺ュ彈鍒版秷鎭殑闀垮害
+ * @param key 浠庤皝鍝噷鏀跺埌鐨勪俊鎭�
+ * @callback  void (*recvandsend_callback_fn)(void *recvbuf, int recvsize, int key, void **sendbuf, int *sendsize, void * user_data)
+ *            sendbuf 鍜� sendsize鏄痗allbak_fn鍥炶皟鍑芥暟鐨勮繑鍥炲��, 鍒嗗埆琛ㄧず杩斿洖鐨勬暟鎹紝鍜岃繑鍥炴暟鎹殑闀垮害銆�
+ *
+ * @return 0鏄垚鍔燂紝 鍏朵粬鍊兼槸澶辫触鐨勯敊璇爜
+ */
+typedef int (*tfn_net_mod_socket_recvandsend_nowait)(void *_socket, recvandsend_callback_fn callback, void *user_data) ;
 
 /**
  * 鍚姩bus

--
Gitblit v1.8.0