diff options
author | Felix Fietkau <nbd@openwrt.org> | 2010-12-06 03:51:58 +0100 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-01-30 14:16:09 +0100 |
commit | dbd4c2f121be08e514828f2533687b145a6e16dd (patch) | |
tree | a0d6c73d6d1d4f6157b607f0f236f441700d7639 /ubusmsg.h | |
download | ubus-dbd4c2f121be08e514828f2533687b145a6e16dd.tar.gz |
Initial import
Diffstat (limited to 'ubusmsg.h')
-rw-r--r-- | ubusmsg.h | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/ubusmsg.h b/ubusmsg.h new file mode 100644 index 0000000..e62a393 --- /dev/null +++ b/ubusmsg.h @@ -0,0 +1,72 @@ +#ifndef __UBUSMSG_H +#define __UBUSMSG_H + +#include <stdint.h> +#include <libubox/blob.h> + +#define __packetdata __attribute__((packed)) __attribute__((__aligned__(4))) + +#define UBUS_MAX_MSGLEN 65535 + +struct ubus_msghdr { + uint8_t version; + uint8_t type; + uint16_t seq; + uint32_t peer; + struct blob_attr data[]; +} __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, + + /* publish an object */ + UBUS_MSG_PUBLISH, + + /* 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, + + /* must be last */ + UBUS_ATTR_MAX, +}; + +enum ubus_msg_status { + UBUS_STATUS_OK, + UBUS_STATUS_INVALID_COMMAND, + UBUS_STATUS_INVALID_ARGUMENT, + UBUS_STATUS_NOT_FOUND, + UBUS_STATUS_NO_DATA, + __UBUS_STATUS_LAST +}; + +#endif |