From: Daniel Mack Date: Fri, 31 Oct 2014 08:03:16 +0000 (+0100) Subject: kdbus.h: Use #defines rather than an enum for ioctl definition X-Git-Tag: upstream/0.20141102.012929utc~5 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=f198a45e3242a4825e1e720c0637a151a6ef5e0d;p=platform%2Fcore%2Fsystem%2Fkdbus-bus.git kdbus.h: Use #defines rather than an enum for ioctl definition Arnd Bergmann writes: I think in general, using enum is great, but for ioctl command numbers, we probably want to have defines so the user space implementation can use #ifdef to see if the kernel version that it is being built for knows a particular command. [...] which might in fact help some tools that try to do automated parsing of header files to find ioctl commands. Signed-off-by: Daniel Mack --- diff --git a/kdbus.h b/kdbus.h index 2ebf405..55a93bf 100644 --- a/kdbus.h +++ b/kdbus.h @@ -819,100 +819,98 @@ struct kdbus_cmd_match { } __attribute__((aligned(8))); /** - * enum kdbus_ioctl_type - Ioctl API - * @KDBUS_CMD_BUS_MAKE: After opening the "control" device node, this + * Ioctl API + * KDBUS_CMD_BUS_MAKE: After opening the "control" device node, this * command creates a new bus with the specified * name. The bus is immediately shut down and * cleaned up when the opened "control" device node * is closed. - * @KDBUS_CMD_DOMAIN_MAKE: Similar to KDBUS_CMD_BUS_MAKE, but it creates a + * KDBUS_CMD_DOMAIN_MAKE: Similar to KDBUS_CMD_BUS_MAKE, but it creates a * new kdbus domain. - * @KDBUS_CMD_ENDPOINT_MAKE: Creates a new named special endpoint to talk to + * KDBUS_CMD_ENDPOINT_MAKE: Creates a new named special endpoint to talk to * the bus. Such endpoints usually carry a more * restrictive policy and grant restricted access * to specific applications. - * @KDBUS_CMD_HELLO: By opening the bus device node a connection is + * KDBUS_CMD_HELLO: By opening the bus device node a connection is * created. After a HELLO the opened connection * becomes an active peer on the bus. - * @KDBUS_CMD_BYEBYE: Disconnect a connection. If there are no + * KDBUS_CMD_BYEBYE: Disconnect a connection. If there are no * messages queued up in the connection's pool, * the call succeeds, and the handle is rendered * unusable. Otherwise, -EBUSY is returned without * any further side-effects. - * @KDBUS_CMD_MSG_SEND: Send a message and pass data from userspace to + * KDBUS_CMD_MSG_SEND: Send a message and pass data from userspace to * the kernel. - * @KDBUS_CMD_MSG_RECV: Receive a message from the kernel which is + * KDBUS_CMD_MSG_RECV: Receive a message from the kernel which is * placed in the receiver's pool. - * @KDBUS_CMD_MSG_CANCEL: Cancel a pending request of a message that + * KDBUS_CMD_MSG_CANCEL: Cancel a pending request of a message that * blocks while waiting for a reply. The parameter * denotes the cookie of the message in flight. - * @KDBUS_CMD_FREE: Release the allocated memory in the receiver's + * KDBUS_CMD_FREE: Release the allocated memory in the receiver's * pool. - * @KDBUS_CMD_NAME_ACQUIRE: Request a well-known bus name to associate with + * KDBUS_CMD_NAME_ACQUIRE: Request a well-known bus name to associate with * the connection. Well-known names are used to * address a peer on the bus. - * @KDBUS_CMD_NAME_RELEASE: Release a well-known name the connection + * KDBUS_CMD_NAME_RELEASE: Release a well-known name the connection * currently owns. - * @KDBUS_CMD_NAME_LIST: Retrieve the list of all currently registered + * KDBUS_CMD_NAME_LIST: Retrieve the list of all currently registered * well-known and unique names. - * @KDBUS_CMD_CONN_INFO: Retrieve credentials and properties of the + * KDBUS_CMD_CONN_INFO: Retrieve credentials and properties of the * initial creator of the connection. The data was * stored at registration time and does not * necessarily represent the connected process or * the actual state of the process. - * @KDBUS_CMD_CONN_UPDATE: Update the properties of a connection. Used to + * KDBUS_CMD_CONN_UPDATE: Update the properties of a connection. Used to * update the metadata subscription mask and * policy. - * @KDBUS_CMD_BUS_CREATOR_INFO: Retrieve information of the creator of the bus + * KDBUS_CMD_BUS_CREATOR_INFO: Retrieve information of the creator of the bus * a connection is attached to. - * @KDBUS_CMD_ENDPOINT_UPDATE: Update the properties of a custom enpoint. Used + * KDBUS_CMD_ENDPOINT_UPDATE: Update the properties of a custom enpoint. Used * to update the policy. - * @KDBUS_CMD_MATCH_ADD: Install a match which broadcast messages should + * KDBUS_CMD_MATCH_ADD: Install a match which broadcast messages should * be delivered to the connection. - * @KDBUS_CMD_MATCH_REMOVE: Remove a current match for broadcast messages. - */ -enum kdbus_ioctl_type { - KDBUS_CMD_BUS_MAKE = _IOW(KDBUS_IOCTL_MAGIC, 0x00, - struct kdbus_cmd_make), - KDBUS_CMD_DOMAIN_MAKE = _IOW(KDBUS_IOCTL_MAGIC, 0x10, - struct kdbus_cmd_make), - KDBUS_CMD_ENDPOINT_MAKE = _IOW(KDBUS_IOCTL_MAGIC, 0x20, - struct kdbus_cmd_make), - - KDBUS_CMD_HELLO = _IOWR(KDBUS_IOCTL_MAGIC, 0x30, - struct kdbus_cmd_hello), - KDBUS_CMD_BYEBYE = _IO(KDBUS_IOCTL_MAGIC, 0x31), - - KDBUS_CMD_MSG_SEND = _IOWR(KDBUS_IOCTL_MAGIC, 0x40, - struct kdbus_msg), - KDBUS_CMD_MSG_RECV = _IOWR(KDBUS_IOCTL_MAGIC, 0x41, - struct kdbus_cmd_recv), - KDBUS_CMD_MSG_CANCEL = _IOW(KDBUS_IOCTL_MAGIC, 0x42, - struct kdbus_cmd_cancel), - KDBUS_CMD_FREE = _IOW(KDBUS_IOCTL_MAGIC, 0x43, - struct kdbus_cmd_free), - - KDBUS_CMD_NAME_ACQUIRE = _IOWR(KDBUS_IOCTL_MAGIC, 0x50, - struct kdbus_cmd_name), - KDBUS_CMD_NAME_RELEASE = _IOW(KDBUS_IOCTL_MAGIC, 0x51, - struct kdbus_cmd_name), - KDBUS_CMD_NAME_LIST = _IOWR(KDBUS_IOCTL_MAGIC, 0x52, - struct kdbus_cmd_name_list), - - KDBUS_CMD_CONN_INFO = _IOWR(KDBUS_IOCTL_MAGIC, 0x60, - struct kdbus_cmd_info), - KDBUS_CMD_CONN_UPDATE = _IOW(KDBUS_IOCTL_MAGIC, 0x61, - struct kdbus_cmd_update), - KDBUS_CMD_BUS_CREATOR_INFO = _IOWR(KDBUS_IOCTL_MAGIC, 0x62, - struct kdbus_cmd_info), - - KDBUS_CMD_ENDPOINT_UPDATE = _IOW(KDBUS_IOCTL_MAGIC, 0x71, - struct kdbus_cmd_update), - - KDBUS_CMD_MATCH_ADD = _IOW(KDBUS_IOCTL_MAGIC, 0x80, - struct kdbus_cmd_match), - KDBUS_CMD_MATCH_REMOVE = _IOW(KDBUS_IOCTL_MAGIC, 0x81, - struct kdbus_cmd_match), -}; + * KDBUS_CMD_MATCH_REMOVE: Remove a current match for broadcast messages. + */ +#define KDBUS_CMD_BUS_MAKE _IOW(KDBUS_IOCTL_MAGIC, 0x00, \ + struct kdbus_cmd_make) +#define KDBUS_CMD_DOMAIN_MAKE _IOW(KDBUS_IOCTL_MAGIC, 0x10, \ + struct kdbus_cmd_make) +#define KDBUS_CMD_ENDPOINT_MAKE _IOW(KDBUS_IOCTL_MAGIC, 0x20, \ + struct kdbus_cmd_make) + +#define KDBUS_CMD_HELLO _IOWR(KDBUS_IOCTL_MAGIC, 0x30, \ + struct kdbus_cmd_hello) +#define KDBUS_CMD_BYEBYE _IO(KDBUS_IOCTL_MAGIC, 0x31) \ + +#define KDBUS_CMD_MSG_SEND _IOWR(KDBUS_IOCTL_MAGIC, 0x40, \ + struct kdbus_msg) +#define KDBUS_CMD_MSG_RECV _IOWR(KDBUS_IOCTL_MAGIC, 0x41, \ + struct kdbus_cmd_recv) +#define KDBUS_CMD_MSG_CANCEL _IOW(KDBUS_IOCTL_MAGIC, 0x42, \ + struct kdbus_cmd_cancel) +#define KDBUS_CMD_FREE _IOW(KDBUS_IOCTL_MAGIC, 0x43, \ + struct kdbus_cmd_free) + +#define KDBUS_CMD_NAME_ACQUIRE _IOWR(KDBUS_IOCTL_MAGIC, 0x50, \ + struct kdbus_cmd_name) +#define KDBUS_CMD_NAME_RELEASE _IOW(KDBUS_IOCTL_MAGIC, 0x51, \ + struct kdbus_cmd_name) +#define KDBUS_CMD_NAME_LIST _IOWR(KDBUS_IOCTL_MAGIC, 0x52, \ + struct kdbus_cmd_name_list) + +#define KDBUS_CMD_CONN_INFO _IOWR(KDBUS_IOCTL_MAGIC, 0x60, \ + struct kdbus_cmd_info) +#define KDBUS_CMD_CONN_UPDATE _IOW(KDBUS_IOCTL_MAGIC, 0x61, \ + struct kdbus_cmd_update) +#define KDBUS_CMD_BUS_CREATOR_INFO _IOWR(KDBUS_IOCTL_MAGIC, 0x62, \ + struct kdbus_cmd_info) + +#define KDBUS_CMD_ENDPOINT_UPDATE _IOW(KDBUS_IOCTL_MAGIC, 0x71, \ + struct kdbus_cmd_update) + +#define KDBUS_CMD_MATCH_ADD _IOW(KDBUS_IOCTL_MAGIC, 0x80, \ + struct kdbus_cmd_match) +#define KDBUS_CMD_MATCH_REMOVE _IOW(KDBUS_IOCTL_MAGIC, 0x81, \ + struct kdbus_cmd_match) #endif /* _KDBUS_UAPI_H_ */