|
|
|
/*
|
|
|
|
* Copyright (c) 1998 Sendmail, Inc. All rights reserved.
|
|
|
|
* Copyright (c) 1983, 1995-1997 Eric P. Allman. All rights reserved.
|
|
|
|
* Copyright (c) 1988, 1993
|
|
|
|
* The Regents of the University of California. All rights reserved.
|
|
|
|
*
|
|
|
|
* By using this file, you agree to the terms and conditions set
|
|
|
|
* forth in the LICENSE file which can be found at the top level of
|
|
|
|
* the sendmail distribution.
|
|
|
|
*
|
|
|
|
* A copy of the above mentioned LICENSE file can be found in
|
|
|
|
* LICENSE.setproctitle.
|
|
|
|
*
|
|
|
|
* Ported for use with KDE by Waldo Bastian <bastian@kde.org>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _SETPROCTITLE_H_
|
|
|
|
#define _SETPROCTITLE_H_
|
|
|
|
|
|
|
|
#ifdef __hpux
|
|
|
|
# define SPT_TYPE SPT_PSTAT
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef _AIX3
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef _AIX4
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef AIX /* AIX/RT compiler pre-defines this */
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef DGUX_5_4_2
|
|
|
|
# define DGUX 1
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef DGUX
|
|
|
|
# define SPT_TYPE SPT_NONE /* don't use setproctitle */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/*
|
|
|
|
** Apple Rhapsody
|
|
|
|
** Contributed by Wilfredo Sanchez <wsanchez@apple.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef __APPLE__
|
|
|
|
# define SPT_TYPE SPT_PSSTRINGS
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(BSD4_4) && !defined(__bsdi__) && !defined(__GNU__)
|
|
|
|
# define SPT_TYPE SPT_PSSTRINGS /* use PS_STRINGS pointer */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __bsdi__
|
|
|
|
# if defined(_BSDI_VERSION) && _BSDI_VERSION >= 199312
|
|
|
|
/* version 1.1 or later */
|
|
|
|
# undef SPT_TYPE
|
|
|
|
# define SPT_TYPE SPT_BUILTIN /* setproctitle is in libc */
|
|
|
|
# else
|
|
|
|
/* version 1.0 or earlier */
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(__QNX__)
|
|
|
|
# define SPT_TYPE SPT_REUSEARGV
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
|
|
|
|
# if defined(__NetBSD__) || defined(__DragonFly__)
|
|
|
|
# undef SPT_TYPE
|
|
|
|
# define SPT_TYPE SPT_BUILTIN /* setproctitle is in libc */
|
|
|
|
# endif
|
|
|
|
# if defined(__FreeBSD__)
|
|
|
|
# undef SPT_TYPE
|
|
|
|
# if __FreeBSD__ >= 2
|
|
|
|
# include <osreldate.h>
|
|
|
|
# if __FreeBSD_version >= 199512 /* 2.2-current when it appeared */
|
|
|
|
# include <sys/types.h>
|
|
|
|
# include <libutil.h>
|
|
|
|
# define SPT_TYPE SPT_BUILTIN
|
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
# ifndef SPT_TYPE
|
|
|
|
# define SPT_TYPE SPT_REUSEARGV
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
# if defined(__OpenBSD__)
|
|
|
|
# undef SPT_TYPE
|
|
|
|
# define SPT_TYPE SPT_BUILTIN /* setproctitle is in libc */
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __GNU_HURD__
|
|
|
|
# define SPT_TYPE SPT_CHANGEARGV
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* SCO UNIX 3.2v4.2/Open Desktop 3.0 */
|
|
|
|
#ifdef _SCO_unix_4_2
|
|
|
|
# define _SCO_unix_
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* SCO UNIX 3.2v4.0 Open Desktop 2.0 and earlier */
|
|
|
|
#ifdef _SCO_unix_
|
|
|
|
# define SPT_TYPE SPT_SCO /* write kernel u. area */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __linux__
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef _SEQUENT_
|
|
|
|
# define SPT_TYPE SPT_NONE /* don't use setproctitle */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef apollo
|
|
|
|
# define SPT_TYPE SPT_NONE /* don't use setproctitle */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef __svr5__
|
|
|
|
# define SPT_PADCHAR '\0' /* pad process title with nulls */
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef NCR_MP_RAS2
|
|
|
|
# define SPT_TYPE SPT_NONE
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef NCR_MP_RAS3
|
|
|
|
# define SPT_TYPE SPT_NONE
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef sony_news
|
|
|
|
# ifndef __svr4
|
|
|
|
# ifndef SPT_TYPE
|
|
|
|
# define SPT_TYPE SPT_SYSMIPS /* use sysmips() (OS 6.0.2 or later) */
|
|
|
|
# endif
|
|
|
|
# endif
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
extern void tdeinit_initsetproctitle(int, char **, char **);
|
|
|
|
extern void tdeinit_setproctitle(const char *, ...)
|
|
|
|
#ifdef __GNUC__
|
|
|
|
__attribute__ (( format ( printf, 1, 2 ) ) )
|
|
|
|
#endif
|
|
|
|
;
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|