-static void bus_kernel_translate_policy(const BusNamePolicy *policy, struct kdbus_item *item)
-{
- switch (policy->type) {
- case BUSNAME_POLICY_TYPE_USER:
- item->policy_access.type = KDBUS_POLICY_ACCESS_USER;
- item->policy_access.id = policy->uid;
- break;
-
- case BUSNAME_POLICY_TYPE_GROUP:
- item->policy_access.type = KDBUS_POLICY_ACCESS_GROUP;
- item->policy_access.id = policy->gid;
- break;
-
- case BUSNAME_POLICY_TYPE_WORLD:
- item->policy_access.type = KDBUS_POLICY_ACCESS_WORLD;
- break;
-
- default:
- assert_not_reached("Unknown policy type");
- }
-
- switch (policy->access) {
- case BUSNAME_POLICY_ACCESS_SEE:
- item->policy_access.access = KDBUS_POLICY_SEE;
- break;
-
- case BUSNAME_POLICY_ACCESS_TALK:
- item->policy_access.access = KDBUS_POLICY_TALK;
- break;
-
- case BUSNAME_POLICY_ACCESS_OWN:
- item->policy_access.access = KDBUS_POLICY_OWN;
- break;
-
- default:
- assert_not_reached("Unknown policy access");
- }
-}
-
-int bus_kernel_create_starter(const char *bus, const char *name, bool accept_fd, BusNamePolicy *policy) {
- struct kdbus_cmd_hello *hello;
- struct kdbus_item *n;
- size_t policy_cnt = 0;
- BusNamePolicy *po;
- size_t size;