+/**
+ * struct kdbus_policy_access - policy access item
+ * @type: One of KDBUS_POLICY_ACCESS_* types
+ * @bits: Access to grant. One of KDBUS_POLICY_*
+ * @id: For KDBUS_POLICY_ACCESS_USER, the uid
+ * For KDBUS_POLICY_ACCESS_GROUP, the gid
+ */
+struct kdbus_policy_access {
+ __u64 type; /* USER, GROUP, WORLD */
+ __u64 bits; /* RECV, SEND, OWN */
+ __u64 id; /* uid, gid, 0 */
+};
+
+/*
+ * struct kdbus_policy - a policy to upload
+ * @size: The total size of the structure
+ * @type: KDBUS_POLICY_NAME or KDBUS_POLICY_ACCESS
+ * @name: The well-known name to grant access to,
+ * if @type is KDBUS_POLICY_NAME
+ * @access: The policy access details,
+ * if @type is KDBUS_POLICY_ACCESS
+ */
+struct kdbus_policy {
+ union {
+ struct kdbus_policy_access access;
+ char name[0];
+ };
+};
+