bus-kernel.h revision bb19cb17076bbec942ad08f94d41ba36b28a5a13
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering This file is part of systemd.
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering Copyright 2013 Lennart Poettering
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering systemd is free software; you can redistribute it and/or modify it
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering under the terms of the GNU Lesser General Public License as published by
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering the Free Software Foundation; either version 2.1 of the License, or
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering (at your option) any later version.
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering systemd is distributed in the hope that it will be useful, but
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering WITHOUT ANY WARRANTY; without even the implied warranty of
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering Lesser General Public License for more details.
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering You should have received a copy of the GNU Lesser General Public License
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering along with systemd; If not, see <http://www.gnu.org/licenses/>.
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering (typeof(item))(((uint8_t *)item) + ALIGN8((item)->size))
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering#define KDBUS_ITEM_FOREACH(part, head, first) \
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering ((uint8_t *)(part) < (uint8_t *)(head) + (head)->size) && \
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering ((uint8_t *) part >= (uint8_t *) head); \
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering#define KDBUS_ITEM_HEADER_SIZE offsetof(struct kdbus_item, data)
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering#define KDBUS_ITEM_SIZE(s) ALIGN8((s) + KDBUS_ITEM_HEADER_SIZE)
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering/* When we cache a memfd block for reuse, we will truncate blocks
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering * longer than this in order not to keep too much data around. */
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering#define MEMFD_CACHE_ITEM_SIZE_MAX (128*1024)
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering/* This determines at which minimum size we prefer sending memfds over
a016b9228f338cb9b380ce7e00826ef462767d98Lennart Poettering * sending vectors */
4ad490007b70e6ac18d3cb04fa2ed92eba1451faLennart Poettering/* The size of the per-connection memory pool that we set up and where
4ad490007b70e6ac18d3cb04fa2ed92eba1451faLennart Poettering * the kernel places our incoming messages */
int bus_kernel_make_starter(int fd, const char *name, bool activating, bool accept_fd, BusNamePolicy *policy, BusNamePolicyAccess world_policy);