linux/include/uapi/linux/rxrpc.h

/* SPDX-License-Identifier: GPL-2.0-or-later WITH Linux-syscall-note */
/* Types and definitions for AF_RXRPC.
 *
 * Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
 * Written by David Howells ([email protected])
 */

#ifndef _UAPI_LINUX_RXRPC_H
#define _UAPI_LINUX_RXRPC_H

#include <linux/types.h>
#include <linux/in.h>
#include <linux/in6.h>

/*
 * RxRPC socket address
 */
struct sockaddr_rxrpc {};

/*
 * RxRPC socket options
 */
#define RXRPC_SECURITY_KEY
#define RXRPC_SECURITY_KEYRING
#define RXRPC_EXCLUSIVE_CONNECTION
#define RXRPC_MIN_SECURITY_LEVEL
#define RXRPC_UPGRADEABLE_SERVICE
#define RXRPC_SUPPORTED_CMSG

/*
 * RxRPC control messages
 * - If neither abort or accept are specified, the message is a data message.
 * - terminal messages mean that a user call ID tag can be recycled
 * - s/r/- indicate whether these are applicable to sendmsg() and/or recvmsg()
 */
enum rxrpc_cmsg_type {};

/*
 * RxRPC security levels
 */
#define RXRPC_SECURITY_PLAIN
#define RXRPC_SECURITY_AUTH
#define RXRPC_SECURITY_ENCRYPT

/*
 * RxRPC security indices
 */
#define RXRPC_SECURITY_NONE
#define RXRPC_SECURITY_RXKAD
#define RXRPC_SECURITY_RXGK
#define RXRPC_SECURITY_RXK5

/*
 * RxRPC-level abort codes
 */
#define RX_CALL_DEAD
#define RX_INVALID_OPERATION
#define RX_CALL_TIMEOUT
#define RX_EOF
#define RX_PROTOCOL_ERROR
#define RX_USER_ABORT
#define RX_ADDRINUSE
#define RX_DEBUGI_BADTYPE

/*
 * (un)marshalling abort codes (rxgen)
 */
#define RXGEN_CC_MARSHAL
#define RXGEN_CC_UNMARSHAL
#define RXGEN_SS_MARSHAL
#define RXGEN_SS_UNMARSHAL
#define RXGEN_DECODE
#define RXGEN_OPCODE
#define RXGEN_SS_XDRFREE
#define RXGEN_CC_XDRFREE

/*
 * Rx kerberos security abort codes
 * - unfortunately we have no generalised security abort codes to say things
 *   like "unsupported security", so we have to use these instead and hope the
 *   other side understands
 */
#define RXKADINCONSISTENCY
#define RXKADPACKETSHORT
#define RXKADLEVELFAIL
#define RXKADTICKETLEN
#define RXKADOUTOFSEQUENCE
#define RXKADNOAUTH
#define RXKADBADKEY
#define RXKADBADTICKET
#define RXKADUNKNOWNKEY
#define RXKADEXPIRED
#define RXKADSEALEDINCON
#define RXKADDATALEN
#define RXKADILLEGALLEVEL

#endif /* _UAPI_LINUX_RXRPC_H */