1 /* 2 ** Zabbix 3 ** Copyright (C) 2001-2021 Zabbix SIA 4 ** 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. 9 ** 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. 14 ** 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 18 **/ 19 20 #ifndef ZABBIX_SETPROCTITLE_H 21 #define ZABBIX_SETPROCTITLE_H 22 23 #if defined(__linux__) /* Linux */ 24 # define PS_OVERWRITE_ARGV 25 #elif defined(_AIX) /* AIX */ 26 # define PS_OVERWRITE_ARGV 27 # define PS_CONCAT_ARGV 28 #elif defined(__sun) && defined(__SVR4) /* Solaris */ 29 # define PS_OVERWRITE_ARGV 30 # define PS_APPEND_ARGV 31 #elif defined(HAVE_SYS_PSTAT_H) /* HP-UX */ 32 # define PS_PSTAT_ARGV 33 #elif defined(__APPLE__) && defined(__MACH__) /* OS X */ 34 # include <TargetConditionals.h> 35 # if TARGET_OS_MAC == 1 && TARGET_OS_EMBEDDED == 0 && TARGET_OS_IPHONE == 0 && TARGET_IPHONE_SIMULATOR == 0 36 # define PS_OVERWRITE_ARGV 37 # define PS_DARWIN_ARGV 38 # endif 39 #endif 40 41 char **setproctitle_save_env(int argc, char **argv); 42 void setproctitle_set_status(const char *status); 43 void setproctitle_free_env(void); 44 45 #endif /* ZABBIX_SETPROCTITLE_H */ 46