Brooklyn/include/net/caif/caif_device.h
Scare Crowe 2a709f28fa Auto exploit mitigation feature
* 0day explit mitigation
* Memory corruption prevention
* Privilege escalation prevention
* Buffer over flow prevention
* File System corruption defense
* Thread escape prevention

This may very well be the most intensive inclusion to BrooklynR. This will not be part of an x86 suite nor it will be released as tool kit. The security core toolkit will remain part of kernel base.
2021-11-13 09:26:51 +05:00

56 lines
1.8 KiB
C

/*
* Copyright (C) ST-Ericsson AB 2010
* Author: Sjur Brendeland
* License terms: GNU General Public License (GPL) version 2
*/
#ifndef CAIF_DEVICE_H_
#define CAIF_DEVICE_H_
#include <linux/kernel.h>
#include <linux/net.h>
#include <linux/netdevice.h>
#include <linux/caif/caif_socket.h>
#include <net/caif/caif_device.h>
/**
* struct caif_dev_common - data shared between CAIF drivers and stack.
* @flowctrl: Flow Control callback function. This function is
* supplied by CAIF Core Stack and is used by CAIF
* Link Layer to send flow-stop to CAIF Core.
* The flow information will be distributed to all
* clients of CAIF.
*
* @link_select: Profile of device, either high-bandwidth or
* low-latency. This member is set by CAIF Link
* Layer Device in order to indicate if this device
* is a high bandwidth or low latency device.
*
* @use_frag: CAIF Frames may be fragmented.
* Is set by CAIF Link Layer in order to indicate if the
* interface receives fragmented frames that must be
* assembled by CAIF Core Layer.
*
* @use_fcs: Indicate if Frame CheckSum (fcs) is used.
* Is set if the physical interface is
* using Frame Checksum on the CAIF Frames.
*
* @use_stx: Indicate STart of frame eXtension (stx) in use.
* Is set if the CAIF Link Layer expects
* CAIF Frames to start with the STX byte.
*
* This structure is shared between the CAIF drivers and the CAIF stack.
* It is used by the device to register its behavior.
* CAIF Core layer must set the member flowctrl in order to supply
* CAIF Link Layer with the flow control function.
*
*/
struct caif_dev_common {
void (*flowctrl)(struct net_device *net, int on);
enum caif_link_selector link_select;
int use_frag;
int use_fcs;
int use_stx;
};
#endif /* CAIF_DEVICE_H_ */