trace: use standard POSIX header for basename()
[project/procd.git] / container.h
1 /*
2 * Copyright (C) 2019 Paul Spooren <mail@aparcar.de>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License version 2.1
6 * as published by the Free Software Foundation
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14 #ifndef __CONTAINER_H
15 #define __CONTAINER_H
16
17 #include <stdlib.h>
18 #include <stdbool.h>
19 #include <sys/stat.h>
20
21 static inline bool is_container() {
22 struct stat s;
23 int r = stat("/.dockerenv", &s);
24 int pv_r = stat("/pantavisor", &s);
25 return !!getenv("container") || r == 0 || pv_r == 0;
26 }
27
28 #endif