ubus 数据包格式

原始数据头

    struct {
        struct ubus_msghdr hdr;
        struct blob_attr data;
    } hdrbuf;

枚举

struct ubus_msghdr {
    uint8_t version;
    uint8_t type;
    uint16_t seq;
    uint32_t peer;
} __packetdata;

enum ubus_msg_type {
    /* initial server message */
    UBUS_MSG_HELLO,

    /* generic command response */
    UBUS_MSG_STATUS,

    /* data message response */
    UBUS_MSG_DATA,

    /* ping request */
    UBUS_MSG_PING,

    /* look up one or more objects */
    UBUS_MSG_LOOKUP,

    /* invoke a method on a single object */
    UBUS_MSG_INVOKE,

    UBUS_MSG_ADD_OBJECT,
    UBUS_MSG_REMOVE_OBJECT,

    /*
     * subscribe/unsubscribe to object notifications
     * The unsubscribe message is sent from ubusd when
     * the object disappears
     */
    UBUS_MSG_SUBSCRIBE,
    UBUS_MSG_UNSUBSCRIBE,

    /*
     * send a notification to all subscribers of an object.
     * when sent from the server, it indicates a subscription
     * status change
     */
    UBUS_MSG_NOTIFY,

    /* must be last */
    __UBUS_MSG_LAST,
};

enum ubus_msg_attr {
    UBUS_ATTR_UNSPEC,

    UBUS_ATTR_STATUS,

    UBUS_ATTR_OBJPATH,
    UBUS_ATTR_OBJID,
    UBUS_ATTR_METHOD,

    UBUS_ATTR_OBJTYPE,
    UBUS_ATTR_SIGNATURE,

    UBUS_ATTR_DATA,
    UBUS_ATTR_TARGET,

    UBUS_ATTR_ACTIVE,
    UBUS_ATTR_NO_REPLY,

    UBUS_ATTR_SUBSCRIBERS,

    /* must be last */
    UBUS_ATTR_MAX,
};

enum ubus_msg_status {
    UBUS_STATUS_OK,
    UBUS_STATUS_INVALID_COMMAND,
    UBUS_STATUS_INVALID_ARGUMENT,
    UBUS_STATUS_METHOD_NOT_FOUND,
    UBUS_STATUS_NOT_FOUND,
    UBUS_STATUS_NO_DATA,
    UBUS_STATUS_PERMISSION_DENIED,
    UBUS_STATUS_TIMEOUT,
    UBUS_STATUS_NOT_SUPPORTED,
    UBUS_STATUS_UNKNOWN_ERROR,
    UBUS_STATUS_CONNECTION_FAILED,
    __UBUS_STATUS_LAST
};
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值