1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- #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
- #define UBUS_SYSTEM_OBJECT_EVENT 1
- #define UBUS_SYSTEM_OBJECT_MAX 1024
- 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,
- UBUS_MSG_ADD_OBJECT,
- UBUS_MSG_REMOVE_OBJECT,
- /* 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_METHOD_NOT_FOUND,
- UBUS_STATUS_NOT_FOUND,
- UBUS_STATUS_NO_DATA,
- UBUS_STATUS_PERMISSION_DENIED,
- __UBUS_STATUS_LAST
- };
- #endif
|