X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd-bus%2Fbus-kernel.h;h=ed3f987ccda7af6ca14e6dcdc24fc8a4acf13164;hb=bc7fd8cdbef54ebd3902cdd455ecad3e095f7450;hp=ac746afe0373970fe7fd4f9f823ba6d4ad1c97c6;hpb=a3dc35472f3a48ea8445ad7a943e2ff253170417;p=elogind.git diff --git a/src/libsystemd-bus/bus-kernel.h b/src/libsystemd-bus/bus-kernel.h index ac746afe0..ed3f987cc 100644 --- a/src/libsystemd-bus/bus-kernel.h +++ b/src/libsystemd-bus/bus-kernel.h @@ -23,6 +23,15 @@ #include "sd-bus.h" +#define MEMFD_CACHE_MAX 32 +#define MEMFD_CACHE_ITEM_SIZE_MAX (128*1024) + +struct memfd_cache { + int fd; + void *address; + size_t size; +}; + int bus_kernel_connect(sd_bus *b); int bus_kernel_take_fd(sd_bus *b); @@ -30,3 +39,8 @@ int bus_kernel_write_message(sd_bus *bus, sd_bus_message *m); int bus_kernel_read_message(sd_bus *bus, sd_bus_message **m); int bus_kernel_create(const char *name, char **s); + +int bus_kernel_pop_memfd(sd_bus *bus, void **address, size_t *size); +void bus_kernel_push_memfd(sd_bus *bus, int fd, void *address, size_t size); + +void bus_kernel_flush_memfd(sd_bus *bus);