/* SPDX-License-Identifier: GPL-2.0 */

#pragma once

#include <stdint.h>
#include <stdbool.h>

/* there are no larger audit messages */
typedef uint8_t msg_buffer[3 * 4096];

int netlink_open(void);
int netlink_send(int fd, uint16_t type, const void *data, uint32_t size);
bool netlink_receive(int fd, msg_buffer *msg, bool noblock);
int netlink_request(int fd, uint16_t type, const void *data, uint32_t size, msg_buffer *reply);