14b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin#include <errno.h>
24b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin
34b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levinextern int capget(int *, int *);
44b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levinextern int capset(int *, const int *);
54b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin
64b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levinint
74b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levinmain(void)
84b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin{
94b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	int unused[6];
104b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	const int data[] = { 2, 4, 0, 8, 16, 0 };
114b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	const int v3 = 0x20080522;
124b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	int head[] = { v3, 0 };
134b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin
144b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	if (capget(head, unused) || head[0] != v3 ||
154b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	    capset(head, data) == 0 || errno != EPERM)
164b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin		return 77;
174b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin
184b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin	return 0;
194b9c68b9a3a5297050985b2cbcb74752051edf98Dmitry V. Levin}
20