summaryrefslogtreecommitdiff
path: root/include/uapi/linux/errqueue.h
blob: 07bdce1f444aa892c1c36abe10c87ab9d6003daa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifndef _UAPI_LINUX_ERRQUEUE_H
#define _UAPI_LINUX_ERRQUEUE_H

#include <linux/types.h>

struct sock_extended_err {
	__u32	ee_errno;	
	__u8	ee_origin;
	__u8	ee_type;
	__u8	ee_code;
	__u8	ee_pad;
	__u32   ee_info;
	__u32   ee_data;
};

#define SO_EE_ORIGIN_NONE	0
#define SO_EE_ORIGIN_LOCAL	1
#define SO_EE_ORIGIN_ICMP	2
#define SO_EE_ORIGIN_ICMP6	3
#define SO_EE_ORIGIN_TXSTATUS	4
#define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS

#define SO_EE_OFFENDER(ee)	((struct sockaddr*)((ee)+1))

/**
 *	struct scm_timestamping - timestamps exposed through cmsg
 *
 *	The timestamping interfaces SO_TIMESTAMPING, MSG_TSTAMP_*
 *	communicate network timestamps by passing this struct in a cmsg with
 *	recvmsg(). See Documentation/networking/timestamping.txt for details.
 */
struct scm_timestamping {
	struct timespec ts[3];
};

/* The type of scm_timestamping, passed in sock_extended_err ee_info.
 * This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0]
 * is zero, then this is a hardware timestamp and recorded in ts[2].
 */
enum {
	SCM_TSTAMP_SND,		/* driver passed skb to NIC, or HW */
	SCM_TSTAMP_SCHED,	/* data entered the packet scheduler */
	SCM_TSTAMP_ACK,		/* data acknowledged by peer */
};

#endif /* _UAPI_LINUX_ERRQUEUE_H */
/commit/arch/arm/configs/tegra_defconfig?id=25819408cdd8c019277d9b4906ac7345fc1817bd'>ARM: tegra: defconfig updatesStephen Warren 2013-06-12ARM: tegra: defconfig updatesStephen Warren 2013-05-20ARM: tegra: defconfig fixesAlexandre Courbot 2013-04-03ARM: tegra: defconfig updatesStephen Warren 2013-01-28ARM: tegra: defconfig updatesLaxman Dewangan 2012-11-15ARM: tegra: defconfig updatesStephen Warren 2012-10-07Merge tag 'defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/ar...Linus Torvalds 2012-09-17ARM: tegra: config: enable dmaengine based APB DMA driverLaxman Dewangan 2012-09-11ARM: tegra: defconfig updatesStephen Warren 2012-07-30Merge tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/...Linus Torvalds 2012-07-25ARM: tegra: defconfig: Enable tps6586x gpioLaxman Dewangan 2012-06-11ARM: tegra: defconfig updatesStephen Warren 2012-05-11ARM: tegra: update defconfigLaxman Dewangan 2012-04-27ARM: tegra: update defconfigStephen Warren 2012-03-07ARM: tegra: update defconfigStephen Warren 2011-12-19arm/tegra: refresh defconfig for tegra30Olof Johansson 2011-10-13ARM: tegra: update defconfigOlof Johansson 2011-03-15ARM: tegra: update defconfigMike Rapoport 2011-03-07ARM: tegra: enable new drivers in defconfigOlof Johansson