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

mctp.h (1488B)


      1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
      2/*
      3 * Management Component Transport Protocol (MCTP)
      4 *
      5 * Copyright (c) 2021 Code Construct
      6 * Copyright (c) 2021 Google
      7 */
      8
      9#ifndef __UAPI_MCTP_H
     10#define __UAPI_MCTP_H
     11
     12#include <linux/types.h>
     13#include <linux/socket.h>
     14#include <linux/netdevice.h>
     15
     16typedef __u8			mctp_eid_t;
     17
     18struct mctp_addr {
     19	mctp_eid_t		s_addr;
     20};
     21
     22struct sockaddr_mctp {
     23	__kernel_sa_family_t	smctp_family;
     24	__u16			__smctp_pad0;
     25	unsigned int		smctp_network;
     26	struct mctp_addr	smctp_addr;
     27	__u8			smctp_type;
     28	__u8			smctp_tag;
     29	__u8			__smctp_pad1;
     30};
     31
     32struct sockaddr_mctp_ext {
     33	struct sockaddr_mctp	smctp_base;
     34	int			smctp_ifindex;
     35	__u8			smctp_halen;
     36	__u8			__smctp_pad0[3];
     37	__u8			smctp_haddr[MAX_ADDR_LEN];
     38};
     39
     40#define MCTP_NET_ANY		0x0
     41
     42#define MCTP_ADDR_NULL		0x00
     43#define MCTP_ADDR_ANY		0xff
     44
     45#define MCTP_TAG_MASK		0x07
     46#define MCTP_TAG_OWNER		0x08
     47#define MCTP_TAG_PREALLOC	0x10
     48
     49#define MCTP_OPT_ADDR_EXT	1
     50
     51#define SIOCMCTPALLOCTAG	(SIOCPROTOPRIVATE + 0)
     52#define SIOCMCTPDROPTAG		(SIOCPROTOPRIVATE + 1)
     53
     54struct mctp_ioc_tag_ctl {
     55	mctp_eid_t	peer_addr;
     56
     57	/* For SIOCMCTPALLOCTAG: must be passed as zero, kernel will
     58	 * populate with the allocated tag value. Returned tag value will
     59	 * always have TO and PREALLOC set.
     60	 *
     61	 * For SIOCMCTPDROPTAG: userspace provides tag value to drop, from
     62	 * a prior SIOCMCTPALLOCTAG call (and so must have TO and PREALLOC set).
     63	 */
     64	__u8		tag;
     65	__u16		flags;
     66};
     67
     68#endif /* __UAPI_MCTP_H */