cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

thermal_nl.h (1207B)


      1/* SPDX-License-Identifier: LGPL-2.1+ */
      2/* Copyright (C) 2022, Linaro Ltd - Daniel Lezcano <daniel.lezcano@linaro.org> */
      3#ifndef __THERMAL_H
      4#define __THERMAL_H
      5
      6#include <netlink/netlink.h>
      7#include <netlink/genl/genl.h>
      8#include <netlink/genl/mngt.h>
      9#include <netlink/genl/ctrl.h>
     10
     11struct thermal_handler {
     12	int done;
     13	int error;
     14	struct thermal_ops *ops;
     15	struct nl_msg *msg;
     16	struct nl_sock *sk_event;
     17	struct nl_sock *sk_sampling;
     18	struct nl_sock *sk_cmd;
     19	struct nl_cb *cb_cmd;
     20	struct nl_cb *cb_event;
     21	struct nl_cb *cb_sampling;
     22};
     23
     24struct thermal_handler_param {
     25	struct thermal_handler *th;
     26	void *arg;
     27};
     28
     29/*
     30 * Low level netlink
     31 */
     32extern int nl_subscribe_thermal(struct nl_sock *nl_sock, struct nl_cb *nl_cb,
     33				const char *group);
     34
     35extern int nl_unsubscribe_thermal(struct nl_sock *nl_sock, struct nl_cb *nl_cb,
     36				  const char *group);
     37
     38extern int nl_thermal_connect(struct nl_sock **nl_sock, struct nl_cb **nl_cb);
     39
     40extern void nl_thermal_disconnect(struct nl_sock *nl_sock, struct nl_cb *nl_cb);
     41
     42extern int nl_send_msg(struct nl_sock *sock, struct nl_cb *nl_cb, struct nl_msg *msg,
     43		       int (*rx_handler)(struct nl_msg *, void *),
     44		       void *data);
     45
     46#endif /* __THERMAL_H */