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