2 terminatorX - realtime audio scratching software
3 Copyright (C) 1999-2003 Alexander König
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 File: tX_capabilities.cc
21 Description: Aquire CAP_SYS_NICE through Linux' capabilities.
24 #include "tX_capabilities.h"
25 #include "tX_global.h"
29 #ifdef USE_CAPABILITIES
31 bool have_nice_capability()
39 tX_error("have_nice_capability(): failed to get caps: %s.", strerror(errno));
43 cap_get_flag(caps, CAP_SYS_NICE, CAP_EFFECTIVE, &cap);
52 void set_nice_capability(cap_flag_t cap_flag) {
54 const unsigned caps_size = 1;
55 cap_value_t cap_list[] = { CAP_SYS_NICE };
60 tX_error("set_capabilities(): failed to get caps: %s.", strerror(errno));
64 cap_set_flag(caps, cap_flag, caps_size, cap_list , CAP_SET);
66 if (cap_set_proc(caps)) {
67 tX_error("set_capabilities(): failed to set caps: %s.", strerror(errno));
71 #endif // USE_CAPABILITIES