#include "ubusd.h"
-static struct avl_tree clients;
+struct avl_tree clients;
static struct ubus_msg_buf *ubus_msg_unshare(struct ubus_msg_buf *ub)
{
handle_client_disconnect(cl);
}
-struct ubus_client *ubusd_get_client_by_id(uint32_t id)
-{
- struct ubus_id *clid;
-
- clid = ubus_find_id(&clients, id);
- if (!clid)
- return NULL;
-
- return container_of(clid, struct ubus_client, id);
-}
-
static bool get_next_connection(int fd)
{
struct ubus_client *cl;
#define UBUS_OBJ_HASH_BITS 4
extern struct blob_buf b;
+extern struct avl_tree clients;
struct ubus_msg_buf {
uint32_t refcount; /* ~0: uses external data buffer */
struct ubus_msg_buf *ubus_msg_ref(struct ubus_msg_buf *ub);
void ubus_msg_free(struct ubus_msg_buf *ub);
-struct ubus_client *ubusd_get_client_by_id(uint32_t id);
-
void ubusd_receive_message(struct ubus_client *cl, struct ubus_msg_buf *ub);
bool ubusd_send_hello(struct ubus_client *cl);
return -1;
}
+static struct ubus_client *ubusd_get_client_by_id(uint32_t id)
+{
+ struct ubus_id *clid;
+
+ clid = ubus_find_id(&clients, id);
+ if (!clid)
+ return NULL;
+
+ return container_of(clid, struct ubus_client, id);
+}
+
static int ubusd_handle_response(struct ubus_client *cl, struct ubus_msg_buf *ub, struct blob_attr **attr)
{
struct ubus_object *obj;